/*************************************************************************** event.hh - description ------------------- begin : Tue Mar 7 2000 copyright : (C) 2000 by Liuht email : liuht@particle.phys.ethz.ch ***************************************************************************/ #ifndef EVENT_HH #define EVENT_HH #include "STrack.h" #include "TObject.h" #include "TClonesArray.h" #include #include "ReenterFamily.h" class Event : public TObject { private: int RunID; int EventID; int fNtrack; int fNstrack; int CurrentSuperTrack; TClonesArray *fTracks; static TClonesArray *fgTracks; TClonesArray *fSTracks; static TClonesArray *fgSTracks; STrack st; ReenterFamily rf; public: Event(); Event(int,int); ~Event(); void AddTrack(int,int,int,double*,double*,int,int,int,double,double, double,double,const char*,const char*, const char*, const char*, const char* ,double*,double*); void SetRunID(int RI){RunID=RI;}; void SetEventID(int EI){EventID=EI;}; void Clear(Option_t *option =""); int GetRunID(){return RunID;}; int GetEventID(){return EventID;}; int GetNtrack(){return fNtrack;}; int GetNStrack(){return fNstrack;}; STrack* GetSTrack(int i ) const; STrack* GetAbsSTrack(int i) const{return (STrack*)(fSTracks->At(i));}; STrack* GetNext(); STrack* GetNext(int type); STrack* GetCurrentStrack(){return (STrack*)(fSTracks->At(CurrentSuperTrack));}; int GetParent(int ); int GetPreviousTrackID(); TClonesArray *GetTracks(){return fTracks;}; void FindSuperTracks(); void SetTracksForSuperTracks(){fSTracks->ForEach(STrack,SetTracks)(fTracks);}; void CalSuperTrackType(){fSTracks->ForEach(STrack,CalType)();}; void SetCurrent(int current){CurrentSuperTrack = current;}; void RemoveSuperTrack(); void ReSet(){CurrentSuperTrack=0;}; void Shrink(Event *pevent, int type =1) ; void Shrink(int type=1); void AddStrack(STrack* pstrack); virtual void Print(Option_t *option=""); void Print(int ); ClassDef(Event,6) }; #endif