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
Device.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file Device.h
1
10
#ifndef INCLUDE_EICSMEAR_SMEAR_DEVICE_H_
11
#define INCLUDE_EICSMEAR_SMEAR_DEVICE_H_
12
13
#include <cmath>
14
#include <vector>
15
16
#include <Math/ParamFunctor.h>
// For ROOT::TMath::ParamFunctor
17
#include <TF1.h>
18
#include <TF2.h>
19
#include <TRandom3.h>
20
#include <TString.h>
21
22
#include "
eicsmear/smear/Acceptance.h
"
23
#include "
eicsmear/smear/Distributor.h
"
24
#include "
eicsmear/smear/Smear.h
"
25
#include "
eicsmear/smear/Smearer.h
"
26
27
class
TRandom3;
28
29
namespace
erhic {
30
31
class
VirtualParticle;
32
33
}
// namespace erhic
34
35
namespace
Smear {
36
37
class
FormulaString;
38
class
ParticleMCS;
39
44
class
Device
:
public
Smearer
{
45
public
:
62
Device
(
KinType
=
kE
,
const
TString& formula =
"0"
,
EGenre
=
kAll
);
63
71
Device
(
const
TString&,
const
TString& resolution =
"0"
,
EGenre
=
kAll
);
72
76
Device
(
const
Device
&);
77
81
virtual
~Device
();
82
88
virtual
Device
*
Clone
(
const
char
* =
""
)
const
;
89
102
virtual
void
Smear
(
const
erhic::VirtualParticle
&,
ParticleMCS
&);
103
108
virtual
void
SetDistribution
(
const
Distributor
&);
109
113
virtual
void
Print
(Option_t* =
""
)
const
;
114
115
protected
:
116
bool
Init
(
const
TString&,
const
TString&,
int
);
117
118
KinType
mSmeared
;
119
TF1*
mKinematicFunction
;
120
FormulaString
*
mFormula
;
121
std::vector<Smear::KinType>
mDimensions
;
122
123
Distributor
mDistribution
;
124
125
private
:
126
// Assignment is not supported
127
Device
&
operator=
(
const
Device
&) {
return
*
this
; }
128
129
ClassDef(
Smear::Device
, 1)
130
};
131
132
inline
void
Device::SetDistribution
(
const
Distributor
&
d
) {
133
mDistribution
=
d
;
134
}
135
136
}
// namespace Smear
137
138
#endif // INCLUDE_EICSMEAR_SMEAR_DEVICE_H_
eic-smear
blob
master
include
eicsmear
smear
Device.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:32
using
1.8.2 with
EIC GitHub integration