X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliHeader.h;h=f4ec8e576c5d3026690ab83b2d91d313852e6bd7;hb=77638021bab55dfe630381e8f70b10734178e455;hp=352a77509ec031ebbaaa593ea46852e07fbba2fc;hpb=9e1a0ddb8feb3fb19ca04ee19673f48c265a8fe6;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliHeader.h b/STEER/AliHeader.h index 352a77509ec..f4ec8e576c5 100644 --- a/STEER/AliHeader.h +++ b/STEER/AliHeader.h @@ -5,18 +5,30 @@ /* $Id$ */ +//----------------------------------------------------------------------- +// Simulation event header class +// Collaborates with AliRun, AliStack, and AliGenReaderTreeK classes +// Many other classes depend on it +//----------------------------------------------------------------------- + #include -#include + class AliStack; class AliGenEventHeader; - +class AliDetectorEventHeader; +class TObjArray; + class AliHeader : public TObject { public: AliHeader(); + AliHeader(const AliHeader& head); AliHeader(Int_t run, Int_t event); - virtual ~AliHeader() {} + AliHeader(Int_t run, Int_t eventSerialNr, Int_t evNrInRun); + virtual ~AliHeader(); + virtual void Reset(Int_t run, Int_t event); + virtual void Reset(Int_t run, Int_t eventSerialNr, Int_t evNrInRun); virtual void SetRun(Int_t run) {fRun = run;} virtual Int_t GetRun() const {return fRun;} @@ -33,24 +45,40 @@ public: virtual void SetEvent(Int_t event) {fEvent = event;} virtual Int_t GetEvent() const {return fEvent;} + + virtual void SetEventNrInRun(Int_t event) {fEventNrInRun = event;} + virtual Int_t GetEventNrInRun() const {return fEventNrInRun;} + virtual AliStack* Stack() const; virtual void SetStack(AliStack* stack); virtual void SetGenEventHeader(AliGenEventHeader* header); virtual AliGenEventHeader* GenEventHeader() const; - virtual void Print(const char *opt=0); + virtual void AddDetectorEventHeader(AliDetectorEventHeader* header); + virtual AliDetectorEventHeader* GetDetectorEventHeader(const char *name) const; + + + virtual void Print(const char *opt=0) const; + + AliHeader& operator=(const AliHeader& head) + {head.Copy(*this); return *this;} protected: - Int_t fRun; //Run number - Int_t fNvertex; //Number of vertices - Int_t fNprimary; //Number of primary tracks - Int_t fNtrack; //Number of tracks - Int_t fEvent; //Event number - AliStack *fStack; //Pointer to stack - AliGenEventHeader* fGenHeader; //Event Header for Generator - - ClassDef(AliHeader,1) //Alice event header + + void Copy(TObject& head) const; + + Int_t fRun; //Run number + Int_t fNvertex; //Number of vertices + Int_t fNprimary; //Number of primary tracks + Int_t fNtrack; //Number of tracks + Int_t fEvent; //Event number (serial in the file) + Int_t fEventNrInRun; //Unique Event number within the run + AliStack *fStack; //Pointer to stack + AliGenEventHeader* fGenHeader; //Event Header for Generator + TObjArray* fDetHeaders; //Event Headers for detector specific information + + ClassDef(AliHeader,3) //Alice event header }; #endif