EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
Detector.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file Detector.h
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
121
ParticleMCS
*
Smear
(
const
erhic::VirtualParticle
&)
const
;
122
126
virtual
void
Print
(Option_t* =
""
)
const
;
127
131
std::list<Smear::Smearer*>
Accept
(
const
erhic::VirtualParticle
&)
const
;
132
137
virtual
void
SetLegacyMode
(
const
bool
mode=
true
);
138
142
virtual
bool
GetLegacyMode
()
const
;
143
144
protected
:
148
std::vector<Smear::Smearer*>
CopyDevices
()
const
;
149
150
bool
LegacyMode
=
false
;
151
152
bool
useNM
;
153
bool
useJB
;
154
bool
useDA
;
155
std::vector<Smearer*>
Devices
;
156
157
ClassDef(
Smear::Detector
, 1)
158
};
159
160
inline
UInt_t
Detector::GetNDevices
()
const
{
161
return
Devices
.size();
162
}
163
164
}
// namespace Smear
165
166
#endif // INCLUDE_EICSMEAR_SMEAR_DETECTOR_H_
eic-smear
blob
master
include
eicsmear
smear
Detector.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:33
using
1.8.2 with
EIC GitHub integration