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
|
Go to the documentation of this file.
26 , mTraversed(traversed)
27 , mRadLength(radLength)
34 :
Device(other), mParticle(NULL), mKMin(other.mKMin), mKMax(other.mKMax),
35 mEpsilon(other.mEpsilon), mTraversed(other.mTraversed),
36 mRadLength(other.mRadLength), mPdf(NULL) {
56 if (upper < lower || isnan(upper) || isnan(lower)) {
70 int n =
static_cast<int>(ret);
71 if (fabs(ret - n) < fabs(ret - n - 1)) {
81 mPdf =
new TF1(
"Smear_Bremsstrahlung_PDF",
91 if (prt.
p < 0. || isnan(prt.
p)) prt.
p = 0.;
103 const int nGamma =
NGamma();
104 for (
int i = 0; i < nGamma; i++) {
106 double loss =
mPdf->GetRandom();
virtual Double_t GetM() const
Returns the apparent mass of the smeared particle.
Double32_t p
Total momentum of particle.
Double32_t pt
Transverse momentum of particle.
std::auto_ptr< erhic::ParticleMC > mParticle
Double32_t pz
z component of particle momentum
double dSigmadK(double *x, double *)
Returns dSigmga/dK at k = x[0].
void HandleBogusValues(ParticleMCS &prt, KinType kin)
This dictates how the namespace deals with positive definite variables which have been smeared to neg...
virtual void Smear(const erhic::VirtualParticle &, ParticleMCS &)
Smear the properties of a Particle and assign them to a ParticleS.
virtual Bremsstrahlung * Clone(Option_t *option="not used") const
Returns a pointer to a duplicate of this object.
double mKMin
< Copy of the current particle
void SetParticle(const erhic::VirtualParticle &)
Set the radiating particle type and configure the dSigma/dK function.
virtual Double_t GetE() const
Returns the energy of the particle in the lab frame.
void AddParticle(int particle)
Add a particle type to the list of particles to be smeared.
Abstract base class for a general particle.
A smeared Monte Carlo particle.
Bremsstrahlung(double epsilon=0.01, double traversed=10., double radLength=47.1)
Constructor.
int NGamma()
Compute the number of photons emitted.
Double32_t theta
Polar angle.
Performs smearing of a single kinematic variable according to a simple expression defined via a strin...
void FixParticleKinematics(ParticleMCS &)
Double32_t E
Energy of particle.
bool SetupPDF()
Configure the dSigma/dK function, setting the energy range over which to generate photons.
A specialized Device class for modelling radiative losses.