Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
genie::Intranuke2014 Class Referenceabstract

#include <Intranuke2014.h>

Inheritance diagram for genie::Intranuke2014:
genie::EventRecordVisitorI genie::Algorithm genie::HAIntranuke2014 genie::HNIntranuke2014

Public Member Functions

 Intranuke2014 ()
 
 Intranuke2014 (string name)
 
 Intranuke2014 (string name, string config)
 
 ~Intranuke2014 ()
 
virtual void ProcessEventRecord (GHepRecord *event_rec) const
 
void Configure (const Registry &config)
 Configure the algorithm. More...
 
void Configure (string param_set)
 Configure the algorithm. More...
 
- Public Member Functions inherited from genie::EventRecordVisitorI
virtual ~EventRecordVisitorI ()
 
- Public Member Functions inherited from genie::Algorithm
virtual ~Algorithm ()
 
virtual void FindConfig (void)
 Lookup configuration from the config pool. More...
 
virtual const RegistryGetConfig (void) const
 Get configuration registry. More...
 
RegistryGetOwnedConfig (void)
 Get a writeable version of an owned configuration Registry. More...
 
virtual const AlgIdId (void) const
 Get algorithm ID. More...
 
virtual AlgStatus_t GetStatus (void) const
 Get algorithm status. More...
 
virtual bool AllowReconfig (void) const
 
virtual AlgCmp_t Compare (const Algorithm *alg) const
 Compare with input algorithm. More...
 
virtual void SetId (const AlgId &id)
 Set algorithm ID. More...
 
virtual void SetId (string name, string config)
 
const AlgorithmSubAlg (const RgKey &registry_key) const
 
void AdoptConfig (void)
 
void AdoptSubstructure (void)
 
virtual void Print (ostream &stream) const
 Print algorithm info. More...
 

Protected Member Functions

virtual void LoadConfig (void)=0
 
void TransportHadrons (GHepRecord *ev) const
 
void GenerateVertex (GHepRecord *ev) const
 
bool NeedsRescattering (const GHepParticle *p) const
 
bool CanRescatter (const GHepParticle *p) const
 
bool IsInNucleus (const GHepParticle *p) const
 
void SetTrackingRadius (const GHepParticle *p) const
 
double GenerateStep (GHepRecord *ev, GHepParticle *p) const
 
virtual void SimulateHadronicFinalState (GHepRecord *ev, GHepParticle *p) const =0
 
virtual int HandleCompoundNucleus (GHepRecord *ev, GHepParticle *p, int mom) const =0
 
- Protected Member Functions inherited from genie::EventRecordVisitorI
 EventRecordVisitorI ()
 
 EventRecordVisitorI (string name)
 
 EventRecordVisitorI (string name, string config)
 
- Protected Member Functions inherited from genie::Algorithm
 Algorithm ()
 
 Algorithm (string name)
 
 Algorithm (string name, string config)
 
void Initialize (void)
 
void DeleteConfig (void)
 
void DeleteSubstructure (void)
 

Protected Attributes

double fTrackingRadius
 tracking radius for the nucleus in the current event More...
 
TGenPhaseSpace fGenPhaseSpace
 a phase space generator More...
 
INukeHadroData2014fHadroData2014
 a collection of h+N,h+A data & calculations More...
 
AlgFactoryfAlgf
 algorithm factory instance More...
 
const NuclearModelIfNuclmodel
 nuclear model used to generate fermi momentum More...
 
int fRemnA
 remnant nucleus A More...
 
int fRemnZ
 remnant nucleus Z More...
 
TLorentzVector fRemnP4
 P4 of remnant system. More...
 
GEvGenMode_t fGMode
 event generation mode (lepton+A, hadron+A, ...) More...
 
double fR0
 effective nuclear size param More...
 
double fNR
 param multiplying the nuclear radius, determining how far to track hadrons beyond the "nuclear boundary" More...
 
double fNucRmvE
 binding energy to subtract from cascade nucleons More...
 
double fDelRPion
 factor by which Pion Compton wavelength gets multiplied to become nuclear size enhancement More...
 
double fDelRNucleon
 factor by which Nucleon Compton wavelength gets multiplied to become nuclear size enhancement More...
 
double fHadStep
 step size for intranuclear hadron transport More...
 
double fNucAbsFac
 absorption xsec correction factor (hN Mode) More...
 
double fNucCEXFac
 charge exchange xsec correction factor (hN Mode) More...
 
double fEPreEq
 threshold for pre-equilibrium reaction More...
 
double fFermiFac
 testing parameter to modify fermi momentum More...
 
double fFreeStep
 produced particle free stem, in fm More...
 
double fFermiMomentum
 whether or not particle collision is pauli blocked More...
 
bool fDoFermi
 whether or not to do fermi mom. More...
 
bool fDoMassDiff
 whether or not to do mass diff. mode More...
 
bool fDoCompoundNucleus
 whether or not to do compound nucleus considerations More...
 
- Protected Attributes inherited from genie::Algorithm
bool fAllowReconfig
 
bool fOwnsConfig
 true if it owns its config. registry More...
 
bool fOwnsSubstruc
 true if it owns its substructure (sub-algs,...) More...
 
AlgId fID
 algorithm name and configuration set More...
 
RegistryfConfig
 config. (either owned or pointing to config pool) More...
 
AlgStatus_t fStatus
 algorithm execution status More...
 
AlgMapfOwnedSubAlgMp
 local pool for owned sub-algs (taken out of the factory pool) More...
 

Friends

class IntranukeTester
 

Detailed Description

Definition at line 54 of file Intranuke2014.h.

Constructor & Destructor Documentation

Intranuke2014::Intranuke2014 ( )

Definition at line 93 of file Intranuke2014.cxx.

93  :
95 {
96 
97 }
Intranuke2014::Intranuke2014 ( string  name)

Definition at line 99 of file Intranuke2014.cxx.

Intranuke2014::Intranuke2014 ( string  name,
string  config 
)
Intranuke2014::~Intranuke2014 ( )

Definition at line 111 of file Intranuke2014.cxx.

112 {
113 
114 }

Member Function Documentation

bool Intranuke2014::CanRescatter ( const GHepParticle p) const
protected

Definition at line 233 of file Intranuke2014.cxx.

234 {
235 // checks whether a particle that needs to be rescattered, can in fact be
236 // rescattered by this cascade MC
237 
238  assert(p);
239  return ( p->Pdg() == kPdgPiP ||
240  p->Pdg() == kPdgPiM ||
241  p->Pdg() == kPdgPi0 ||
242  p->Pdg() == kPdgProton ||
243  p->Pdg() == kPdgNeutron ||
244  // p->Pdg() == kPdgGamma ||
245  p->Pdg() == kPdgKP //||
246  // p->Pdg() == kPdgKM
247  );
248 }
int Pdg(void) const
Definition: GHepParticle.h:64
const int kPdgKP
Definition: PDGCodes.h:146
const int kPdgPiP
Definition: PDGCodes.h:132
const int kPdgPi0
Definition: PDGCodes.h:134
const int kPdgPiM
Definition: PDGCodes.h:133
const int kPdgProton
Definition: PDGCodes.h:62
const int kPdgNeutron
Definition: PDGCodes.h:64
void Intranuke2014::Configure ( const Registry config)
virtual

Configure the algorithm.

Reimplemented from genie::Algorithm.

Definition at line 409 of file Intranuke2014.cxx.

410 {
411  Algorithm::Configure(config);
412  this->LoadConfig();
413 }
virtual void Configure(const Registry &config)
Configure the algorithm.
Definition: Algorithm.cxx:70
virtual void LoadConfig(void)=0
void Intranuke2014::Configure ( string  config)
virtual

Configure the algorithm.

Reimplemented from genie::Algorithm.

Definition at line 415 of file Intranuke2014.cxx.

416 {
417  Algorithm::Configure(param_set);
418  this->LoadConfig();
419 }
virtual void Configure(const Registry &config)
Configure the algorithm.
Definition: Algorithm.cxx:70
virtual void LoadConfig(void)=0
double Intranuke2014::GenerateStep ( GHepRecord ev,
GHepParticle p 
) const
protected

Definition at line 391 of file Intranuke2014.cxx.

392 {
393 // Generate a step (in fermis) for particle p in the input event.
394 // Computes the mean free path L and generate an 'interaction' distance d
395 // from an exp(-d/L) distribution
396 
397  RandomGen * rnd = RandomGen::Instance();
398 
399  double L = utils::intranuke2014::MeanFreePath(p->Pdg(), *p->X4(), *p->P4(), fRemnA,
401  double d = -1.*L * TMath::Log(rnd->RndFsi().Rndm());
402 
403  LOG("Intranuke2014", pDEBUG)
404  << "Mean free path = " << L << " fm / "
405  << "Generated path length = " << d << " fm";
406  return d;
407 }
TRandom3 & RndFsi(void) const
rnd number generator used by intranuclear cascade monte carlos
Definition: RandomGen.h:60
static RandomGen * Instance()
Access instance.
Definition: RandomGen.cxx:79
int fRemnZ
remnant nucleus Z
Definition: Intranuke2014.h:97
A singleton holding random number generator classes. All random number generation in GENIE should tak...
Definition: RandomGen.h:30
int Pdg(void) const
Definition: GHepParticle.h:64
int fRemnA
remnant nucleus A
Definition: Intranuke2014.h:96
double fDelRPion
factor by which Pion Compton wavelength gets multiplied to become nuclear size enhancement ...
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:87
double MeanFreePath(int pdgc, const TLorentzVector &x4, const TLorentzVector &p4, double A, double Z, double nRpi=0.5, double nRnuc=1.0)
Mean free path (pions, nucleons)
TLorentzVector * X4(void) const
Definition: GHepParticle.h:80
double fDelRNucleon
factor by which Nucleon Compton wavelength gets multiplied to become nuclear size enhancement ...
TLorentzVector * P4(void) const
Definition: GHepParticle.h:79
#define pDEBUG
Definition: Messenger.h:54
void Intranuke2014::GenerateVertex ( GHepRecord ev) const
protected

Definition at line 153 of file Intranuke2014.cxx.

154 {
155 // Sets a vertex in the nucleus periphery
156 // Called onlt in hadron/photon-nucleus interactions.
157 
158  GHepParticle * nucltgt = evrec->TargetNucleus();
159  assert(nucltgt);
160 
161  RandomGen * rnd = RandomGen::Instance();
162  TVector3 vtx(999999.,999999.,999999.);
163 
164  // *** For h+A events (test mode):
165  // Assume a hadron beam with uniform intensity across an area,
166  // so we need to choose events uniformly within that area.
167  double x=999999., y=999999., epsilon = 0.001;
168  double R2 = TMath::Power(fTrackingRadius,2.);
169  double rp2 = TMath::Power(x,2.) + TMath::Power(y,2.);
170  while(rp2 > R2-epsilon) {
171  x = (fTrackingRadius-epsilon) * rnd->RndFsi().Rndm();
172  y = -fTrackingRadius + 2*fTrackingRadius * rnd->RndFsi().Rndm();
173  y -= ((y>0) ? epsilon : -epsilon);
174  rp2 = TMath::Power(x,2.) + TMath::Power(y,2.);
175  }
176  vtx.SetXYZ(x,y, -1.*TMath::Sqrt(TMath::Max(0.,R2-rp2)) + epsilon);
177 
178  // get the actual unit vector along the incoming hadron direction
179  TVector3 direction = evrec->Probe()->P4()->Vect().Unit();
180 
181  // rotate the vtx position
182  vtx.RotateUz(direction);
183 
184  LOG("Intranuke2014", pNOTICE)
185  << "Generated vtx @ R = " << vtx.Mag() << " fm / "
186  << print::Vec3AsString(&vtx);
187 
188  TObjArrayIter piter(evrec);
189  GHepParticle * p = 0;
190  while( (p = (GHepParticle *) piter.Next()) )
191  {
192  if(pdg::IsPseudoParticle(p->Pdg())) continue;
193  if(pdg::IsIon (p->Pdg())) continue;
194 
195  p->SetPosition(vtx.x(), vtx.y(), vtx.z(), 0.);
196  }
197 }
TRandom3 & RndFsi(void) const
rnd number generator used by intranuclear cascade monte carlos
Definition: RandomGen.h:60
static RandomGen * Instance()
Access instance.
Definition: RandomGen.cxx:79
string Vec3AsString(const TVector3 *vec)
A singleton holding random number generator classes. All random number generation in GENIE should tak...
Definition: RandomGen.h:30
double fTrackingRadius
tracking radius for the nucleus in the current event
Definition: Intranuke2014.h:91
int Pdg(void) const
Definition: GHepParticle.h:64
double y
void SetPosition(const TLorentzVector &v4)
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:87
p
Definition: test.py:228
bool IsIon(int pdgc)
Definition: PDGUtils.cxx:53
bool IsPseudoParticle(int pdgc)
Definition: PDGUtils.cxx:38
#define pNOTICE
Definition: Messenger.h:52
STDHEP-like event record entry that can fit a particle or a nucleus.
Definition: GHepParticle.h:40
virtual int genie::Intranuke2014::HandleCompoundNucleus ( GHepRecord ev,
GHepParticle p,
int  mom 
) const
protectedpure virtual
bool Intranuke2014::IsInNucleus ( const GHepParticle p) const
protected

Definition at line 250 of file Intranuke2014.cxx.

251 {
252 // check whether the input particle is still within the nucleus
253 //
254  return (p->X4()->Vect().Mag() < fTrackingRadius + fHadStep);
255 }
double fTrackingRadius
tracking radius for the nucleus in the current event
Definition: Intranuke2014.h:91
TLorentzVector * X4(void) const
Definition: GHepParticle.h:80
double fHadStep
step size for intranuclear hadron transport
virtual void genie::Intranuke2014::LoadConfig ( void  )
protectedpure virtual
bool Intranuke2014::NeedsRescattering ( const GHepParticle p) const
protected

Definition at line 214 of file Intranuke2014.cxx.

215 {
216 // checks whether the particle should be rescattered
217 
218  assert(p);
219 
220  if(fGMode == kGMdHadronNucleus ||
222  // hadron/photon-nucleus scattering propagate the incoming particle
223  return (
225  && !pdg::IsIon(p->Pdg()));
226  }
227  else {
228  // attempt to rescatter anything marked as 'hadron in the nucleus'
229  return (p->Status() == kIStHadronInTheNucleus);
230  }
231 }
GHepStatus_t Status(void) const
Definition: GHepParticle.h:65
int Pdg(void) const
Definition: GHepParticle.h:64
bool IsIon(int pdgc)
Definition: PDGUtils.cxx:53
GEvGenMode_t fGMode
event generation mode (lepton+A, hadron+A, ...)
Definition: Intranuke2014.h:99
void Intranuke2014::ProcessEventRecord ( GHepRecord event_rec) const
virtual

Implements genie::EventRecordVisitorI.

Reimplemented in genie::HAIntranuke2014, and genie::HNIntranuke2014.

Definition at line 116 of file Intranuke2014.cxx.

117 {
118  // Do not continue if there is no nuclear target
119  GHepParticle * nucltgt = evrec->TargetNucleus();
120  if (!nucltgt) {
121  LOG("HNIntranuke2014", pINFO) << "No nuclear target found - INTRANUKE exits";
122  return;
123  }
124 
125  // Decide tracking radius for the current nucleus (few * R0 * A^1/3)
126  this->SetTrackingRadius(nucltgt);
127 
128  // Understand what the event generation mode is (hadron/photon-nucleus,
129  // lepton-nucleus, nucleon decay) from the input event.
130  // The determined mode has an effect on INTRANUKE behaviour (how to lookup
131  // the residual nucleus, whether to set an intranuclear vtx etc) but it
132  // does not affect the INTRANUKE physics.
133  fGMode = evrec->EventGenerationMode();
134 
135  // For lepton-nucleus scattering and for nucleon decay intranuclear vtx
136  // position (in the target nucleus coord system) is set elsewhere.
137  // This method only takes effect in hadron/photon-nucleus interactions.
138  // In this special mode, an interaction vertex is set at the periphery
139  // of the target nucleus.
140  if(fGMode == kGMdHadronNucleus ||
142  {
143  this->GenerateVertex(evrec);
144  }
145 
146  // Now transport all hadrons outside the tracking radius.
147  // Stepping part is common for both HA and HN.
148  // Once it has been estabished that an interaction takes place then
149  // HA and HN specific code takes over in order to simulate the final state.
150  this->TransportHadrons(evrec);
151 }
void GenerateVertex(GHepRecord *ev) const
void TransportHadrons(GHepRecord *ev) const
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:87
#define pINFO
Definition: Messenger.h:53
GEvGenMode_t fGMode
event generation mode (lepton+A, hadron+A, ...)
Definition: Intranuke2014.h:99
void SetTrackingRadius(const GHepParticle *p) const
STDHEP-like event record entry that can fit a particle or a nucleus.
Definition: GHepParticle.h:40
void Intranuke2014::SetTrackingRadius ( const GHepParticle p) const
protected

Definition at line 199 of file Intranuke2014.cxx.

200 {
201  assert(p && pdg::IsIon(p->Pdg()));
202  double A = p->A();
203  fTrackingRadius = fR0 * TMath::Power(A, 1./3.);
204 
205  // multiply that by some input factor so that hadrons are tracked
206  // beyond the nuclear 'boundary' since the nuclear density distribution
207  // is not zero there
208  fTrackingRadius *= fNR;
209 
210  LOG("Intranuke2014", pNOTICE)
211  << "Setting tracking radius to R = " << fTrackingRadius;
212 }
double fNR
param multiplying the nuclear radius, determining how far to track hadrons beyond the "nuclear bounda...
double fR0
effective nuclear size param
double fTrackingRadius
tracking radius for the nucleus in the current event
Definition: Intranuke2014.h:91
int Pdg(void) const
Definition: GHepParticle.h:64
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:87
static const double A
Definition: Units.h:82
bool IsIon(int pdgc)
Definition: PDGUtils.cxx:53
int A(void) const
#define pNOTICE
Definition: Messenger.h:52
virtual void genie::Intranuke2014::SimulateHadronicFinalState ( GHepRecord ev,
GHepParticle p 
) const
protectedpure virtual
void Intranuke2014::TransportHadrons ( GHepRecord ev) const
protected

Definition at line 257 of file Intranuke2014.cxx.

258 {
259 // transport all hadrons outside the nucleus
260 
261  int inucl = -1;
262  fRemnA = -1;
263  fRemnZ = -1;
264 
265  // Get 'nuclear environment' at the beginning of hadron transport
266  // and keep track of the remnant nucleus A,Z
267 
268  if(fGMode == kGMdHadronNucleus ||
270  {
271  inucl = evrec->TargetNucleusPosition();
272  }
273  else
274  if(fGMode == kGMdLeptonNucleus ||
276  {
277  inucl = evrec->RemnantNucleusPosition();
278  }
279 
280  LOG("Intranuke2014", pNOTICE)
281  << "Propagating hadrons within nucleus found in position = " << inucl;
282  GHepParticle * nucl = evrec->Particle(inucl);
283  if(!nucl) {
284  LOG("Intranuke2014", pERROR)
285  << "No nucleus found in position = " << inucl;
286  LOG("Intranuke2014", pERROR)
287  << *evrec;
288  return;
289  }
290 
291  fRemnA = nucl->A();
292  fRemnZ = nucl->Z();
293 
294  LOG("Intranuke2014", pNOTICE)
295  << "Nucleus (A,Z) = (" << fRemnA << ", " << fRemnZ << ")";
296 
297  const TLorentzVector & p4nucl = *(nucl->P4());
298  fRemnP4 = p4nucl;
299 
300  // Loop over GHEP and run intranuclear rescattering on handled particles
301  TObjArrayIter piter(evrec);
302  GHepParticle * p = 0;
303  int icurr = -1;
304 
305  while( (p = (GHepParticle *) piter.Next()) )
306  {
307  icurr++;
308 
309  // Check whether the particle needs rescattering, otherwise skip it
310  if( ! this->NeedsRescattering(p) ) continue;
311 
312  LOG("Intranuke2014", pNOTICE)
313  << " >> Stepping a " << p->Name()
314  << " with kinetic E = " << p->KinE() << " GeV";
315 
316  // Rescatter a clone, not the original particle
317  GHepParticle * sp = new GHepParticle(*p);
318 
319  // Set clone's mom to be the hadron that was cloned
320  sp->SetFirstMother(icurr);
321 
322  // Check whether the particle can be rescattered
323  if(!this->CanRescatter(sp)) {
324 
325  // if I can't rescatter it, I will just take it out of the nucleus
326  LOG("Intranuke2014", pNOTICE)
327  << "... Current version can't rescatter a " << sp->Name();
328  sp->SetFirstMother(icurr);
330  evrec->AddParticle(*sp);
331  delete sp;
332  continue; // <-- skip to next GHEP entry
333  }
334 
335  // Start stepping particle out of the nucleus
336  bool has_interacted = false;
337  while ( this-> IsInNucleus(sp) )
338  {
339  // advance the hadron by a step
341 
342  // check whether it interacts
343  double d = this->GenerateStep(evrec,sp);
344  has_interacted = (d<fHadStep);
345  if(has_interacted) break;
346  }//stepping
347 
348  if(has_interacted && fRemnA>0) {
349  // the particle interacts - simulate the hadronic interaction
350  LOG("Intranuke2014", pNOTICE)
351  << "Particle has interacted at location: "
352  << sp->X4()->Vect().Mag() << " / nucl rad= " << fTrackingRadius;
353  this->SimulateHadronicFinalState(evrec,sp);
354  } else if(has_interacted && fRemnA<=0) {
355  // nothing left to interact with!
356  LOG("Intranuke2014", pNOTICE)
357  << "*** Nothing left to interact with, escaping.";
359  evrec->AddParticle(*sp);
360  evrec->Particle(sp->FirstMother())->SetRescatterCode(1);
361  } else {
362  // the exits the nucleus without interacting - Done with it!
363  LOG("Intranuke2014", pNOTICE)
364  << "*** Hadron escaped the nucleus! Done with it.";
366  evrec->AddParticle(*sp);
367  evrec->Particle(sp->FirstMother())->SetRescatterCode(1);
368  }
369  delete sp;
370 
371  // Current snapshot
372  //LOG("Intranuke2014", pINFO) << "Current event record snapshot: " << *evrec;
373 
374  }// GHEP entries
375 
376  // Add remnant nucleus - that 'hadronic blob' has all the remaining hadronic
377  // 4p not put explicitly into the simulated particles
378  TLorentzVector v4(0.,0.,0.,0.);
379  GHepParticle remnant_nucleus(
381  evrec->AddParticle(remnant_nucleus);
382  // Mark the initial remnant nucleus as an intermediate state
383  // Don't do that in the hadron/photon-nucleus scatterig mode since the initial
384  // remnant nucleus and the target nucleus coincide.
385  if(fGMode != kGMdHadronNucleus &&
387  evrec->Particle(inucl)->SetStatus(kIStIntermediateState);
388  }
389 }
int Z(void) const
void SetFirstMother(int m)
Definition: GHepParticle.h:131
#define pERROR
Definition: Messenger.h:50
const int kPdgHadronicBlob
Definition: PDGCodes.h:182
int fRemnZ
remnant nucleus Z
Definition: Intranuke2014.h:97
bool IsInNucleus(const GHepParticle *p) const
void StepParticle(GHepParticle *p, double step, double nuclear_radius=-1.)
Step particle.
double GenerateStep(GHepRecord *ev, GHepParticle *p) const
double fTrackingRadius
tracking radius for the nucleus in the current event
Definition: Intranuke2014.h:91
int FirstMother(void) const
Definition: GHepParticle.h:67
string Name(void) const
Name that corresponds to the PDG code.
int fRemnA
remnant nucleus A
Definition: Intranuke2014.h:96
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:87
virtual void SimulateHadronicFinalState(GHepRecord *ev, GHepParticle *p) const =0
bool CanRescatter(const GHepParticle *p) const
p
Definition: test.py:228
bool NeedsRescattering(const GHepParticle *p) const
double KinE(bool mass_from_pdg=false) const
Get kinetic energy.
TLorentzVector * X4(void) const
Definition: GHepParticle.h:80
void SetStatus(GHepStatus_t s)
Definition: GHepParticle.h:125
GEvGenMode_t fGMode
event generation mode (lepton+A, hadron+A, ...)
Definition: Intranuke2014.h:99
int A(void) const
#define pNOTICE
Definition: Messenger.h:52
TLorentzVector * P4(void) const
Definition: GHepParticle.h:79
STDHEP-like event record entry that can fit a particle or a nucleus.
Definition: GHepParticle.h:40
double fHadStep
step size for intranuclear hadron transport
TLorentzVector fRemnP4
P4 of remnant system.
Definition: Intranuke2014.h:98

Friends And Related Function Documentation

friend class IntranukeTester
friend

Definition at line 56 of file Intranuke2014.h.

Member Data Documentation

AlgFactory* genie::Intranuke2014::fAlgf
protected

algorithm factory instance

Definition at line 94 of file Intranuke2014.h.

double genie::Intranuke2014::fDelRNucleon
protected

factor by which Nucleon Compton wavelength gets multiplied to become nuclear size enhancement

Definition at line 106 of file Intranuke2014.h.

double genie::Intranuke2014::fDelRPion
protected

factor by which Pion Compton wavelength gets multiplied to become nuclear size enhancement

Definition at line 105 of file Intranuke2014.h.

bool genie::Intranuke2014::fDoCompoundNucleus
protected

whether or not to do compound nucleus considerations

Definition at line 116 of file Intranuke2014.h.

bool genie::Intranuke2014::fDoFermi
protected

whether or not to do fermi mom.

Definition at line 114 of file Intranuke2014.h.

bool genie::Intranuke2014::fDoMassDiff
protected

whether or not to do mass diff. mode

Definition at line 115 of file Intranuke2014.h.

double genie::Intranuke2014::fEPreEq
protected

threshold for pre-equilibrium reaction

Definition at line 110 of file Intranuke2014.h.

double genie::Intranuke2014::fFermiFac
protected

testing parameter to modify fermi momentum

Definition at line 111 of file Intranuke2014.h.

double genie::Intranuke2014::fFermiMomentum
protected

whether or not particle collision is pauli blocked

Definition at line 113 of file Intranuke2014.h.

double genie::Intranuke2014::fFreeStep
protected

produced particle free stem, in fm

Definition at line 112 of file Intranuke2014.h.

TGenPhaseSpace genie::Intranuke2014::fGenPhaseSpace
mutableprotected

a phase space generator

Definition at line 92 of file Intranuke2014.h.

GEvGenMode_t genie::Intranuke2014::fGMode
mutableprotected

event generation mode (lepton+A, hadron+A, ...)

Definition at line 99 of file Intranuke2014.h.

INukeHadroData2014* genie::Intranuke2014::fHadroData2014
protected

a collection of h+N,h+A data & calculations

Definition at line 93 of file Intranuke2014.h.

double genie::Intranuke2014::fHadStep
protected

step size for intranuclear hadron transport

Definition at line 107 of file Intranuke2014.h.

double genie::Intranuke2014::fNR
protected

param multiplying the nuclear radius, determining how far to track hadrons beyond the "nuclear boundary"

Definition at line 103 of file Intranuke2014.h.

double genie::Intranuke2014::fNucAbsFac
protected

absorption xsec correction factor (hN Mode)

Definition at line 108 of file Intranuke2014.h.

double genie::Intranuke2014::fNucCEXFac
protected

charge exchange xsec correction factor (hN Mode)

Definition at line 109 of file Intranuke2014.h.

const NuclearModelI* genie::Intranuke2014::fNuclmodel
protected

nuclear model used to generate fermi momentum

Definition at line 95 of file Intranuke2014.h.

double genie::Intranuke2014::fNucRmvE
protected

binding energy to subtract from cascade nucleons

Definition at line 104 of file Intranuke2014.h.

double genie::Intranuke2014::fR0
protected

effective nuclear size param

Definition at line 102 of file Intranuke2014.h.

int genie::Intranuke2014::fRemnA
mutableprotected

remnant nucleus A

Definition at line 96 of file Intranuke2014.h.

TLorentzVector genie::Intranuke2014::fRemnP4
mutableprotected

P4 of remnant system.

Definition at line 98 of file Intranuke2014.h.

int genie::Intranuke2014::fRemnZ
mutableprotected

remnant nucleus Z

Definition at line 97 of file Intranuke2014.h.

double genie::Intranuke2014::fTrackingRadius
mutableprotected

tracking radius for the nucleus in the current event

Definition at line 91 of file Intranuke2014.h.


The documentation for this class was generated from the following files: