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
|
A specialized Device class for modelling radiative losses. More...
#include <Bremsstrahlung.h>
Public Member Functions | |
Bremsstrahlung (double epsilon=0.01, double traversed=10., double radLength=47.1) | |
Constructor. More... | |
Bremsstrahlung (const Bremsstrahlung &) | |
Copy constructor. More... | |
virtual Bremsstrahlung * | Clone (Option_t *option="not used") const |
Returns a pointer to a duplicate of this object. More... | |
virtual void | Smear (const erhic::VirtualParticle &, ParticleMCS &) |
Smear the properties of a Particle and assign them to a ParticleS. More... | |
![]() | |
Device (KinType=kE, const TString &formula="0", EGenre=kAll) | |
Constructor. More... | |
Device (const TString &, const TString &resolution="0", EGenre=kAll) | |
Constructor for smearing with an arbitrary function of a single variable. More... | |
Device (const Device &) | |
Copy constructor. More... | |
virtual | ~Device () |
Destructor. More... | |
virtual Device * | Clone (const char *="") const |
Returns a dynamically allocated copy of this object. More... | |
virtual void | SetDistribution (const Distributor &) |
Set the random distribution from which to sample smeared kinematics. More... | |
virtual void | Print (Option_t *="") const |
Print information about this device to standard output. More... | |
![]() | |
virtual | ~Smearer () |
Destructor. More... | |
Protected Member Functions | |
double | dSigmadK (double *x, double *) |
Returns dSigmga/dK at k = x[0]. More... | |
int | NGamma () |
Compute the number of photons emitted. More... | |
void | FixParticleKinematics (ParticleMCS &) |
void | SetParticle (const erhic::VirtualParticle &) |
Set the radiating particle type and configure the dSigma/dK function. More... | |
bool | SetupPDF () |
Configure the dSigma/dK function, setting the energy range over which to generate photons. More... | |
![]() | |
bool | Init (const TString &, const TString &, int) |
Protected Attributes | |
std::auto_ptr< erhic::ParticleMC > | mParticle |
double | mKMin |
< Copy of the current particle More... | |
double | mKMax |
double | mEpsilon |
double | mTraversed |
double | mRadLength |
TF1 * | mPdf |
![]() | |
KinType | mSmeared |
Smeared variable. More... | |
TF1 * | mKinematicFunction |
FormulaString * | mFormula |
Expression for resolution standard deviation. More... | |
std::vector< Smear::KinType > | mDimensions |
Variables on which smearing is dependent (up to 4) More... | |
Distributor | mDistribution |
Random distribution. More... | |
Additional Inherited Members | |
![]() | |
Acceptance | Accept |
A specialized Device class for modelling radiative losses.
Definition at line 32 of file Bremsstrahlung.h.
Smear::Bremsstrahlung::Bremsstrahlung | ( | double | epsilon = 0.01 , |
double | traversed = 10. , |
||
double | radLength = 47.1 |
||
) |
Constructor.
Photon energies are randomly generated in the range [epsilon, E - epsilon] for particle energy E. traversed is the distance of material through with the particle passes and radLength is the radiation length of that material (both in cm).
Definition at line 19 of file Bremsstrahlung.cxx.
Smear::Bremsstrahlung::Bremsstrahlung | ( | const Bremsstrahlung & | other | ) |
Copy constructor.
Definition at line 33 of file Bremsstrahlung.cxx.
|
virtual |
Returns a pointer to a duplicate of this object.
Definition at line 96 of file Bremsstrahlung.cxx.
|
protected |
Returns dSigmga/dK at k = x[0].
The arguments have this form to interface with ROOT::TF1. The second argument is unused.
Definition at line 44 of file Bremsstrahlung.cxx.
|
protected |
Definition at line 89 of file Bremsstrahlung.cxx.
|
protected |
Compute the number of photons emitted.
Definition at line 65 of file Bremsstrahlung.cxx.
|
protected |
Set the radiating particle type and configure the dSigma/dK function.
Definition at line 78 of file Bremsstrahlung.cxx.
|
protected |
Configure the dSigma/dK function, setting the energy range over which to generate photons.
The energy range is computed from the energy of the current mParticle. If the resultant energy range is invalid (e.g. max < min) the range is not set and the function returns false.
Definition at line 53 of file Bremsstrahlung.cxx.
|
virtual |
Smear the properties of a Particle and assign them to a ParticleS.
Reimplemented from Smear::Device.
Definition at line 100 of file Bremsstrahlung.cxx.
|
protected |
Definition at line 94 of file Bremsstrahlung.h.
|
protected |
Definition at line 93 of file Bremsstrahlung.h.
|
protected |
< Copy of the current particle
Definition at line 92 of file Bremsstrahlung.h.
|
protected |
Definition at line 90 of file Bremsstrahlung.h.
|
protected |
Definition at line 98 of file Bremsstrahlung.h.
|
protected |
Definition at line 96 of file Bremsstrahlung.h.
|
protected |
Definition at line 95 of file Bremsstrahlung.h.