Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

MCApplication.h

Go to the documentation of this file.
00001 #ifndef MCAPPLICATION_H
00002 #define MCAPPLICATION_H
00003 
00004 #include <map>
00005 #include <TVirtualMCApplication.h>
00006 #include <TVirtualMCStack.h>
00007 #include <TLorentzVector.h>
00008 #include <TParticle.h>
00009 
00010 #include "Geometry/Geometry.h"
00011 #include "Geometry/PlaneGeo.h"
00012 #include "Geometry/CellGeo.h"
00013 #include "NOVAMC/MCStack.h"
00014 #include "EventDataModel/EventHandle.h"
00015 #include "Simulation/FLSHit.h"
00016 #include "Simulation/FLSHitList.h"
00017 #include "Simulation/Particle.h"
00018 #include "Simulation/ParticleList.h"
00019 
00020 class TVirtualMCStack;
00021 
00022 namespace novamc {
00023 
00024   class MCStack;
00025   class FLSHit;
00026   class Particlex;
00027 
00028   class MCApplication : public TVirtualMCApplication {
00029     
00030   public:
00031     
00032     MCApplication(const char* name, const char* title, short detId);
00033     virtual ~MCApplication();
00034     
00035     MCStack* GetStack() const { return fStack; }
00036     sim::ParticleList GetParticleList() { return fParticleList; };
00037     sim::FLSHitList   GetFLSHitList() { return fHitList; }
00038     
00039     virtual void ConstructGeometry();
00040     virtual void InitGeometry();
00041     virtual void GeneratePrimaries();
00042     virtual void BeginEvent();
00043     virtual void BeginPrimary();
00044     virtual void PreTrack();
00045     virtual void Stepping();
00046     virtual void PostTrack();
00047     virtual void FinishPrimary();
00048     virtual void FinishEvent();
00049     virtual void Field(const Double_t* x, Double_t* b) const;
00050 
00051     void SetInt(int i) { fInt = i; }
00052     
00053   private:
00054     
00055     MCStack*        fStack;
00056     sim::FLSHit     fFLSHit;
00057     geo::Geometry*  fGeo;
00058 
00059     std::map<int, sim::Particle> fParticleMap;
00060 
00061     unsigned int fInt;  //  Index of neutrino interaction (equivalent to "Event" in geant.)
00062 
00063     // Output
00064     sim::ParticleList   fParticleList;
00065     sim::FLSHitList     fHitList;
00066 
00067     Int_t nMedScintillator;
00068     Int_t nMedWLSFiber;
00069 
00070     short fGeantVer;
00071   };
00072 };
00073 
00074 #endif // MCAPPLICATION_H

Generated on Mon Dec 1 02:35:18 2008 for NOvA Offline by  doxygen 1.3.9.1