10 #ifndef INCLUDE_EICSMEAR_ERHIC_EVENTMC_H_
11 #define INCLUDE_EICSMEAR_ERHIC_EVENTMC_H_
16 #include <TClonesArray.h>
17 #include <TLorentzVector.h>
45 virtual ULong64_t
GetN()
const;
115 virtual bool Parse(
const std::string&) = 0;
127 virtual void Reset();
134 virtual void Clear(Option_t* =
"");
146 virtual void SetN(
int n);
198 std::vector<const VirtualParticle*>
GetTracks()
const;
226 if (u < (UInt_t)
particles.GetEntries()) {
234 if (u < (UInt_t)
particles.GetEntries()) {
269 explicit Reader(
const std::string& treeName =
"EICTree");
311 #endif // INCLUDE_EICSMEAR_ERHIC_EVENTMC_H_
virtual const ParticleMC * ScatteredLepton() const
virtual void Clear(Option_t *="")
virtual void SetNTracks(int n)
virtual bool Parse(const std::string &)=0
std::vector< const erhic::VirtualParticle * > ParticlePtrList
Double_t FinalStateCharge() const
virtual UInt_t GetNTracks() const
virtual void SetEScatteredInNuclearFrame(double energy)
Int_t nTracks
Number of Particles in the event (intermediate + final)
Int_t number
Event number.
TClonesArray particles
Particle list.
EventMC * mEvent
The last event read.
Int_t process
PYTHIA code for the physics process producing the event.
void HadronicFinalState(ParticlePtrList &) const
Reader(const std::string &treeName="EICTree")
virtual ULong64_t GetN() const
virtual void AddLast(ParticleMC *track)
virtual const ParticleMC * ExchangeBoson() const
virtual const ParticleMC * GetTrack(UInt_t) const
EventMC * Read(Long64_t number)
TTree * mTree
The tree being read.
virtual const ParticleMC * BeamLepton() const
TLorentzVector HadronicFinalStateMomentum() const
EventMC * operator()(Long64_t number)
virtual const ParticleMC * BeamHadron() const
virtual void SetProcess(int code)
TLorentzVector FinalStateMomentum() const
void FinalState(ParticlePtrList &particles) const
virtual Int_t GetProcess() const
virtual void SetELeptonInNuclearFrame(double energy)
Double32_t ELeptonOutNucl
std::vector< const VirtualParticle * > GetTracks() const