X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliRun.h;h=90248f70f22516623b75b1aa5a434999ac2bdfa4;hb=a453acbf7b6dabcd10a373b419ecdee8253e2529;hp=2a46688fe23a8ed41700e82724958b859edd7d52;hpb=995ad051fe6864e5fc2a0033946e4c238f5ea246;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliRun.h b/STEER/AliRun.h index 2a46688fe23..90248f70f22 100644 --- a/STEER/AliRun.h +++ b/STEER/AliRun.h @@ -11,52 +11,33 @@ // Containing pointers to data elements for AliRoot // -#include #include -class TGeometry; -class TParticle; class TRandom; -class TTree; #include "AliRunLoader.h" -class AliDisplay; class AliGenEventHeader; class AliGenerator; class AliHeader; -class AliLego; -class AliLegoGenerator; class AliMC; class AliMagF; class AliStack; -enum {kKeepBit=1, kDaughtersBit=2, kDoneBit=4}; class AliRun : public TNamed { + public: // Creators - distructors AliRun(); AliRun(const char *name, const char *title); - AliRun(const AliRun &arun); virtual ~AliRun(); - AliRun& operator = (const AliRun &arun) - {arun.Copy(*this); return (*this);} - virtual void Build(); - virtual void BuildSimpleGeometry(); - virtual void CleanDetectors(); TObjArray *Detectors() const {return fModules;} TObjArray *Modules() const {return fModules;} - AliDisplay *Display() const { return fDisplay;} - virtual AliMagF *Field() const {return fField;} - virtual void FinishRun(); void AddModule(AliModule* mod); Int_t GetEvNumber() const; - Int_t GetRunNumber() const {return fRun;} - void SetRunNumber(Int_t run) {fRun=run;} void SetEventNrInRun(Int_t event) {fEventNrInRun=event;} Int_t GetEventNrInRun() const {return fEventNrInRun;} - Int_t GetEventsPerRun() const {return fEventsPerRun;} Int_t GetNdets() const {return fNdets;} AliModule *GetModule(const char *name) const; AliDetector *GetDetector(const char *name) const; @@ -64,111 +45,57 @@ public: virtual const char *GetBaseFile() const {return fBaseFileName.Data();} virtual Int_t GetEvent(Int_t event); - virtual void SetEvent(Int_t event) {fEvent=event;} - virtual void SetConfigFunction(const char * config="Config();"); + virtual void SetConfigFunction(const char * config="Config();") + {fConfigFunction=config;} virtual const char *GetConfigFunction() const - {return fConfigFunction.Data();} - TGeometry *GetGeometry(); + {return fConfigFunction.Data();} virtual void SetGenEventHeader(AliGenEventHeader* header); AliMC* GetMCApp() const {return fMCApp;} virtual void Hits2Digits(const char *detector=0); virtual void Hits2SDigits(const char *detector=0) {Tree2Tree("S",detector);} virtual void SDigits2Digits(const char *detector=0) {Tree2Tree("D",detector);} virtual void Digits2Reco(const char *detector=0) {Tree2Tree("R",detector);} - virtual void InitMC(const char *setup="Config.C"); - virtual void Init(const char *setup="Config.C") {InitMC(setup);} Bool_t IsFolder() const {return kTRUE;} - virtual AliLego* Lego() const {return fLego;} Bool_t IsRootGeometry() const {return fIsRootGeometry;} void SetRootGeometry(Bool_t flag=kTRUE); const char* GetGeometryFileName() const {return fGeometryFileName.Data();} - void SetGeometryFileName(const char *name) {fGeometryFileName = name;} - virtual void ResetDigits(); - virtual void ResetSDigits(); - virtual void ResetPoints(); + void SetGeometryFromFile(const char *filename) { + SetRootGeometry(); + fGeometryFileName = filename; + } + void SetGeometryFromCDB(); + Bool_t IsGeomFromCDB() const {return fGeometryFromCDB;} + const char* GetTriggerDescriptor() const {return fTriggerDescriptor.Data();} + void SetTriggerDescriptor(const char *name) {fTriggerDescriptor = name;} virtual void SetBaseFile(const char *filename="galice.root"); - virtual void RunMC(Int_t nevent=1, const char *setup="Config.C"); - virtual void Run(Int_t nevent=1, const char *setup="Config.C") {RunMC(nevent,setup);} - virtual void RunLego(const char *setup="Config.C",Int_t nc1=60,Float_t c1min=2,Float_t c1max=178, - Int_t nc2=60,Float_t c2min=0,Float_t c2max=360,Float_t rmin=0, - Float_t rmax=430,Float_t zmax=10000, AliLegoGenerator* gener=NULL); - virtual Bool_t IsLegoRun() const {return (fLego!=0);} - virtual void RunReco(const char *detector=0, Int_t first = 0, Int_t last = 0); - virtual void SetDisplay(AliDisplay *display) {fDisplay = display;} - virtual void SetField(Int_t type=2, Int_t version=1, Float_t scale=1, Float_t maxField=10, const char* filename="$(ALICE_ROOT)/data/field01.dat"); - virtual void SetField(AliMagF* magField); - virtual TDatabasePDG* PDGDB() const {return fPDGDB;} - - virtual void Field(const Double_t* x, Double_t* b) const; - - // Delegations - virtual void ResetHits(); - virtual AliGenerator* Generator() const; - - - -// Added by Alberto Colla - - Bool_t IsFileAccessible(Char_t* name, EAccessMode mode = kFileExists); - static Bool_t IsFileAccessible(const char* fnam, EAccessMode mode = kFileExists); -// Added by Alberto Colla - // // End of MC Application - TTree *TreeE() {return (fRunLoader)?fRunLoader->TreeE():0x0;} - TTree *TreeK() {return (fRunLoader)?fRunLoader->TreeK():0x0;} - AliStack *Stack() {return (fRunLoader)?fRunLoader->Stack():0x0;} - AliHeader* GetHeader() {return (fRunLoader)?fRunLoader->GetHeader():0x0;} - - TTree *TreeD() const {MayNotUse("TreeD"); return 0x0;} - TTree *TreeS() const {MayNotUse("TreeS"); return 0x0;} - TTree *TreeR() const {MayNotUse("TreeR"); return 0x0;} - - void SetRunLoader(AliRunLoader* rloader); - AliRunLoader* GetRunLoader() const {return fRunLoader;} -// void SetEventFolderName(const char* eventfoldername); + virtual void Announce() const; virtual void InitLoaders(); //prepares run (i.e. creates getters) - static void Deprecated(TObject *obj, const char *method, const char *replace) - {// Indicates deprecated method - if (obj) ::Warning(Form("%s::%s", obj->ClassName(), method), - "method is depricated\nPlease use: %s", replace); - else ::Warning(method, "method is depricated\nPlease use: %s", replace); - } - - // Method to introduce the detector misliagnment - // It is called by AliSimulation - static Bool_t ApplyDisplacements(TClonesArray* AlObjArray); protected: virtual void Tree2Tree(Option_t *option, const char *detector=0); - Int_t fRun; //! Current run number - Int_t fEvent; //! Current event number (from 1) Int_t fEventNrInRun; //! Current unique event number in run - Int_t fEventsPerRun; // Number of events per run TObjArray *fModules; // List of Detectors - TGeometry *fGeometry; // Pointer to geometry AliMC *fMCApp; // Pointer to virtual MC Application - AliDisplay *fDisplay; //! Pointer to event display - AliMagF *fField; // Magnetic Field Map - TVirtualMC *fMC; //! Pointer to MonteCarlo object Int_t fNdets; // Number of detectors - Bool_t fInitDone; //! True when initialisation done - AliLego *fLego; //! Pointer to aliLego object if it exists - TDatabasePDG *fPDGDB; // Particle factory object TString fConfigFunction; // Configuration file to be executed TRandom *fRandom; // Pointer to the random number generator TString fBaseFileName; // Name of the base root file Bool_t fIsRootGeometry; //! Flag telling if the geometry is loaded from file + Bool_t fGeometryFromCDB; //! Flag telling if the geometry is to be loaded from OCDB TString fGeometryFileName; //! Name of the geometry file + TString fTriggerDescriptor; // Trigger descriptor identifier AliRunLoader *fRunLoader; //!run getter - written as a separate object private: - void Copy(TObject &arun) const; + AliRun(const AliRun&); // Not implemented + AliRun& operator = (const AliRun&); // Not implemented - ClassDef(AliRun,10) //Supervisor class for all Alice detectors + ClassDef(AliRun,13) //Supervisor class for all Alice detectors }; R__EXTERN AliRun *gAlice;