X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=STEER%2FAliRun.h;h=67fdcc660a42c69d71cde9d3a452104859db62c4;hp=d8b71cb514adc111a474c956498913b5fde87b92;hb=6c9704e64efc2ee0742b2b61c5c15415c500c7c6;hpb=8494b0106deea275f96e1666d9f7f4549ccc6d91 diff --git a/STEER/AliRun.h b/STEER/AliRun.h index d8b71cb514a..67fdcc660a4 100644 --- a/STEER/AliRun.h +++ b/STEER/AliRun.h @@ -6,13 +6,16 @@ #include #include #include -#include "AliModule.h" +#include + +#include "AliDetector.h" #include "AliHeader.h" #include "AliMagF.h" #include "AliMC.h" #include "AliGenerator.h" #include "AliLego.h" +enum {Keep_Bit=1, Daughters_Bit=2, Done_Bit=4}; class AliDisplay; @@ -31,22 +34,21 @@ protected: TTree *fTreeH; //Pointer to Tree for Hits TTree *fTreeE; //Pointer to Tree for Header TTree *fTreeR; //Pointer to Tree for Reconstructed Objects - TObjArray *fModules; //List of Detectors + TObjArray *fModules; //List of Detectors TClonesArray *fParticles; //Pointer to list of particles TGeometry *fGeometry; //Pointer to geometry AliDisplay *fDisplay; //Pointer to event display TStopwatch fTimer; //Timer object AliMagF *fField; //Magnetic Field Map AliMC *fMC; //pointer to MonteCarlo object - char fDnames[21][7];//Array of detector names TArrayI *fImedia; //Array of correspondence between media and detectors Int_t fNdets; //Number of detectors Float_t fTrRmax; //Maximum radius for tracking Float_t fTrZmax; //Maximu z for tracking AliGenerator *fGenerator; //Generator used in the MC - Int_t *fIdtmed; //Array to contain media numbers Bool_t fInitDone; //true when initialisation done AliLego *fLego; //pointer to aliLego object if it exists + TDatabasePDG *fPDGDB; //Particle factory object! public: // Creators - distructors @@ -79,6 +81,7 @@ public: void SetRunNumber(Int_t run) {fRun=run;} Int_t GetDebug() const {return fDebug;} AliModule *GetModule(const char *name); + AliDetector *GetDetector(const char *name); Int_t GetModuleID(const char *name); virtual Int_t GetEvent(Int_t event); TGeometry *GetGeometry(); @@ -107,7 +110,7 @@ public: virtual void SetDisplay(AliDisplay *display) {fDisplay = display;} virtual void StepManager(Int_t id) const; virtual void SetField(Int_t type=2, Int_t version=1, Float_t scale=1, Float_t maxField=10, char*filename="$(ALICE_ROOT)/data/field01.dat"); - virtual void SetTrack(Int_t done, Int_t parent, Int_t ipart, + virtual void SetTrack(Int_t done, Int_t parent, Int_t pdg, Float_t *pmom, Float_t *vpos, Float_t *polar, Float_t tof, const char *mecha, Int_t &ntr, Float_t weight=1); @@ -120,13 +123,13 @@ public: virtual AliGenerator* Generator() {return fGenerator;} virtual void SetGenerator(AliGenerator *generator); virtual void EnergySummary(); - virtual Int_t* Idtmed() {return fIdtmed;} + virtual const TDatabasePDG* PDGDB() const {return fPDGDB;} // Functions from GEOCAD //_______________________________________________________________________ - virtual void ReadEuclid(const char*, Int_t, const char*); - virtual void ReadEuclidMedia(const char*, Int_t); + virtual void ReadEuclid(const char*, const AliModule*, char*); + virtual void ReadEuclidMedia(const char*, const AliModule*); TTree *TreeD() {return fTreeD;} TTree *TreeE() {return fTreeE;} @@ -136,7 +139,7 @@ public: // --------------------------- commons ------------------------------------- - ClassDef(AliRun,1) //Supervisor class for all Alice detectors + ClassDef(AliRun,2) //Supervisor class for all Alice detectors }; EXTERN AliRun *gAlice;