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
Smear::Bremsstrahlung Struct Reference

A specialized Device class for modelling radiative losses. More...

#include <Bremsstrahlung.h>

Inheritance diagram for Smear::Bremsstrahlung:
Smear::Device Smear::Smearer

Public Member Functions

 Bremsstrahlung (double epsilon=0.01, double traversed=10., double radLength=47.1)
 Constructor. More...
 
 Bremsstrahlung (const Bremsstrahlung &)
 Copy constructor. More...
 
virtual BremsstrahlungClone (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...
 
- Public Member Functions inherited from Smear::Device
 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 DeviceClone (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...
 
- Public Member Functions inherited from Smear::Smearer
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...
 
- Protected Member Functions inherited from Smear::Device
bool Init (const TString &, const TString &, int)
 

Protected Attributes

std::auto_ptr< erhic::ParticleMCmParticle
 
double mKMin
 < Copy of the current particle More...
 
double mKMax
 
double mEpsilon
 
double mTraversed
 
double mRadLength
 
TF1 * mPdf
 
- Protected Attributes inherited from Smear::Device
KinType mSmeared
 Smeared variable. More...
 
TF1 * mKinematicFunction
 
FormulaStringmFormula
 Expression for resolution standard deviation. More...
 
std::vector< Smear::KinTypemDimensions
 Variables on which smearing is dependent (up to 4) More...
 
Distributor mDistribution
 Random distribution. More...
 

Additional Inherited Members

- Public Attributes inherited from Smear::Smearer
Acceptance Accept
 

Detailed Description

A specialized Device class for modelling radiative losses.

Definition at line 32 of file Bremsstrahlung.h.

Constructor & Destructor Documentation

◆ Bremsstrahlung() [1/2]

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.

◆ Bremsstrahlung() [2/2]

Smear::Bremsstrahlung::Bremsstrahlung ( const Bremsstrahlung other)

Copy constructor.

Definition at line 33 of file Bremsstrahlung.cxx.

Member Function Documentation

◆ Clone()

Bremsstrahlung * Smear::Bremsstrahlung::Clone ( Option_t *  option = "not used") const
virtual

Returns a pointer to a duplicate of this object.

Definition at line 96 of file Bremsstrahlung.cxx.

◆ dSigmadK()

double Smear::Bremsstrahlung::dSigmadK ( double *  x,
double *   
)
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.

◆ FixParticleKinematics()

void Smear::Bremsstrahlung::FixParticleKinematics ( ParticleMCS prt)
protected

Definition at line 89 of file Bremsstrahlung.cxx.

◆ NGamma()

int Smear::Bremsstrahlung::NGamma ( )
protected

Compute the number of photons emitted.

Definition at line 65 of file Bremsstrahlung.cxx.

◆ SetParticle()

void Smear::Bremsstrahlung::SetParticle ( const erhic::VirtualParticle prt)
protected

Set the radiating particle type and configure the dSigma/dK function.

Definition at line 78 of file Bremsstrahlung.cxx.

◆ SetupPDF()

bool Smear::Bremsstrahlung::SetupPDF ( )
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.

◆ Smear()

void Smear::Bremsstrahlung::Smear ( const erhic::VirtualParticle prt,
ParticleMCS prtOut 
)
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.

Member Data Documentation

◆ mEpsilon

double Smear::Bremsstrahlung::mEpsilon
protected

Definition at line 94 of file Bremsstrahlung.h.

◆ mKMax

double Smear::Bremsstrahlung::mKMax
protected

Definition at line 93 of file Bremsstrahlung.h.

◆ mKMin

double Smear::Bremsstrahlung::mKMin
protected

< Copy of the current particle

Definition at line 92 of file Bremsstrahlung.h.

◆ mParticle

std::auto_ptr<erhic::ParticleMC> Smear::Bremsstrahlung::mParticle
protected

Definition at line 90 of file Bremsstrahlung.h.

◆ mPdf

TF1* Smear::Bremsstrahlung::mPdf
protected

Definition at line 98 of file Bremsstrahlung.h.

◆ mRadLength

double Smear::Bremsstrahlung::mRadLength
protected

Definition at line 96 of file Bremsstrahlung.h.

◆ mTraversed

double Smear::Bremsstrahlung::mTraversed
protected

Definition at line 95 of file Bremsstrahlung.h.


The documentation for this struct was generated from the following files: