JetEvent.h
#ifndef ROOT_JetEvent
#define ROOT_JetEvent
//////////////////////////////////////////////////////////////////////////
// //
// JetEvent //
// //
// Description of the event and track parameters //
// //
//////////////////////////////////////////////////////////////////////////
#include "TClonesArray.h"
#include "TRefArray.h"
#include "TVector3.h"
class Hit : public TObject {
public:
Float_t fX; //X of hit
Float_t fY; //Y of hit
Float_t fZ; //Z of hit
public:
Hit() { }
virtual ~Hit() { }
ClassDef(Hit,1) //A track hit
};
class Track : public TObject {
public:
Float_t fPx; //X component of the momentum
Float_t fPy; //Y component of the momentum
Float_t fPz; //Z component of the momentum
Int_t fNhit; //Number of hits for this track
TRefArray fHits; //List of Hits for this track
public:
Track() { }
virtual ~Track() { }
Int_t GetNhit() const { return fNhit; }
TRefArray &GetHits() {return fHits; }
ClassDef(Track,1) //A track segment
};
class Jet : public TObject {
public:
Double_t fPt; //Pt of jet
Double_t fPhi; //Phi of jet
TRefArray fTracks; //List of tracks in the jet
public:
Jet() { }
virtual ~Jet(){ }
TRefArray &GetTracks() {return fTracks; }
ClassDef(Jet,1) //Jet class
};
class JetEvent : public TObject {
private:
TVector3 fVertex; //vertex coordinates
Int_t fNjet; //Number of jets
Int_t fNtrack; //Number of tracks
Int_t fNhitA; //Number of hist in detector A
Int_t fNhitB; //Number of hist in detector B
TClonesArray *fJets; //->array with all jets
TClonesArray *fTracks; //->array with all tracks
TClonesArray *fHitsA; //->array of hits in detector A
TClonesArray *fHitsB; //->array of hits in detector B
static TClonesArray *fgJets;
static TClonesArray *fgTracks;
static TClonesArray *fgHitsA;
static TClonesArray *fgHitsB;
public:
JetEvent();
virtual ~JetEvent();
void Build(Int_t jetm=3, Int_t trackm=10, Int_t hitam=100, Int_t hitbm=10);
void Clear(Option_t *option ="");
void Reset(Option_t *option ="");
Int_t GetNjet() const { return fNjet; }
Int_t GetNtrack() const { return fNtrack; }
Int_t GetNhitA() const { return fNhitA; }
Int_t GetNhitB() const { return fNhitB; }
Jet *AddJet();
Track *AddTrack();
Hit *AddHitA();
Hit *AddHitB();
TClonesArray *GetJets() const { return fJets; }
ClassDef(JetEvent,1) //Event structure
};
#endif