JetEvent.h

Go to the documentation of this file.
00001 #ifndef ROOT_JetEvent
00002 #define ROOT_JetEvent
00003 
00004 //////////////////////////////////////////////////////////////////////////
00005 //                                                                      //
00006 // JetEvent                                                             //
00007 //                                                                      //
00008 // Description of the event and track parameters                        //
00009 //                                                                      //
00010 //////////////////////////////////////////////////////////////////////////
00011 
00012 #include "TClonesArray.h"
00013 #include "TRefArray.h"
00014 #include "TVector3.h"
00015 
00016 class Hit : public TObject {
00017 
00018 public:
00019    Float_t      fX;           //X of hit
00020    Float_t      fY;           //Y of hit
00021    Float_t      fZ;           //Z of hit
00022 
00023 public:
00024    Hit() { }
00025    virtual ~Hit() { }
00026    
00027    ClassDef(Hit,1)  //A track hit
00028 };
00029 
00030 class Track : public TObject {
00031 
00032 public:
00033    Float_t      fPx;           //X component of the momentum
00034    Float_t      fPy;           //Y component of the momentum
00035    Float_t      fPz;           //Z component of the momentum
00036    Int_t        fNhit;         //Number of hits for this track
00037    TRefArray    fHits;         //List of Hits for this track
00038 
00039 public:
00040    Track() { }
00041    virtual ~Track() { }
00042    Int_t         GetNhit() const { return fNhit; }
00043    TRefArray   &GetHits()  {return fHits; }
00044    
00045    ClassDef(Track,1)  //A track segment
00046 };
00047 
00048 
00049 class Jet : public TObject {
00050 
00051 public:
00052    Double_t   fPt;       //Pt of jet
00053    Double_t   fPhi;      //Phi of jet
00054    TRefArray  fTracks;   //List of tracks in the jet
00055 
00056 public:
00057    Jet() { }
00058    virtual ~Jet(){ }
00059    TRefArray   &GetTracks() {return fTracks; }
00060 
00061    ClassDef(Jet,1)  //Jet class
00062 };
00063 
00064 class JetEvent : public TObject {
00065 
00066 private:
00067    TVector3       fVertex;            //vertex coordinates
00068    Int_t          fNjet;              //Number of jets
00069    Int_t          fNtrack;            //Number of tracks
00070    Int_t          fNhitA;             //Number of hist in detector A
00071    Int_t          fNhitB;             //Number of hist in detector B
00072    TClonesArray  *fJets;              //->array with all jets
00073    TClonesArray  *fTracks;            //->array with all tracks
00074    TClonesArray  *fHitsA;             //->array of hits in detector A
00075    TClonesArray  *fHitsB;             //->array of hits in detector B
00076       
00077    static TClonesArray *fgJets;
00078    static TClonesArray *fgTracks;
00079    static TClonesArray *fgHitsA;
00080    static TClonesArray *fgHitsB;
00081 
00082 public:
00083    JetEvent();
00084    virtual ~JetEvent();
00085    void          Build(Int_t jetm=3, Int_t trackm=10, Int_t hitam=100, Int_t hitbm=10);
00086    void          Clear(Option_t *option ="");
00087    void          Reset(Option_t *option ="");
00088    Int_t         GetNjet()   const { return fNjet; }
00089    Int_t         GetNtrack() const { return fNtrack; }
00090    Int_t         GetNhitA()  const { return fNhitA; }
00091    Int_t         GetNhitB()  const { return fNhitB; }
00092    Jet          *AddJet();
00093    Track        *AddTrack();
00094    Hit          *AddHitA();
00095    Hit          *AddHitB();
00096    TClonesArray *GetJets() const { return fJets; }
00097    
00098    ClassDef(JetEvent,1)  //Event structure
00099 };
00100 
00101 #endif
00102 
00103 
00104 
00105 
00106 
00107 
00108 
00109 
00110 
00111 
00112 
00113 
00114 
00115 
00116 
00117 
00118 
00119 
00120 
00121 

Generated on Tue Jul 5 15:45:11 2011 for ROOT_528-00b_version by  doxygen 1.5.1