EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Smear::Bremsstrahlung Struct Reference

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

#include <eic-smear/blob/master/include/eicsmear/smear/Bremsstrahlung.h>

+ Inheritance diagram for Smear::Bremsstrahlung:
+ Collaboration diagram for Smear::Bremsstrahlung:

Public Member Functions

 Bremsstrahlung (double epsilon=0.01, double traversed=10., double radLength=47.1)
 
 Bremsstrahlung (const Bremsstrahlung &)
 
virtual BremsstrahlungClone (Option_t *option="not used") const
 
virtual void Smear (const erhic::VirtualParticle &, ParticleMCS &)
 
- Public Member Functions inherited from Smear::Device
 Device (KinType=kE, const TString &formula="0", EGenre=kAll)
 
 Device (const TString &, const TString &resolution="0", EGenre=kAll)
 
 Device (const Device &)
 
virtual ~Device ()
 
virtual DeviceClone (const char *="") const
 
virtual void SetDistribution (const Distributor &)
 
virtual void Print (Option_t *="") const
 
- Public Member Functions inherited from Smear::Smearer
virtual ~Smearer ()
 

Protected Member Functions

double dSigmadK (double *x, double *)
 
int NGamma ()
 
void FixParticleKinematics (ParticleMCS &)
 
void SetParticle (const erhic::VirtualParticle &)
 
bool SetupPDF ()
 
- Protected Member Functions inherited from Smear::Device
bool Init (const TString &, const TString &, int)
 

Protected Attributes

std::unique_ptr
< erhic::ParticleMC
mParticle
 
double mKMin
 < Copy of the current particle
 
double mKMax
 
double mEpsilon
 
double mTraversed
 
double mRadLength
 
TF1 * mPdf
 
- Protected Attributes inherited from Smear::Device
KinType mSmeared
 Smeared variable.
 
TF1 * mKinematicFunction
 
FormulaStringmFormula
 Expression for resolution standard deviation.
 
std::vector< Smear::KinTypemDimensions
 
Distributor mDistribution
 Random distribution.
 

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.

View newest version in sPHENIX GitHub at line 32 of file Bremsstrahlung.h

Constructor & Destructor Documentation

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.

View newest version in sPHENIX GitHub at line 19 of file Bremsstrahlung.cxx

References Smear::Smearer::Accept, and Smear::Acceptance::AddParticle().

Referenced by Clone().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Copy constructor

Definition at line 33 of file Bremsstrahlung.cxx.

View newest version in sPHENIX GitHub at line 33 of file Bremsstrahlung.cxx

Member Function Documentation

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.

View newest version in sPHENIX GitHub at line 96 of file Bremsstrahlung.cxx

References Bremsstrahlung().

+ Here is the call graph for this function:

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.

View newest version in sPHENIX GitHub at line 44 of file Bremsstrahlung.cxx

References k, and mParticle.

Referenced by SetParticle().

+ Here is the caller graph for this function:

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

Definition at line 89 of file Bremsstrahlung.cxx.

View newest version in sPHENIX GitHub at line 89 of file Bremsstrahlung.cxx

References cos(), Smear::ParticleMCS::GetE(), Smear::ParticleMCS::GetM(), Smear::ParticleMCS::GetP(), Smear::ParticleMCS::GetTheta(), Smear::ParticleMCS::SetP(), Smear::ParticleMCS::SetPt(), and Smear::ParticleMCS::SetPz().

Referenced by Smear().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Smear::Bremsstrahlung::NGamma ( )
protected

Compute the number of photons emitted.

Definition at line 65 of file Bremsstrahlung.cxx.

View newest version in sPHENIX GitHub at line 65 of file Bremsstrahlung.cxx

References mKMax, mKMin, mParticle, mRadLength, mTraversed, and n.

Referenced by Smear().

+ Here is the caller graph for this function:

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.

View newest version in sPHENIX GitHub at line 78 of file Bremsstrahlung.cxx

References dSigmadK(), mKMax, mKMin, mParticle, mPdf, and SetupPDF().

Referenced by Smear().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

View newest version in sPHENIX GitHub at line 53 of file Bremsstrahlung.cxx

References mEpsilon, mKMax, mKMin, mParticle, and mPdf.

Referenced by SetParticle(), and Smear().

+ Here is the caller graph for this function:

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.

View newest version in sPHENIX GitHub at line 100 of file Bremsstrahlung.cxx

References FixParticleKinematics(), Smear::ParticleMCS::HandleBogusValues(), Smear::kE, mParticle, mPdf, NGamma(), Smear::ParticleMCS::SetE(), SetParticle(), and SetupPDF().

+ Here is the call graph for this function:

Member Data Documentation

double Smear::Bremsstrahlung::mEpsilon
protected

Definition at line 94 of file Bremsstrahlung.h.

View newest version in sPHENIX GitHub at line 94 of file Bremsstrahlung.h

Referenced by SetupPDF().

double Smear::Bremsstrahlung::mKMax
protected

Definition at line 93 of file Bremsstrahlung.h.

View newest version in sPHENIX GitHub at line 93 of file Bremsstrahlung.h

Referenced by NGamma(), SetParticle(), and SetupPDF().

double Smear::Bremsstrahlung::mKMin
protected

< Copy of the current particle

Definition at line 92 of file Bremsstrahlung.h.

View newest version in sPHENIX GitHub at line 92 of file Bremsstrahlung.h

Referenced by NGamma(), SetParticle(), and SetupPDF().

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

Definition at line 90 of file Bremsstrahlung.h.

View newest version in sPHENIX GitHub at line 90 of file Bremsstrahlung.h

Referenced by dSigmadK(), NGamma(), SetParticle(), SetupPDF(), and Smear().

TF1* Smear::Bremsstrahlung::mPdf
protected

Definition at line 98 of file Bremsstrahlung.h.

View newest version in sPHENIX GitHub at line 98 of file Bremsstrahlung.h

Referenced by SetParticle(), SetupPDF(), and Smear().

double Smear::Bremsstrahlung::mRadLength
protected

Definition at line 96 of file Bremsstrahlung.h.

View newest version in sPHENIX GitHub at line 96 of file Bremsstrahlung.h

Referenced by NGamma().

double Smear::Bremsstrahlung::mTraversed
protected

Definition at line 95 of file Bremsstrahlung.h.

View newest version in sPHENIX GitHub at line 95 of file Bremsstrahlung.h

Referenced by NGamma().


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