EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
A specialized Device class for modelling radiative losses. More...
#include <eic-smear/blob/master/include/eicsmear/smear/Bremsstrahlung.h>
Public Member Functions | |
Bremsstrahlung (double epsilon=0.01, double traversed=10., double radLength=47.1) | |
Bremsstrahlung (const Bremsstrahlung &) | |
virtual Bremsstrahlung * | Clone (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 Device * | Clone (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 |
FormulaString * | mFormula |
Expression for resolution standard deviation. | |
std::vector< Smear::KinType > | mDimensions |
Distributor | mDistribution |
Random distribution. | |
Additional Inherited Members | |
Public Attributes inherited from Smear::Smearer | |
Acceptance | Accept |
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
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().
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
|
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().
|
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
Referenced by SetParticle().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().