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
Detector.h
Go to the documentation of this file.
1 
10 #ifndef INCLUDE_EICSMEAR_SMEAR_DETECTOR_H_
11 #define INCLUDE_EICSMEAR_SMEAR_DETECTOR_H_
12 
13 #include <list>
14 #include <vector>
15 
16 #include <TObject.h>
17 #include <TString.h>
18 
19 namespace erhic {
20 
21 class EventDis;
22 class VirtualParticle;
23 
24 } // namespace erhic
25 
26 namespace Smear {
27 
28 class Event;
29 class ParticleMCS;
30 class Smearer;
31 
44 class Detector : public TObject {
45  public:
49  Detector();
50 
54  Detector(const Detector&);
55 
59  Detector& operator=(const Detector&);
60 
64  virtual ~Detector();
65 
70  void AddDevice(Smearer& device);
71 
81  void SetEventKinematicsCalculator(TString);
82 
86  void DeleteAllDevices();
87 
93  Smearer* GetDevice(int index);
94 
96  UInt_t GetNDevices() const;
97 
111  void FillEventKinematics(Event* event);
112 
122 
126  virtual void Print(Option_t* = "") const;
127 
131  std::list<Smear::Smearer*> Accept(const erhic::VirtualParticle&) const;
132 
133  protected:
137  std::vector<Smear::Smearer*> CopyDevices() const;
138 
139  bool useNM;
140  bool useJB;
141  bool useDA;
142  std::vector<Smearer*> Devices;
143 
144  ClassDef(Smear::Detector, 1)
145 };
146 
147 inline UInt_t Detector::GetNDevices() const {
148  return Devices.size();
149 }
150 
151 } // namespace Smear
152 
153 #endif // INCLUDE_EICSMEAR_SMEAR_DETECTOR_H_
std::list< Smear::Smearer * > Accept(const erhic::VirtualParticle &) const
Definition: Detector.cxx:116
std::vector< Smear::Smearer * > CopyDevices() const
Definition: Detector.cxx:154
ParticleMCS * Smear(const erhic::VirtualParticle &) const
Definition: Detector.cxx:132
virtual ~Detector()
Definition: Detector.cxx:51
void DeleteAllDevices()
Definition: Detector.cxx:55
void AddDevice(Smearer &device)
Definition: Detector.cxx:63
void FillEventKinematics(Event *event)
Definition: Detector.cxx:82
Smearer * GetDevice(int index)
Definition: Detector.cxx:74
UInt_t GetNDevices() const
Definition: Detector.h:147
virtual void Print(Option_t *="") const
Definition: Detector.cxx:162
void SetEventKinematicsCalculator(TString)
Definition: Detector.cxx:67
Abstract base class for a general particle.
Detector & operator=(const Detector &)
Definition: Detector.cxx:41