eic-smear  1.0.3
A collection of ROOT classes for Monte Carlo events and a fast-smearing code simulating detector effects for the Electron-Ion Collider task force
VirtualEvent.h
Go to the documentation of this file.
1 
10 #ifndef INCLUDE_EICSMEAR_ERHIC_VIRTUALEVENT_H_
11 #define INCLUDE_EICSMEAR_ERHIC_VIRTUALEVENT_H_
12 
13 #include <TObject.h>
14 
15 #include <vector>
16 
17 namespace erhic {
18 
19 class VirtualParticle;
20 
25 class VirtualEvent : public TObject {
26  public:
30  virtual ~VirtualEvent() { }
31 
37  virtual const VirtualParticle* GetTrack(UInt_t /* number */) const = 0;
38 
42  virtual VirtualParticle* GetTrack(UInt_t /*number*/) = 0;
43 
47  virtual UInt_t GetNTracks() const = 0;
48 
52  typedef std::vector<const erhic::VirtualParticle*> ParticlePtrList;
53 
57  virtual void HadronicFinalState(ParticlePtrList&) const { }
58 
59  ClassDef(erhic::VirtualEvent, 1)
60 };
61 
62 } // namespace erhic
63 
64 #endif // INCLUDE_EICSMEAR_ERHIC_VIRTUALEVENT_H_
virtual ~VirtualEvent()
Definition: VirtualEvent.h:30
std::vector< const erhic::VirtualParticle * > ParticlePtrList
Definition: VirtualEvent.h:52
virtual UInt_t GetNTracks() const =0
Abstract base class for a physics event.
Definition: VirtualEvent.h:25
virtual const VirtualParticle * GetTrack(UInt_t) const =0
virtual void HadronicFinalState(ParticlePtrList &) const
Definition: VirtualEvent.h:57
Abstract base class for a general particle.