#include <NuclearInteractionFTFSimulator.h>
Public Member Functions | |
NuclearInteractionFTFSimulator (unsigned int distAlgo, double distCut, double elimit, double eth) | |
Constructor. More... | |
~NuclearInteractionFTFSimulator () override | |
Default Destructor. More... | |
Public Member Functions inherited from MaterialEffectsSimulator | |
RHEP_const_iter | beginDaughters () const |
Returns const iterator to the beginning of the daughters list. More... | |
int | closestDaughterId () |
The id of the closest charged daughter (filled for nuclear interactions only) More... | |
double | eMass () const |
Electron mass in GeV/c2. More... | |
RHEP_const_iter | endDaughters () const |
Returns const iterator to the end of the daughters list. More... | |
double | excitE () const |
Mean excitation energy (in GeV) More... | |
MaterialEffectsSimulator (double A=28.0855, double Z=14.0000, double density=2.329, double radLen=9.360) | |
unsigned | nDaughters () const |
Returns the number of daughters. More... | |
XYZVector | orthogonal (const XYZVector &) const |
A vector orthogonal to another one (because it's not in XYZTLorentzVector) More... | |
double | radLenIncm () const |
One radiation length in cm. More... | |
double | rho () const |
Density in g/cm3. More... | |
virtual void | save () |
Used by NuclearInteractionSimulator to save last sampled event. More... | |
void | setNormalVector (const GlobalVector &normal) |
Sets the vector normal to the surface traversed. More... | |
double | theA () const |
A. More... | |
double | theZ () const |
Z. More... | |
void | updateState (ParticlePropagator &myTrack, double radlen, RandomEngineAndDistribution const *) |
Compute the material effect (calls the sub class) More... | |
virtual | ~MaterialEffectsSimulator () |
Private Member Functions | |
void | compute (ParticlePropagator &Particle, RandomEngineAndDistribution const *) override |
Generate a nuclear interaction according to the probability that it happens. More... | |
double | distanceToPrimary (const RawParticle &Particle, const RawParticle &aDaughter) const |
void | saveDaughter (ParticlePropagator &Particle, const G4LorentzVector &lv, int pdgid) |
Private Attributes | |
G4LorentzVector | curr4Mom |
int | currIdx |
const G4ParticleDefinition * | currParticle |
G4Track * | currTrack |
double | distMin |
G4Step * | dummyStep |
size_t | index |
double | intLengthElastic |
double | intLengthInelastic |
G4Nucleus | targetNucleus |
G4CascadeInterface * | theBertiniCascade |
double | theBertiniLimit |
G4ThreeVector | theBoost |
G4GeneratorPrecompoundInterface * | theCascade |
G4DiffuseElastic * | theDiffuseElastic |
unsigned int | theDistAlgo |
double | theDistCut |
double | theEnergyLimit |
G4TheoFSGenerator * | theHadronicModel |
G4LundStringFragmentation * | theLund |
G4HadProjectile | theProjectile |
G4ExcitedStringDecay * | theStringDecay |
G4FTFModel * | theStringModel |
G4PhysicsLogVector * | vect |
G4ThreeVector | vectProj |
Static Private Attributes | |
static const G4ParticleDefinition * | theG4Hadron [numHadrons] = {nullptr} |
static int | theId [numHadrons] = {0} |
Additional Inherited Members | |
Public Types inherited from MaterialEffectsSimulator | |
typedef std::vector< RawParticle >::const_iterator | RHEP_const_iter |
Protected Attributes inherited from MaterialEffectsSimulator | |
std::vector< RawParticle > | _theUpdatedState |
double | A |
double | density |
double | radLen |
double | radLengths |
int | theClosestChargedDaughterId |
GlobalVector | theNormalVector |
double | Z |
Definition at line 40 of file NuclearInteractionFTFSimulator.h.
NuclearInteractionFTFSimulator::NuclearInteractionFTFSimulator | ( | unsigned int | distAlgo, |
double | distCut, | ||
double | elimit, | ||
double | eth | ||
) |
Constructor.
Definition at line 205 of file NuclearInteractionFTFSimulator.cc.
References currIdx, currParticle, currTrack, bJpsiMuMuTrigSettings_cff::decays, dummyStep, mps_fire::i, index, initializeOnce, intLengthElastic, intLengthInelastic, BPhysicsValidation_cfi::Lambda, npoints, numHadrons, phase2TrackerDigitizer_cfi::SigmaZero, targetNucleus, theBertiniCascade, theDiffuseElastic, theEnergyLimit, theG4Hadron, theHadronicModel, theId, theLund, theStringDecay, theStringModel, and vect.
|
override |
Default Destructor.
Definition at line 297 of file NuclearInteractionFTFSimulator.cc.
References theLund, theStringDecay, theStringModel, and vect.
|
overrideprivatevirtual |
Generate a nuclear interaction according to the probability that it happens.
Implements MaterialEffectsSimulator.
Definition at line 304 of file NuclearInteractionFTFSimulator.cc.
References MaterialEffectsSimulator::_theUpdatedState, corrfactors_el, corrfactors_inel, funct::cos(), curr4Mom, currIdx, currParticle, currTrack, DeadROC_duringRun::dir, distMin, Calorimetry_cff::dp, dummyStep, MillePedeFileConverter_cfg::e, StorageManager_cfg::e1, EcalCondDBWriter_cfi::Energy, RandomEngineAndDistribution::flatShoot(), index, intLengthElastic, intLengthInelastic, dqmiolumiharvest::j, EgHLTOffHistBins_cfi::mass, npoints, nuclElLength, nuclInelLength, numHadrons, phi, multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, MaterialEffectsSimulator::radLengths, mps_fire::result, saveDaughter(), funct::sin(), mathSSE::sqrt(), targetNucleus, theBertiniCascade, theBertiniLimit, theBoost, MaterialEffectsSimulator::theClosestChargedDaughterId, theDiffuseElastic, theDistCut, theEnergyLimit, theG4Hadron, theHadronicModel, theId, theProjectile, vect, and vectProj.
|
private |
Definition at line 489 of file NuclearInteractionFTFSimulator.cc.
References RawParticle::charge(), HLT_2022v12_cff::distance, theDistAlgo, and RawParticle::Vect().
Referenced by saveDaughter().
|
private |
Definition at line 471 of file NuclearInteractionFTFSimulator.cc.
References MaterialEffectsSimulator::_theUpdatedState, HLT_2022v12_cff::distance, distanceToPrimary(), distMin, fact, heavyIonCSV_trainingSettings::idx, makeParticle(), EgammaValidation_cff::pdgid, MaterialEffectsSimulator::theClosestChargedDaughterId, and theDistCut.
Referenced by compute().
|
private |
Definition at line 75 of file NuclearInteractionFTFSimulator.h.
Referenced by compute().
|
private |
Definition at line 88 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 71 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 70 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 83 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and saveDaughter().
|
private |
Definition at line 69 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 89 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 85 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 86 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 73 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 66 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 79 of file NuclearInteractionFTFSimulator.h.
Referenced by compute().
|
private |
Definition at line 77 of file NuclearInteractionFTFSimulator.h.
Referenced by compute().
|
private |
Definition at line 64 of file NuclearInteractionFTFSimulator.h.
|
private |
Definition at line 67 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 90 of file NuclearInteractionFTFSimulator.h.
Referenced by distanceToPrimary().
|
private |
Definition at line 82 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and saveDaughter().
|
private |
Definition at line 80 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
staticprivate |
Definition at line 56 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 60 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
staticprivate |
Definition at line 57 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 63 of file NuclearInteractionFTFSimulator.h.
Referenced by NuclearInteractionFTFSimulator(), and ~NuclearInteractionFTFSimulator().
|
private |
Definition at line 74 of file NuclearInteractionFTFSimulator.h.
Referenced by compute().
|
private |
Definition at line 62 of file NuclearInteractionFTFSimulator.h.
Referenced by NuclearInteractionFTFSimulator(), and ~NuclearInteractionFTFSimulator().
|
private |
Definition at line 61 of file NuclearInteractionFTFSimulator.h.
Referenced by NuclearInteractionFTFSimulator(), and ~NuclearInteractionFTFSimulator().
|
private |
Definition at line 58 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), NuclearInteractionFTFSimulator(), and ~NuclearInteractionFTFSimulator().
|
private |
Definition at line 76 of file NuclearInteractionFTFSimulator.h.
Referenced by compute().