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
Bremsstrahlung.h
Go to the documentation of this file.
1
10
#ifndef INCLUDE_EICSMEAR_SMEAR_BREMSSTRAHLUNG_H_
11
#define INCLUDE_EICSMEAR_SMEAR_BREMSSTRAHLUNG_H_
12
13
#include <memory>
14
15
#include <TF1.h>
16
17
#include "
eicsmear/smear/Device.h
"
18
#include "
eicsmear/erhic/ParticleMC.h
"
19
#include "
eicsmear/smear/ParticleMCS.h
"
20
21
namespace
erhic
{
22
23
class
VirtualParticle;
24
25
}
// namespace erhic
26
27
namespace
Smear
{
28
32
struct
Bremsstrahlung
:
public
Device
{
40
Bremsstrahlung
(
double
epsilon = 0.01,
41
double
traversed = 10.,
42
double
radLength = 47.1);
43
47
Bremsstrahlung
(
const
Bremsstrahlung
&);
48
52
virtual
Bremsstrahlung
*
Clone
(Option_t* option =
"not used"
)
const
;
53
57
virtual
void
Smear
(
const
erhic::VirtualParticle
&,
ParticleMCS
&);
58
59
protected
:
60
66
double
dSigmadK
(
double
* x,
double
*);
67
71
int
NGamma
();
72
73
void
FixParticleKinematics
(
ParticleMCS
&);
74
79
void
SetParticle
(
const
erhic::VirtualParticle
&);
80
88
bool
SetupPDF
();
89
90
std::auto_ptr<erhic::ParticleMC>
mParticle
;
91
92
double
mKMin
;
93
double
mKMax
;
94
double
mEpsilon
;
95
double
mTraversed
;
96
double
mRadLength
;
97
98
TF1*
mPdf
;
99
100
ClassDef(
Smear::Bremsstrahlung
, 1)
101
};
102
103
}
// namespace Smear
104
105
#endif // INCLUDE_EICSMEAR_SMEAR_BREMSSTRAHLUNG_H_
Smear
Definition:
Acceptance.cxx:16
Smear::Bremsstrahlung::mParticle
std::auto_ptr< erhic::ParticleMC > mParticle
Definition:
Bremsstrahlung.h:90
erhic
Definition:
EventDis.cxx:14
Smear::Bremsstrahlung::mKMax
double mKMax
Definition:
Bremsstrahlung.h:93
Smear::Bremsstrahlung::dSigmadK
double dSigmadK(double *x, double *)
Returns dSigmga/dK at k = x[0].
Definition:
Bremsstrahlung.cxx:44
Smear::Bremsstrahlung::Smear
virtual void Smear(const erhic::VirtualParticle &, ParticleMCS &)
Smear the properties of a Particle and assign them to a ParticleS.
Definition:
Bremsstrahlung.cxx:100
ParticleMCS.h
Smear::Bremsstrahlung::Clone
virtual Bremsstrahlung * Clone(Option_t *option="not used") const
Returns a pointer to a duplicate of this object.
Definition:
Bremsstrahlung.cxx:96
Smear::Bremsstrahlung::mKMin
double mKMin
< Copy of the current particle
Definition:
Bremsstrahlung.h:92
Smear::Bremsstrahlung::SetParticle
void SetParticle(const erhic::VirtualParticle &)
Set the radiating particle type and configure the dSigma/dK function.
Definition:
Bremsstrahlung.cxx:78
Smear::Bremsstrahlung::mRadLength
double mRadLength
Definition:
Bremsstrahlung.h:96
Smear::Bremsstrahlung::mPdf
TF1 * mPdf
Definition:
Bremsstrahlung.h:98
erhic::VirtualParticle
Abstract base class for a general particle.
Definition:
VirtualParticle.h:23
Device.h
Smear::ParticleMCS
A smeared Monte Carlo particle.
Definition:
ParticleMCS.h:27
Smear::Bremsstrahlung::Bremsstrahlung
Bremsstrahlung(double epsilon=0.01, double traversed=10., double radLength=47.1)
Constructor.
Definition:
Bremsstrahlung.cxx:19
Smear::Bremsstrahlung::NGamma
int NGamma()
Compute the number of photons emitted.
Definition:
Bremsstrahlung.cxx:65
Smear::Device
Performs smearing of a single kinematic variable according to a simple expression defined via a strin...
Definition:
Device.h:44
Smear::Bremsstrahlung::FixParticleKinematics
void FixParticleKinematics(ParticleMCS &)
Definition:
Bremsstrahlung.cxx:89
Smear::Bremsstrahlung::mTraversed
double mTraversed
Definition:
Bremsstrahlung.h:95
Smear::Bremsstrahlung::SetupPDF
bool SetupPDF()
Configure the dSigma/dK function, setting the energy range over which to generate photons.
Definition:
Bremsstrahlung.cxx:53
ParticleMC.h
Smear::Bremsstrahlung::mEpsilon
double mEpsilon
Definition:
Bremsstrahlung.h:94
Smear::Bremsstrahlung
A specialized Device class for modelling radiative losses.
Definition:
Bremsstrahlung.h:32
include
eicsmear
smear
Bremsstrahlung.h
Generated on Fri Jan 31 2020 15:11:33 for eic-smear by
1.8.17