#include <NuclearInteractionFTFSimulator.h>
Public Member Functions | |
NuclearInteractionFTFSimulator (unsigned int distAlgo, double distCut, double elimit, double eth) | |
Constructor. More... | |
~NuclearInteractionFTFSimulator () | |
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 *) |
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] = {0} |
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 153 of file NuclearInteractionFTFSimulator.cc.
References currIdx, currParticle, currTrack, dummyStep, i, index, initializeOnce, intLengthElastic, intLengthInelastic, MeV, npoints, numHadrons, targetNucleus, theBertiniCascade, theDiffuseElastic, theEnergyLimit, theG4Hadron, theHadronicModel, theId, theLund, theStringDecay, theStringModel, and vect.
NuclearInteractionFTFSimulator::~NuclearInteractionFTFSimulator | ( | ) |
Default Destructor.
Definition at line 245 of file NuclearInteractionFTFSimulator.cc.
References theLund, theStringDecay, theStringModel, and vect.
|
privatevirtual |
Generate a nuclear interaction according to the probability that it happens.
Implements MaterialEffectsSimulator.
Definition at line 253 of file NuclearInteractionFTFSimulator.cc.
References MaterialEffectsSimulator::_theUpdatedState, corrfactors_el, corrfactors_inel, funct::cos(), curr4Mom, currIdx, currParticle, currTrack, dir, distMin, reco::dp, dummyStep, alignCSCRings::e, reco::e1, reco::e2, RandomEngineAndDistribution::flatShoot(), GeV, index, intLengthElastic, intLengthInelastic, j, ResonanceBuilder::mass, RawParticle::momentum(), npoints, nuclElLength, nuclInelLength, numHadrons, phi, RawParticle::pid(), 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 437 of file NuclearInteractionFTFSimulator.cc.
References RawParticle::charge(), HLT_25ns10e33_v2_cff::distance, and theDistAlgo.
Referenced by saveDaughter().
|
private |
Definition at line 418 of file NuclearInteractionFTFSimulator.cc.
References MaterialEffectsSimulator::_theUpdatedState, HLT_25ns10e33_v2_cff::distance, distanceToPrimary(), distMin, fact, customizeTrackingMonitorSeedNumber::idx, MaterialEffectsSimulator::theClosestChargedDaughterId, and theDistCut.
Referenced by compute().
|
private |
Definition at line 80 of file NuclearInteractionFTFSimulator.h.
Referenced by compute().
|
private |
Definition at line 93 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 76 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 75 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 88 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and saveDaughter().
|
private |
Definition at line 74 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 94 of file NuclearInteractionFTFSimulator.h.
Referenced by BeautifulSoup.PageElement::_invert(), compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 90 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 91 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 78 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 84 of file NuclearInteractionFTFSimulator.h.
Referenced by compute().
|
private |
Definition at line 82 of file NuclearInteractionFTFSimulator.h.
Referenced by compute().
|
private |
Definition at line 69 of file NuclearInteractionFTFSimulator.h.
|
private |
Definition at line 72 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 95 of file NuclearInteractionFTFSimulator.h.
Referenced by distanceToPrimary().
|
private |
Definition at line 87 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and saveDaughter().
|
private |
Definition at line 85 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
staticprivate |
Definition at line 61 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 65 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
staticprivate |
Definition at line 62 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), and NuclearInteractionFTFSimulator().
|
private |
Definition at line 68 of file NuclearInteractionFTFSimulator.h.
Referenced by NuclearInteractionFTFSimulator(), and ~NuclearInteractionFTFSimulator().
|
private |
Definition at line 79 of file NuclearInteractionFTFSimulator.h.
Referenced by compute().
|
private |
Definition at line 67 of file NuclearInteractionFTFSimulator.h.
Referenced by NuclearInteractionFTFSimulator(), and ~NuclearInteractionFTFSimulator().
|
private |
Definition at line 66 of file NuclearInteractionFTFSimulator.h.
Referenced by NuclearInteractionFTFSimulator(), and ~NuclearInteractionFTFSimulator().
|
private |
Definition at line 63 of file NuclearInteractionFTFSimulator.h.
Referenced by compute(), NuclearInteractionFTFSimulator(), and ~NuclearInteractionFTFSimulator().
|
private |
Definition at line 81 of file NuclearInteractionFTFSimulator.h.
Referenced by compute().