ATLAS Offline Software
|
#include <GenEventBeamEffectBooster.h>
Public Member Functions | |
GenEventBeamEffectBooster (const std::string &t, const std::string &n, const IInterface *p) | |
Constructor with parameters. More... | |
StatusCode | initialize () override final |
Athena algtool's Hooks. More... | |
StatusCode | finalize () override final |
Athena algtool's Hooks. More... | |
StatusCode | initializeAthenaEvent () |
StatusCode | manipulate (HepMC::GenEvent &ge, const EventContext &ctx) const override final |
modifies the given GenEvent More... | |
Private Member Functions | |
StatusCode | initializeGenEvent (CLHEP::HepLorentzRotation &transform, const EventContext &ctx) const |
calculate the transformations that we want to apply to the particles in the current GenEvent More... | |
void | boostParticle (HepMC::GenParticlePtr &p, const CLHEP::HepLorentzRotation &transform) const |
apply boost to individual GenParticles More... | |
Private Attributes | |
ServiceHandle< IAthRNGSvc > | m_rndGenSvc {this, "RandomSvc", "AthRNGSvc"} |
ATHRNG::RNGWrapper *m_randomEngine | ATLAS_THREAD_SAFE {} |
Slot-local RNG. More... | |
Gaudi::Property< std::string > | m_randomEngineName {this, "RandomStream", "BEAM"} |
Name of the random number stream. More... | |
Gaudi::Property< bool > | m_applyBoost {this, "ApplyBoost", true} |
Gaudi::Property< bool > | m_applyDivergence {this, "ApplyDivergence", true} |
Gaudi::Property< double > | m_sigma_px_b1 {this, "Sigma_px_b1", 20.e-6, "angular divergence in x of beam 1 [rad]"} |
Gaudi::Property< double > | m_sigma_px_b2 {this, "Sigma_px_b2", 21.e-6, "angular divergence in x of beam 2 [rad]"} |
Gaudi::Property< double > | m_sigma_py_b1 {this, "Sigma_py_b1", 22.e-6, "angular divergence in y of beam 1 [rad]"} |
Gaudi::Property< double > | m_sigma_py_b2 {this, "Sigma_py_b2", 23.e-6, "angular divergence in y of beam 2 [rad]"} |
Gaudi::Property< double > | m_xing_x_b1 {this, "HalfXing_x_b1", 19.e-6, "half-crossing in x for beam 1 at IP1, i.e. angle between beam 1 and z-axis"} |
Gaudi::Property< double > | m_xing_x_b2 {this, "HalfXing_x_b2", 1.e-6, "half-crossing in x for beam 2 at IP1, i.e. angle between beam 2 and z-axis"} |
Gaudi::Property< double > | m_xing_y_b1 {this, "HalfXing_y_b1", 150.e-6, "half-crossing in y for beam 1 at IP1, i.e. angle between beam 1 and z-axis"} |
Gaudi::Property< double > | m_xing_y_b2 {this, "HalfXing_y_b2", -152.e-6, "half-crossing in y for beam 2 at IP1, i.e. angle between beam 2 and z-axis"} |
Gaudi::Property< double > | m_dE {this, "deltaEOverE", 1.1E-4, "Delta_E/E theoretical value"} |
Gaudi::Property< double > | m_pbeam1 {this, "pbeam1", 3500.0E3, "Beam 1 Momentum / MeV"} |
Gaudi::Property< double > | m_pbeam2 {this, "pbeam2", 3500.0E3, "Beam 2 Momentum / MeV"} |
Gaudi::Property< double > | m_beam1ParticleMass {this, "Beam1ParticleMass", CLHEP::proton_mass_c2, "Mass of particle used in beam 1"} |
Gaudi::Property< double > | m_beam2ParticleMass {this, "Beam2ParticleMass", CLHEP::proton_mass_c2, "Mass of particle used in beam 2"} |
This tool takes a HepMC::GenEvent and applies boosts due to beam tilt, etc.
Definition at line 38 of file GenEventBeamEffectBooster.h.
Simulation::GenEventBeamEffectBooster::GenEventBeamEffectBooster | ( | const std::string & | t, |
const std::string & | n, | ||
const IInterface * | p | ||
) |
Constructor with parameters.
Constructor.
Definition at line 23 of file GenEventBeamEffectBooster.cxx.
|
private |
apply boost to individual GenParticles
Definition at line 151 of file GenEventBeamEffectBooster.cxx.
|
finaloverride |
Athena algtool's Hooks.
Definition at line 47 of file GenEventBeamEffectBooster.cxx.
|
finaloverride |
StatusCode Simulation::GenEventBeamEffectBooster::initializeAthenaEvent | ( | ) |
Definition at line 53 of file GenEventBeamEffectBooster.cxx.
|
private |
calculate the transformations that we want to apply to the particles in the current GenEvent
Definition at line 77 of file GenEventBeamEffectBooster.cxx.
|
finaloverride |
modifies the given GenEvent
modifies (displaces) the given GenEvent
Definition at line 139 of file GenEventBeamEffectBooster.cxx.
|
private |
Slot-local RNG.
Definition at line 60 of file GenEventBeamEffectBooster.h.
|
private |
Definition at line 62 of file GenEventBeamEffectBooster.h.
|
private |
Definition at line 63 of file GenEventBeamEffectBooster.h.
|
private |
Definition at line 78 of file GenEventBeamEffectBooster.h.
|
private |
Definition at line 79 of file GenEventBeamEffectBooster.h.
|
private |
Definition at line 75 of file GenEventBeamEffectBooster.h.
|
private |
Definition at line 76 of file GenEventBeamEffectBooster.h.
|
private |
Definition at line 77 of file GenEventBeamEffectBooster.h.
|
private |
Name of the random number stream.
Definition at line 61 of file GenEventBeamEffectBooster.h.
|
private |
Definition at line 59 of file GenEventBeamEffectBooster.h.
|
private |
Definition at line 66 of file GenEventBeamEffectBooster.h.
|
private |
Definition at line 67 of file GenEventBeamEffectBooster.h.
|
private |
Definition at line 68 of file GenEventBeamEffectBooster.h.
|
private |
Definition at line 69 of file GenEventBeamEffectBooster.h.
|
private |
Definition at line 71 of file GenEventBeamEffectBooster.h.
|
private |
Definition at line 72 of file GenEventBeamEffectBooster.h.
|
private |
Definition at line 73 of file GenEventBeamEffectBooster.h.
|
private |
Definition at line 74 of file GenEventBeamEffectBooster.h.