Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4INCL::Particle Class Reference

#include <G4INCLParticle.hh>

Inheritance diagram for G4INCL::Particle:
Collaboration diagram for G4INCL::Particle:

Public Member Functions

 Particle ()
 
 Particle (ParticleType t, G4double energy, ThreeVector const &momentum, ThreeVector const &position)
 
 Particle (ParticleType t, ThreeVector const &momentum, ThreeVector const &position)
 
virtual ~Particle ()
 
 Particle (const Particle &rhs)
 Copy constructor. More...
 
Particleoperator= (const Particle &rhs)
 Assignment operator. More...
 
G4INCL::ParticleType getType () const
 
virtual G4INCL::ParticleSpecies getSpecies () const
 Get the particle species. More...
 
void setType (ParticleType t)
 
G4bool isNucleon () const
 
ParticipantType getParticipantType () const
 
void setParticipantType (ParticipantType const p)
 
G4bool isParticipant () const
 
G4bool isTargetSpectator () const
 
G4bool isProjectileSpectator () const
 
virtual void makeParticipant ()
 
virtual void makeTargetSpectator ()
 
virtual void makeProjectileSpectator ()
 
G4bool isPion () const
 Is this a pion? More...
 
G4bool isEta () const
 Is this a eta? More...
 
G4bool isOmega () const
 Is this a omega? More...
 
G4bool isEtaPrime () const
 Is this a etaprime? More...
 
G4bool isResonance () const
 Is it a resonance? More...
 
G4bool isDelta () const
 Is it a Delta? More...
 
G4int getA () const
 Returns the baryon number. More...
 
G4int getZ () const
 Returns the charge number. More...
 
G4double getBeta () const
 
ThreeVector boostVector () const
 
void boost (const ThreeVector &aBoostVector)
 
void lorentzContract (const ThreeVector &aBoostVector, const ThreeVector &refPos)
 Lorentz-contract the particle position around some center. More...
 
G4double getMass () const
 Get the cached particle mass. More...
 
G4double getINCLMass () const
 Get the INCL particle mass. More...
 
virtual G4double getTableMass () const
 Get the tabulated particle mass. More...
 
G4double getRealMass () const
 Get the real particle mass. More...
 
void setRealMass ()
 Set the mass of the Particle to its real mass. More...
 
void setTableMass ()
 Set the mass of the Particle to its table mass. More...
 
void setINCLMass ()
 Set the mass of the Particle to its table mass. More...
 
G4double getEmissionQValueCorrection (const G4int AParent, const G4int ZParent) const
 Computes correction on the emission Q-value. More...
 
G4double getTransferQValueCorrection (const G4int AFrom, const G4int ZFrom, const G4int ATo, const G4int ZTo) const
 Computes correction on the transfer Q-value. More...
 
G4double getInvariantMass () const
 Get the the particle invariant mass. More...
 
G4double getKineticEnergy () const
 Get the particle kinetic energy. More...
 
G4double getPotentialEnergy () const
 Get the particle potential energy. More...
 
void setPotentialEnergy (G4double v)
 Set the particle potential energy. More...
 
G4double getEnergy () const
 
void setMass (G4double mass)
 
void setEnergy (G4double energy)
 
const G4INCL::ThreeVectorgetMomentum () const
 
virtual G4INCL::ThreeVector getAngularMomentum () const
 
virtual void setMomentum (const G4INCL::ThreeVector &momentum)
 
const G4INCL::ThreeVectorgetPosition () const
 
virtual void setPosition (const G4INCL::ThreeVector &position)
 
G4double getHelicity ()
 
void setHelicity (G4double h)
 
void propagate (G4double step)
 
G4int getNumberOfCollisions () const
 Return the number of collisions undergone by the particle. More...
 
void setNumberOfCollisions (G4int n)
 Set the number of collisions undergone by the particle. More...
 
void incrementNumberOfCollisions ()
 Increment the number of collisions undergone by the particle. More...
 
G4int getNumberOfDecays () const
 Return the number of decays undergone by the particle. More...
 
void setNumberOfDecays (G4int n)
 Set the number of decays undergone by the particle. More...
 
void incrementNumberOfDecays ()
 Increment the number of decays undergone by the particle. More...
 
void setOutOfWell ()
 Mark the particle as out of its potential well. More...
 
G4bool isOutOfWell () const
 Check if the particle is out of its potential well. More...
 
void setEmissionTime (G4double t)
 
G4double getEmissionTime ()
 
ThreeVector getTransversePosition () const
 Transverse component of the position w.r.t. the momentum. More...
 
ThreeVector getLongitudinalPosition () const
 Longitudinal component of the position w.r.t. the momentum. More...
 
const ThreeVectoradjustMomentumFromEnergy ()
 Rescale the momentum to match the total energy. More...
 
G4double adjustEnergyFromMomentum ()
 Recompute the energy to match the momentum. More...
 
G4bool isCluster () const
 
void setFrozenMomentum (const ThreeVector &momentum)
 Set the frozen particle momentum. More...
 
void setFrozenEnergy (const G4double energy)
 Set the frozen particle momentum. More...
 
ThreeVector getFrozenMomentum () const
 Get the frozen particle momentum. More...
 
G4double getFrozenEnergy () const
 Get the frozen particle momentum. More...
 
ThreeVector getPropagationVelocity () const
 Get the propagation velocity of the particle. More...
 
void freezePropagation ()
 Freeze particle propagation. More...
 
void thawPropagation ()
 Unfreeze particle propagation. More...
 
virtual void rotatePositionAndMomentum (const G4double angle, const ThreeVector &axis)
 Rotate the particle position and momentum. More...
 
virtual void rotatePosition (const G4double angle, const ThreeVector &axis)
 Rotate the particle position. More...
 
virtual void rotateMomentum (const G4double angle, const ThreeVector &axis)
 Rotate the particle momentum. More...
 
std::string print () const
 
std::string dump () const
 
long getID () const
 
ParticleList const * getParticles () const
 
G4double getReflectionMomentum () const
 Return the reflection momentum. More...
 
void setUncorrelatedMomentum (const G4double p)
 Set the uncorrelated momentum. More...
 
void rpCorrelate ()
 Make the particle follow a strict r-p correlation. More...
 
void rpDecorrelate ()
 Make the particle not follow a strict r-p correlation. More...
 
G4double getCosRPAngle () const
 Get the cosine of the angle between position and momentum. More...
 

Protected Member Functions

void swap (Particle &rhs)
 Helper method for the assignment operator. More...
 

Protected Attributes

G4int theZ
 
G4int theA
 
ParticipantType theParticipantType
 
G4INCL::ParticleType theType
 
G4double theEnergy
 
G4doublethePropagationEnergy
 
G4double theFrozenEnergy
 
G4INCL::ThreeVector theMomentum
 
G4INCL::ThreeVectorthePropagationMomentum
 
G4INCL::ThreeVector theFrozenMomentum
 
G4INCL::ThreeVector thePosition
 
G4int nCollisions
 
G4int nDecays
 
G4double thePotentialEnergy
 
long ID
 
G4bool rpCorrelated
 
G4double uncorrelatedMomentum
 

Detailed Description

Definition at line 73 of file G4INCLParticle.hh.

Constructor & Destructor Documentation

G4INCL::Particle::Particle ( )

Definition at line 52 of file G4INCLParticle.cc.

53  : theZ(0), theA(0),
56  theEnergy(0.0),
59  theMomentum(ThreeVector(0.,0.,0.)),
62  thePosition(ThreeVector(0.,0.,0.)),
63  nCollisions(0),
64  nDecays(0),
65  thePotentialEnergy(0.0),
66  rpCorrelated(false),
68  theHelicity(0.0),
69  emissionTime(0.0),
70  outOfWell(false),
71  theMass(0.)
72  {
73  ID = nextID;
74  nextID++;
75  }
ParticipantType theParticipantType
G4double * thePropagationEnergy
G4INCL::ThreeVector theFrozenMomentum
G4double uncorrelatedMomentum
G4INCL::ThreeVector thePosition
G4INCL::ParticleType theType
G4INCL::ThreeVector theMomentum
G4double theFrozenEnergy
G4INCL::ThreeVector * thePropagationMomentum
G4double thePotentialEnergy

Here is the caller graph for this function:

G4INCL::Particle::Particle ( ParticleType  t,
G4double  energy,
ThreeVector const &  momentum,
ThreeVector const &  position 
)

Definition at line 77 of file G4INCLParticle.cc.

79  : theEnergy(energy),
82  theMomentum(momentum),
86  nCollisions(0), nDecays(0),
88  rpCorrelated(false),
90  theHelicity(0.0),
91  emissionTime(0.0), outOfWell(false)
92  {
94  ID = nextID;
95  nextID++;
96  if(theEnergy <= 0.0) {
97  INCL_WARN("Particle with energy " << theEnergy << " created." << '\n');
98  }
99  setType(t);
101  }
ParticipantType theParticipantType
void setMass(G4double mass)
G4double * thePropagationEnergy
G4INCL::ThreeVector theFrozenMomentum
#define INCL_WARN(x)
G4double uncorrelatedMomentum
G4double getInvariantMass() const
Get the the particle invariant mass.
G4INCL::ThreeVector thePosition
G4double energy(const ThreeVector &p, const G4double m)
void setType(ParticleType t)
G4INCL::ThreeVector theMomentum
G4double mag() const
G4double theFrozenEnergy
G4INCL::ThreeVector * thePropagationMomentum
G4double thePotentialEnergy

Here is the call graph for this function:

G4INCL::Particle::Particle ( ParticleType  t,
ThreeVector const &  momentum,
ThreeVector const &  position 
)

Definition at line 103 of file G4INCLParticle.cc.

106  theMomentum(momentum),
110  nCollisions(0), nDecays(0),
111  thePotentialEnergy(0.),
112  rpCorrelated(false),
114  theHelicity(0.0),
115  emissionTime(0.0), outOfWell(false)
116  {
118  ID = nextID;
119  nextID++;
120  setType(t);
121  if( isResonance() ) {
122  INCL_ERROR("Cannot create resonance without specifying its momentum four-vector." << '\n');
123  }
124  G4double energy = std::sqrt(theMomentum.mag2() + theMass*theMass);
125  theEnergy = energy;
127  }
ParticipantType theParticipantType
G4bool isResonance() const
Is it a resonance?
G4double * thePropagationEnergy
G4INCL::ThreeVector theFrozenMomentum
#define INCL_ERROR(x)
G4double uncorrelatedMomentum
G4double mag2() const
G4INCL::ThreeVector thePosition
G4double energy(const ThreeVector &p, const G4double m)
void setType(ParticleType t)
G4INCL::ThreeVector theMomentum
G4double mag() const
double G4double
Definition: G4Types.hh:76
G4double theFrozenEnergy
G4INCL::ThreeVector * thePropagationMomentum
G4double thePotentialEnergy

Here is the call graph for this function:

virtual G4INCL::Particle::~Particle ( )
inlinevirtual

Definition at line 78 of file G4INCLParticle.hh.

78 {}
G4INCL::Particle::Particle ( const Particle rhs)
inline

Copy constructor.

Does not copy the particle ID.

Definition at line 84 of file G4INCLParticle.hh.

84  :
85  theZ(rhs.theZ),
86  theA(rhs.theA),
87  theParticipantType(rhs.theParticipantType),
88  theType(rhs.theType),
89  theEnergy(rhs.theEnergy),
90  theFrozenEnergy(rhs.theFrozenEnergy),
91  theMomentum(rhs.theMomentum),
92  theFrozenMomentum(rhs.theFrozenMomentum),
93  thePosition(rhs.thePosition),
94  nCollisions(rhs.nCollisions),
95  nDecays(rhs.nDecays),
96  thePotentialEnergy(rhs.thePotentialEnergy),
97  rpCorrelated(rhs.rpCorrelated),
98  uncorrelatedMomentum(rhs.uncorrelatedMomentum),
99  theHelicity(rhs.theHelicity),
100  emissionTime(rhs.emissionTime),
101  outOfWell(rhs.outOfWell),
102  theMass(rhs.theMass)
103  {
104  if(rhs.thePropagationEnergy == &(rhs.theFrozenEnergy))
106  else
108  if(rhs.thePropagationMomentum == &(rhs.theFrozenMomentum))
110  else
112  // ID intentionally not copied
113  ID = nextID++;
114  }
ParticipantType theParticipantType
G4double * thePropagationEnergy
G4INCL::ThreeVector theFrozenMomentum
G4double uncorrelatedMomentum
G4INCL::ThreeVector thePosition
G4INCL::ParticleType theType
G4INCL::ThreeVector theMomentum
G4double theFrozenEnergy
G4INCL::ThreeVector * thePropagationMomentum
G4double thePotentialEnergy

Member Function Documentation

G4double G4INCL::Particle::adjustEnergyFromMomentum ( )

Recompute the energy to match the momentum.

Definition at line 142 of file G4INCLParticle.cc.

142  {
143  theEnergy = std::sqrt(theMomentum.mag2() + theMass*theMass);
144  return theEnergy;
145  }
G4double mag2() const
G4INCL::ThreeVector theMomentum

Here is the call graph for this function:

Here is the caller graph for this function:

const ThreeVector & G4INCL::Particle::adjustMomentumFromEnergy ( )

Rescale the momentum to match the total energy.

Definition at line 129 of file G4INCLParticle.cc.

129  {
130  const G4double p2 = theMomentum.mag2();
131  G4double newp2 = theEnergy*theEnergy - theMass*theMass;
132  if( newp2<0.0 ) {
133  INCL_ERROR("Particle has E^2 < m^2." << '\n' << print());
134  newp2 = 0.0;
135  theEnergy = theMass;
136  }
137 
138  theMomentum *= std::sqrt(newp2/p2);
139  return theMomentum;
140  }
#define INCL_ERROR(x)
std::string print() const
G4double mag2() const
G4INCL::ThreeVector theMomentum
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

Here is the caller graph for this function:

void G4INCL::Particle::boost ( const ThreeVector aBoostVector)
inline

Boost the particle using a boost vector.

Example (go to the particle rest frame): particle->boost(particle->boostVector());

Definition at line 319 of file G4INCLParticle.hh.

319  {
320  const G4double beta2 = aBoostVector.mag2();
321  const G4double gamma = 1.0 / std::sqrt(1.0 - beta2);
322  const G4double bp = theMomentum.dot(aBoostVector);
323  const G4double alpha = (gamma*gamma)/(1.0 + gamma);
324 
325  theMomentum = theMomentum + aBoostVector * (alpha * bp - gamma * theEnergy);
326  theEnergy = gamma * (theEnergy - bp);
327  }
G4double dot(const ThreeVector &v) const
static const G4double bp
G4INCL::ThreeVector theMomentum
double G4double
Definition: G4Types.hh:76
static const G4double alpha

Here is the call graph for this function:

Here is the caller graph for this function:

ThreeVector G4INCL::Particle::boostVector ( ) const
inline

Returns a three vector we can give to the boost() -method.

In order to go to the particle rest frame you need to multiply the boost vector by -1.0.

Definition at line 309 of file G4INCLParticle.hh.

309  {
310  return theMomentum / theEnergy;
311  }
G4INCL::ThreeVector theMomentum

Here is the caller graph for this function:

std::string G4INCL::Particle::dump ( ) const
inline

Definition at line 752 of file G4INCLParticle.hh.

752  {
753  std::stringstream ss;
754  ss << "(particle " << ID << " ";
756  ss << '\n'
757  << thePosition.dump()
758  << '\n'
759  << theMomentum.dump()
760  << '\n'
761  << theEnergy << ")" << '\n';
762  return ss.str();
763  };
std::string dump() const
G4INCL::ThreeVector thePosition
G4INCL::ParticleType theType
G4INCL::ThreeVector theMomentum
std::string getName(const ParticleType t)
Get the native INCL name of the particle.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4INCL::Particle::freezePropagation ( )
inline

Freeze particle propagation.

Make the particle use theFrozenMomentum and theFrozenEnergy for propagation. The normal state can be restored by calling the thawPropagation() method.

Definition at line 692 of file G4INCLParticle.hh.

692  {
695  }
G4double * thePropagationEnergy
G4INCL::ThreeVector theFrozenMomentum
G4double theFrozenEnergy
G4INCL::ThreeVector * thePropagationMomentum
G4int G4INCL::Particle::getA ( ) const
inline

Returns the baryon number.

Definition at line 293 of file G4INCLParticle.hh.

293 { return theA; }

Here is the caller graph for this function:

virtual G4INCL::ThreeVector G4INCL::Particle::getAngularMomentum ( ) const
inlinevirtual

Get the angular momentum w.r.t. the origin

Reimplemented in G4INCL::Cluster.

Definition at line 584 of file G4INCLParticle.hh.

585  {
587  };
ThreeVector vector(const ThreeVector &v) const
G4INCL::ThreeVector thePosition
G4INCL::ThreeVector theMomentum

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4INCL::Particle::getBeta ( ) const
inline

Definition at line 298 of file G4INCLParticle.hh.

298  {
299  const G4double P = theMomentum.mag();
300  return P/theEnergy;
301  }
static double P[]
G4INCL::ThreeVector theMomentum
G4double mag() const
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

G4double G4INCL::Particle::getCosRPAngle ( ) const
inline

Get the cosine of the angle between position and momentum.

Definition at line 798 of file G4INCLParticle.hh.

798  {
800  if(norm>0.)
801  return thePosition.dot(*thePropagationMomentum) / std::sqrt(norm);
802  else
803  return 1.;
804  }
G4double dot(const ThreeVector &v) const
G4double mag2() const
G4INCL::ThreeVector thePosition
double G4double
Definition: G4Types.hh:76
G4INCL::ThreeVector * thePropagationMomentum

Here is the call graph for this function:

G4double G4INCL::Particle::getEmissionQValueCorrection ( const G4int  AParent,
const G4int  ZParent 
) const
inline

Computes correction on the emission Q-value.

Computes the correction that must be applied to INCL particles in order to obtain the correct Q-value for particle emission from a given nucleus. For absorption, the correction is obviously equal to minus the value returned by this function.

Parameters
AParentthe mass number of the emitting nucleus
ZParentthe charge number of the emitting nucleus
Returns
the correction

Definition at line 469 of file G4INCLParticle.hh.

469  {
470  const G4int ADaughter = AParent - theA;
471  const G4int ZDaughter = ZParent - theZ;
472 
473  // Note the minus sign here
474  G4double theQValue;
475  if(isCluster())
476  theQValue = -ParticleTable::getTableQValue(theA, theZ, ADaughter, ZDaughter);
477  else {
478  const G4double massTableParent = ParticleTable::getTableMass(AParent,ZParent);
479  const G4double massTableDaughter = ParticleTable::getTableMass(ADaughter,ZDaughter);
480  const G4double massTableParticle = getTableMass();
481  theQValue = massTableParent - massTableDaughter - massTableParticle;
482  }
483 
484  const G4double massINCLParent = ParticleTable::getINCLMass(AParent,ZParent);
485  const G4double massINCLDaughter = ParticleTable::getINCLMass(ADaughter,ZDaughter);
486  const G4double massINCLParticle = getINCLMass();
487 
488  // The rhs corresponds to the INCL Q-value
489  return theQValue - (massINCLParent-massINCLDaughter-massINCLParticle);
490  }
G4double getTableQValue(const G4int A1, const G4int Z1, const G4int A2, const G4int Z2)
Get Q-value (in MeV/c^2)
G4double getINCLMass() const
Get the INCL particle mass.
int G4int
Definition: G4Types.hh:78
G4double getINCLMass(const G4int A, const G4int Z)
Get INCL nuclear mass (in MeV/c^2)
G4ThreadLocal NuclearMassFn getTableMass
Static pointer to the mass function for nuclei.
G4bool isCluster() const
virtual G4double getTableMass() const
Get the tabulated particle mass.
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4INCL::Particle::getEmissionTime ( )
inline

Definition at line 649 of file G4INCLParticle.hh.

649 { return emissionTime; };

Here is the caller graph for this function:

G4double G4INCL::Particle::getEnergy ( ) const
inline

Get the energy of the particle in MeV.

Definition at line 554 of file G4INCLParticle.hh.

555  {
556  return theEnergy;
557  };

Here is the caller graph for this function:

G4double G4INCL::Particle::getFrozenEnergy ( ) const
inline

Get the frozen particle momentum.

Definition at line 681 of file G4INCLParticle.hh.

681 { return theFrozenEnergy; }
G4double theFrozenEnergy
ThreeVector G4INCL::Particle::getFrozenMomentum ( ) const
inline

Get the frozen particle momentum.

Definition at line 678 of file G4INCLParticle.hh.

678 { return theFrozenMomentum; }
G4INCL::ThreeVector theFrozenMomentum
G4double G4INCL::Particle::getHelicity ( )
inline

Definition at line 610 of file G4INCLParticle.hh.

610 { return theHelicity; };
long G4INCL::Particle::getID ( ) const
inline

Definition at line 765 of file G4INCLParticle.hh.

765 { return ID; };

Here is the caller graph for this function:

G4double G4INCL::Particle::getINCLMass ( ) const
inline

Get the INCL particle mass.

Definition at line 351 of file G4INCLParticle.hh.

351  {
352  switch(theType) {
353  case Proton:
354  case Neutron:
355  case PiPlus:
356  case PiMinus:
357  case PiZero:
358  case Eta:
359  case Omega:
360  case EtaPrime:
361  case Photon:
363  break;
364 
365  case DeltaPlusPlus:
366  case DeltaPlus:
367  case DeltaZero:
368  case DeltaMinus:
369  return theMass;
370  break;
371 
372  case Composite:
374  break;
375 
376  default:
377  INCL_ERROR("Particle::getINCLMass: Unknown particle type." << '\n');
378  return 0.0;
379  break;
380  }
381  }
#define INCL_ERROR(x)
G4INCL::ParticleType theType
G4double getINCLMass(const G4int A, const G4int Z)
Get INCL nuclear mass (in MeV/c^2)

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4INCL::Particle::getInvariantMass ( ) const
inline

Get the the particle invariant mass.

Uses the relativistic invariant

\[ m = \sqrt{E^2 - {\vec p}^2}\]

Definition at line 532 of file G4INCLParticle.hh.

532  {
533  const G4double mass = std::pow(theEnergy, 2) - theMomentum.dot(theMomentum);
534  if(mass < 0.0) {
535  INCL_ERROR("E*E - p*p is negative." << '\n');
536  return 0.0;
537  } else {
538  return std::sqrt(mass);
539  }
540  };
G4double dot(const ThreeVector &v) const
#define INCL_ERROR(x)
G4INCL::ThreeVector theMomentum
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4INCL::Particle::getKineticEnergy ( ) const
inline

Get the particle kinetic energy.

Definition at line 543 of file G4INCLParticle.hh.

543 { return theEnergy - theMass; }

Here is the caller graph for this function:

ThreeVector G4INCL::Particle::getLongitudinalPosition ( ) const
inline

Longitudinal component of the position w.r.t. the momentum.

Definition at line 657 of file G4INCLParticle.hh.

657  {
659  }
G4double dot(const ThreeVector &v) const
G4double mag2() const
G4INCL::ThreeVector thePosition
G4INCL::ThreeVector * thePropagationMomentum

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4INCL::Particle::getMass ( ) const
inline

Get the cached particle mass.

Definition at line 348 of file G4INCLParticle.hh.

348 { return theMass; }

Here is the caller graph for this function:

const G4INCL::ThreeVector& G4INCL::Particle::getMomentum ( ) const
inline

Get the momentum vector.

Definition at line 578 of file G4INCLParticle.hh.

579  {
580  return theMomentum;
581  };
G4INCL::ThreeVector theMomentum

Here is the caller graph for this function:

G4int G4INCL::Particle::getNumberOfCollisions ( ) const
inline

Return the number of collisions undergone by the particle.

Definition at line 618 of file G4INCLParticle.hh.

618 { return nCollisions; }

Here is the caller graph for this function:

G4int G4INCL::Particle::getNumberOfDecays ( ) const
inline

Return the number of decays undergone by the particle.

Definition at line 627 of file G4INCLParticle.hh.

627 { return nDecays; }
ParticipantType G4INCL::Particle::getParticipantType ( ) const
inline

Definition at line 239 of file G4INCLParticle.hh.

239  {
240  return theParticipantType;
241  }
ParticipantType theParticipantType

Here is the caller graph for this function:

ParticleList const* G4INCL::Particle::getParticles ( ) const
inline

Return a NULL pointer

Definition at line 770 of file G4INCLParticle.hh.

770  {
771  INCL_WARN("Particle::getParticles() method was called on a Particle object" << '\n');
772  return 0;
773  }
#define INCL_WARN(x)
const G4INCL::ThreeVector& G4INCL::Particle::getPosition ( ) const
inline

Set the position vector.

Definition at line 600 of file G4INCLParticle.hh.

601  {
602  return thePosition;
603  };
G4INCL::ThreeVector thePosition

Here is the caller graph for this function:

G4double G4INCL::Particle::getPotentialEnergy ( ) const
inline

Get the particle potential energy.

Definition at line 546 of file G4INCLParticle.hh.

546 { return thePotentialEnergy; }
G4double thePotentialEnergy

Here is the caller graph for this function:

ThreeVector G4INCL::Particle::getPropagationVelocity ( ) const
inline

Get the propagation velocity of the particle.

Definition at line 684 of file G4INCLParticle.hh.

684 { return (*thePropagationMomentum)/(*thePropagationEnergy); }
G4INCL::ThreeVector * thePropagationMomentum

Here is the caller graph for this function:

G4double G4INCL::Particle::getRealMass ( ) const
inline

Get the real particle mass.

Definition at line 417 of file G4INCLParticle.hh.

417  {
418  switch(theType) {
419  case Proton:
420  case Neutron:
421  case PiPlus:
422  case PiMinus:
423  case PiZero:
424  case Eta:
425  case Omega:
426  case EtaPrime:
427  case Photon:
429  break;
430 
431  case DeltaPlusPlus:
432  case DeltaPlus:
433  case DeltaZero:
434  case DeltaMinus:
435  return theMass;
436  break;
437 
438  case Composite:
440  break;
441 
442  default:
443  INCL_ERROR("Particle::getRealMass: Unknown particle type." << '\n');
444  return 0.0;
445  break;
446  }
447  }
#define INCL_ERROR(x)
G4double getRealMass(const G4INCL::ParticleType t)
Get particle mass (in MeV/c^2)
G4INCL::ParticleType theType

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4INCL::Particle::getReflectionMomentum ( ) const
inline

Return the reflection momentum.

The reflection momentum is used by calls to getSurfaceRadius to compute the radius of the sphere where the nucleon moves. It is necessary to introduce fuzzy r-p correlations.

Definition at line 781 of file G4INCLParticle.hh.

781  {
782  if(rpCorrelated)
783  return theMomentum.mag();
784  else
785  return uncorrelatedMomentum;
786  }
G4double uncorrelatedMomentum
G4INCL::ThreeVector theMomentum
G4double mag() const

Here is the call graph for this function:

Here is the caller graph for this function:

virtual G4INCL::ParticleSpecies G4INCL::Particle::getSpecies ( ) const
inlinevirtual

Get the particle species.

Reimplemented in G4INCL::Cluster.

Definition at line 171 of file G4INCLParticle.hh.

171  {
172  return ParticleSpecies(theType);
173  };
G4INCL::ParticleType theType

Here is the caller graph for this function:

virtual G4double G4INCL::Particle::getTableMass ( ) const
inlinevirtual

Get the tabulated particle mass.

Reimplemented in G4INCL::Cluster.

Definition at line 384 of file G4INCLParticle.hh.

384  {
385  switch(theType) {
386  case Proton:
387  case Neutron:
388  case PiPlus:
389  case PiMinus:
390  case PiZero:
391  case Eta:
392  case Omega:
393  case EtaPrime:
394  case Photon:
396  break;
397 
398  case DeltaPlusPlus:
399  case DeltaPlus:
400  case DeltaZero:
401  case DeltaMinus:
402  return theMass;
403  break;
404 
405  case Composite:
407  break;
408 
409  default:
410  INCL_ERROR("Particle::getTableMass: Unknown particle type." << '\n');
411  return 0.0;
412  break;
413  }
414  }
G4ThreadLocal ParticleMassFn getTableParticleMass
Static pointer to the mass function for particles.
#define INCL_ERROR(x)
G4INCL::ParticleType theType
G4ThreadLocal NuclearMassFn getTableMass
Static pointer to the mass function for nuclei.

Here is the caller graph for this function:

G4double G4INCL::Particle::getTransferQValueCorrection ( const G4int  AFrom,
const G4int  ZFrom,
const G4int  ATo,
const G4int  ZTo 
) const
inline

Computes correction on the transfer Q-value.

Computes the correction that must be applied to INCL particles in order to obtain the correct Q-value for particle transfer from a given nucleus to another.

Assumes that the receving nucleus is INCL's target nucleus, with the INCL separation energy.

Parameters
AFromthe mass number of the donating nucleus
ZFromthe charge number of the donating nucleus
ATothe mass number of the receiving nucleus
ZTothe charge number of the receiving nucleus
Returns
the correction

Definition at line 507 of file G4INCLParticle.hh.

507  {
508  const G4int AFromDaughter = AFrom - theA;
509  const G4int ZFromDaughter = ZFrom - theZ;
510  const G4int AToDaughter = ATo + theA;
511  const G4int ZToDaughter = ZTo + theZ;
512  const G4double theQValue = ParticleTable::getTableQValue(AToDaughter,ZToDaughter,AFromDaughter,ZFromDaughter,AFrom,ZFrom);
513 
514  const G4double massINCLTo = ParticleTable::getINCLMass(ATo,ZTo);
515  const G4double massINCLToDaughter = ParticleTable::getINCLMass(AToDaughter,ZToDaughter);
516  /* Note that here we have to use the table mass in the INCL Q-value. We
517  * cannot use theMass, because at this stage the particle is probably
518  * still off-shell; and we cannot use getINCLMass(), because it leads to
519  * violations of global energy conservation.
520  */
521  const G4double massINCLParticle = getTableMass();
522 
523  // The rhs corresponds to the INCL Q-value for particle absorption
524  return theQValue - (massINCLToDaughter-massINCLTo-massINCLParticle);
525  }
G4double getTableQValue(const G4int A1, const G4int Z1, const G4int A2, const G4int Z2)
Get Q-value (in MeV/c^2)
int G4int
Definition: G4Types.hh:78
G4double getINCLMass(const G4int A, const G4int Z)
Get INCL nuclear mass (in MeV/c^2)
virtual G4double getTableMass() const
Get the tabulated particle mass.
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

ThreeVector G4INCL::Particle::getTransversePosition ( ) const
inline

Transverse component of the position w.r.t. the momentum.

Definition at line 652 of file G4INCLParticle.hh.

652  {
654  }
G4INCL::ThreeVector thePosition
ThreeVector getLongitudinalPosition() const
Longitudinal component of the position w.r.t. the momentum.

Here is the call graph for this function:

Here is the caller graph for this function:

G4INCL::ParticleType G4INCL::Particle::getType ( ) const
inline

Get the particle type.

See Also
G4INCL::ParticleType

Definition at line 166 of file G4INCLParticle.hh.

166  {
167  return theType;
168  };
G4INCL::ParticleType theType
G4int G4INCL::Particle::getZ ( ) const
inline

Returns the charge number.

Definition at line 296 of file G4INCLParticle.hh.

296 { return theZ; }

Here is the caller graph for this function:

void G4INCL::Particle::incrementNumberOfCollisions ( )
inline

Increment the number of collisions undergone by the particle.

Definition at line 624 of file G4INCLParticle.hh.

624 { nCollisions++; }
void G4INCL::Particle::incrementNumberOfDecays ( )
inline

Increment the number of decays undergone by the particle.

Definition at line 633 of file G4INCLParticle.hh.

633 { nDecays++; }
G4bool G4INCL::Particle::isCluster ( ) const
inline

Definition at line 667 of file G4INCLParticle.hh.

667  {
668  return (theType == Composite);
669  }
G4INCL::ParticleType theType

Here is the caller graph for this function:

G4bool G4INCL::Particle::isDelta ( ) const
inline

Is it a Delta?

Definition at line 287 of file G4INCLParticle.hh.

Here is the caller graph for this function:

G4bool G4INCL::Particle::isEta ( ) const
inline

Is this a eta?

Definition at line 275 of file G4INCLParticle.hh.

275 { return (theType == Eta); }
G4INCL::ParticleType theType

Here is the caller graph for this function:

G4bool G4INCL::Particle::isEtaPrime ( ) const
inline

Is this a etaprime?

Definition at line 281 of file G4INCLParticle.hh.

281 { return (theType == EtaPrime); }
G4INCL::ParticleType theType

Here is the caller graph for this function:

G4bool G4INCL::Particle::isNucleon ( ) const
inline

Is this a nucleon?

Definition at line 232 of file G4INCLParticle.hh.

232  {
234  return true;
235  else
236  return false;
237  };
G4INCL::ParticleType theType

Here is the caller graph for this function:

G4bool G4INCL::Particle::isOmega ( ) const
inline

Is this a omega?

Definition at line 278 of file G4INCLParticle.hh.

278 { return (theType == Omega); }
G4INCL::ParticleType theType

Here is the caller graph for this function:

G4bool G4INCL::Particle::isOutOfWell ( ) const
inline

Check if the particle is out of its potential well.

Definition at line 646 of file G4INCLParticle.hh.

646 { return outOfWell; }

Here is the caller graph for this function:

G4bool G4INCL::Particle::isParticipant ( ) const
inline

Definition at line 247 of file G4INCLParticle.hh.

247  {
249  }
ParticipantType theParticipantType

Here is the caller graph for this function:

G4bool G4INCL::Particle::isPion ( ) const
inline

Is this a pion?

Definition at line 272 of file G4INCLParticle.hh.

Here is the caller graph for this function:

G4bool G4INCL::Particle::isProjectileSpectator ( ) const
inline

Definition at line 255 of file G4INCLParticle.hh.

Here is the caller graph for this function:

G4bool G4INCL::Particle::isResonance ( ) const
inline

Is it a resonance?

Definition at line 284 of file G4INCLParticle.hh.

284 { return isDelta(); }
G4bool isDelta() const
Is it a Delta?

Here is the call graph for this function:

Here is the caller graph for this function:

G4bool G4INCL::Particle::isTargetSpectator ( ) const
inline

Definition at line 251 of file G4INCLParticle.hh.

251  {
253  }
ParticipantType theParticipantType

Here is the caller graph for this function:

void G4INCL::Particle::lorentzContract ( const ThreeVector aBoostVector,
const ThreeVector refPos 
)
inline

Lorentz-contract the particle position around some center.

Apply Lorentz contraction to the position component along the direction of the boost vector.

Parameters
aBoostVectorthe boost vector (velocity) [c]
refPosthe reference position

Definition at line 337 of file G4INCLParticle.hh.

337  {
338  const G4double beta2 = aBoostVector.mag2();
339  const G4double gamma = 1.0 / std::sqrt(1.0 - beta2);
340  const ThreeVector theRelativePosition = thePosition - refPos;
341  const ThreeVector transversePosition = theRelativePosition - aBoostVector * (theRelativePosition.dot(aBoostVector) / aBoostVector.mag2());
342  const ThreeVector longitudinalPosition = theRelativePosition - transversePosition;
343 
344  thePosition = refPos + transversePosition + longitudinalPosition / gamma;
345  }
G4INCL::ThreeVector thePosition
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

virtual void G4INCL::Particle::makeParticipant ( )
inlinevirtual

Reimplemented in G4INCL::Cluster.

Definition at line 259 of file G4INCLParticle.hh.

259  {
261  }
ParticipantType theParticipantType

Here is the caller graph for this function:

virtual void G4INCL::Particle::makeProjectileSpectator ( )
inlinevirtual

Reimplemented in G4INCL::Cluster.

Definition at line 267 of file G4INCLParticle.hh.

Here is the caller graph for this function:

virtual void G4INCL::Particle::makeTargetSpectator ( )
inlinevirtual

Reimplemented in G4INCL::Cluster.

Definition at line 263 of file G4INCLParticle.hh.

Here is the caller graph for this function:

Particle& G4INCL::Particle::operator= ( const Particle rhs)
inline

Assignment operator.

Does not copy the particle ID.

Definition at line 156 of file G4INCLParticle.hh.

156  {
157  Particle temporaryParticle(rhs);
158  swap(temporaryParticle);
159  return *this;
160  }
void swap(Particle &rhs)
Helper method for the assignment operator.

Here is the call graph for this function:

Here is the caller graph for this function:

std::string G4INCL::Particle::print ( ) const
inline

Definition at line 737 of file G4INCLParticle.hh.

737  {
738  std::stringstream ss;
739  ss << "Particle (ID = " << ID << ") type = ";
741  ss << '\n'
742  << " energy = " << theEnergy << '\n'
743  << " momentum = "
744  << theMomentum.print()
745  << '\n'
746  << " position = "
747  << thePosition.print()
748  << '\n';
749  return ss.str();
750  };
G4INCL::ThreeVector thePosition
G4INCL::ParticleType theType
G4INCL::ThreeVector theMomentum
std::string print() const
std::string getName(const ParticleType t)
Get the native INCL name of the particle.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4INCL::Particle::propagate ( G4double  step)
inline

Definition at line 613 of file G4INCLParticle.hh.

613  {
614  thePosition += ((*thePropagationMomentum)*(step/(*thePropagationEnergy)));
615  };
G4INCL::ThreeVector thePosition

Here is the caller graph for this function:

virtual void G4INCL::Particle::rotateMomentum ( const G4double  angle,
const ThreeVector axis 
)
inlinevirtual

Rotate the particle momentum.

Parameters
anglethe rotation angle
axisa unit vector representing the rotation axis

Reimplemented in G4INCL::Cluster.

Definition at line 732 of file G4INCLParticle.hh.

732  {
733  theMomentum.rotate(angle, axis);
735  }
void rotate(const G4double angle, const ThreeVector &axis)
Rotate the vector by a given angle around a given axis.
G4INCL::ThreeVector theFrozenMomentum
static G4double angle[DIM]
G4INCL::ThreeVector theMomentum

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void G4INCL::Particle::rotatePosition ( const G4double  angle,
const ThreeVector axis 
)
inlinevirtual

Rotate the particle position.

Parameters
anglethe rotation angle
axisa unit vector representing the rotation axis

Reimplemented in G4INCL::Cluster.

Definition at line 723 of file G4INCLParticle.hh.

723  {
724  thePosition.rotate(angle, axis);
725  }
void rotate(const G4double angle, const ThreeVector &axis)
Rotate the vector by a given angle around a given axis.
static G4double angle[DIM]
G4INCL::ThreeVector thePosition

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void G4INCL::Particle::rotatePositionAndMomentum ( const G4double  angle,
const ThreeVector axis 
)
inlinevirtual

Rotate the particle position and momentum.

Parameters
anglethe rotation angle
axisa unit vector representing the rotation axis

Definition at line 713 of file G4INCLParticle.hh.

713  {
714  rotatePosition(angle, axis);
715  rotateMomentum(angle, axis);
716  }
virtual void rotatePosition(const G4double angle, const ThreeVector &axis)
Rotate the particle position.
static G4double angle[DIM]
virtual void rotateMomentum(const G4double angle, const ThreeVector &axis)
Rotate the particle momentum.

Here is the call graph for this function:

void G4INCL::Particle::rpCorrelate ( )
inline

Make the particle follow a strict r-p correlation.

Definition at line 792 of file G4INCLParticle.hh.

792 { rpCorrelated = true; }

Here is the caller graph for this function:

void G4INCL::Particle::rpDecorrelate ( )
inline

Make the particle not follow a strict r-p correlation.

Definition at line 795 of file G4INCLParticle.hh.

795 { rpCorrelated = false; }
void G4INCL::Particle::setEmissionTime ( G4double  t)
inline

Definition at line 648 of file G4INCLParticle.hh.

648 { emissionTime = t; }

Here is the caller graph for this function:

void G4INCL::Particle::setEnergy ( G4double  energy)
inline

Set the energy of the particle in MeV.

Definition at line 570 of file G4INCLParticle.hh.

571  {
572  this->theEnergy = energy;
573  };
G4double energy(const ThreeVector &p, const G4double m)

Here is the call graph for this function:

Here is the caller graph for this function:

void G4INCL::Particle::setFrozenEnergy ( const G4double  energy)
inline

Set the frozen particle momentum.

Definition at line 675 of file G4INCLParticle.hh.

675 { theFrozenEnergy = energy; }
G4double energy(const ThreeVector &p, const G4double m)
G4double theFrozenEnergy

Here is the call graph for this function:

void G4INCL::Particle::setFrozenMomentum ( const ThreeVector momentum)
inline

Set the frozen particle momentum.

Definition at line 672 of file G4INCLParticle.hh.

672 { theFrozenMomentum = momentum; }
G4INCL::ThreeVector theFrozenMomentum
void G4INCL::Particle::setHelicity ( G4double  h)
inline

Definition at line 611 of file G4INCLParticle.hh.

611 { theHelicity = h; };

Here is the caller graph for this function:

void G4INCL::Particle::setINCLMass ( )
inline

Set the mass of the Particle to its table mass.

Definition at line 456 of file G4INCLParticle.hh.

456 { setMass(getINCLMass()); }
void setMass(G4double mass)
G4double getINCLMass() const
Get the INCL particle mass.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4INCL::Particle::setMass ( G4double  mass)
inline

Set the mass of the particle in MeV/c^2.

Definition at line 562 of file G4INCLParticle.hh.

563  {
564  this->theMass = mass;
565  }

Here is the caller graph for this function:

virtual void G4INCL::Particle::setMomentum ( const G4INCL::ThreeVector momentum)
inlinevirtual

Set the momentum vector.

Definition at line 592 of file G4INCLParticle.hh.

593  {
594  this->theMomentum = momentum;
595  };
G4INCL::ThreeVector theMomentum

Here is the caller graph for this function:

void G4INCL::Particle::setNumberOfCollisions ( G4int  n)
inline

Set the number of collisions undergone by the particle.

Definition at line 621 of file G4INCLParticle.hh.

void G4INCL::Particle::setNumberOfDecays ( G4int  n)
inline

Set the number of decays undergone by the particle.

Definition at line 630 of file G4INCLParticle.hh.

void G4INCL::Particle::setOutOfWell ( )
inline

Mark the particle as out of its potential well.

This flag is used to control pions created outside their potential well in delta decay. The pion potential checks it and returns zero if it is true (necessary in order to correctly enforce energy conservation). The Nucleus::applyFinalState() method uses it to determine whether new avatars should be generated for the particle.

Definition at line 643 of file G4INCLParticle.hh.

643 { outOfWell = true; }
void G4INCL::Particle::setParticipantType ( ParticipantType const  p)
inline

Definition at line 243 of file G4INCLParticle.hh.

243  {
245  }
ParticipantType theParticipantType
const char * p
Definition: xmltok.h:285
virtual void G4INCL::Particle::setPosition ( const G4INCL::ThreeVector position)
inlinevirtual

Reimplemented in G4INCL::Cluster.

Definition at line 605 of file G4INCLParticle.hh.

606  {
607  this->thePosition = position;
608  };
#define position
Definition: xmlparse.cc:622
G4INCL::ThreeVector thePosition

Here is the caller graph for this function:

void G4INCL::Particle::setPotentialEnergy ( G4double  v)
inline

Set the particle potential energy.

Definition at line 549 of file G4INCLParticle.hh.

549 { thePotentialEnergy = v; }
G4double thePotentialEnergy

Here is the caller graph for this function:

void G4INCL::Particle::setRealMass ( )
inline

Set the mass of the Particle to its real mass.

Definition at line 450 of file G4INCLParticle.hh.

450 { setMass(getRealMass()); }
void setMass(G4double mass)
G4double getRealMass() const
Get the real particle mass.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4INCL::Particle::setTableMass ( )
inline

Set the mass of the Particle to its table mass.

Definition at line 453 of file G4INCLParticle.hh.

453 { setMass(getTableMass()); }
void setMass(G4double mass)
virtual G4double getTableMass() const
Get the tabulated particle mass.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4INCL::Particle::setType ( ParticleType  t)
inline

Definition at line 175 of file G4INCLParticle.hh.

175  {
176  theType = t;
177  switch(theType)
178  {
179  case DeltaPlusPlus:
180  theA = 1;
181  theZ = 2;
182  break;
183  case Proton:
184  case DeltaPlus:
185  theA = 1;
186  theZ = 1;
187  break;
188  case Neutron:
189  case DeltaZero:
190  theA = 1;
191  theZ = 0;
192  break;
193  case DeltaMinus:
194  theA = 1;
195  theZ = -1;
196  break;
197  case PiPlus:
198  theA = 0;
199  theZ = 1;
200  break;
201  case PiZero:
202  case Eta:
203  case Omega:
204  case EtaPrime:
205  case Photon:
206  theA = 0;
207  theZ = 0;
208  break;
209  case PiMinus:
210  theA = 0;
211  theZ = -1;
212  break;
213  case Composite:
214  // INCL_ERROR("Trying to set particle type to Composite! Construct a Cluster object instead" << '\n');
215  theA = 0;
216  theZ = 0;
217  break;
218  case UnknownParticle:
219  theA = 0;
220  theZ = 0;
221  INCL_ERROR("Trying to set particle type to Unknown!" << '\n');
222  break;
223  }
224 
225  if( !isResonance() && t!=Composite )
226  setINCLMass();
227  }
G4bool isResonance() const
Is it a resonance?
#define INCL_ERROR(x)
void setINCLMass()
Set the mass of the Particle to its table mass.
G4INCL::ParticleType theType

Here is the call graph for this function:

Here is the caller graph for this function:

void G4INCL::Particle::setUncorrelatedMomentum ( const G4double  p)
inline

Set the uncorrelated momentum.

Definition at line 789 of file G4INCLParticle.hh.

789 { uncorrelatedMomentum = p; }
const char * p
Definition: xmltok.h:285
G4double uncorrelatedMomentum
void G4INCL::Particle::swap ( Particle rhs)
inlineprotected

Helper method for the assignment operator.

Definition at line 118 of file G4INCLParticle.hh.

118  {
119  std::swap(theZ, rhs.theZ);
120  std::swap(theA, rhs.theA);
121  std::swap(theParticipantType, rhs.theParticipantType);
122  std::swap(theType, rhs.theType);
123  if(rhs.thePropagationEnergy == &(rhs.theFrozenEnergy))
125  else
127  std::swap(theEnergy, rhs.theEnergy);
128  std::swap(theFrozenEnergy, rhs.theFrozenEnergy);
129  if(rhs.thePropagationMomentum == &(rhs.theFrozenMomentum))
131  else
133  std::swap(theMomentum, rhs.theMomentum);
134  std::swap(theFrozenMomentum, rhs.theFrozenMomentum);
135  std::swap(thePosition, rhs.thePosition);
136  std::swap(nCollisions, rhs.nCollisions);
137  std::swap(nDecays, rhs.nDecays);
138  std::swap(thePotentialEnergy, rhs.thePotentialEnergy);
139  // ID intentionally not swapped
140 
141  std::swap(theHelicity, rhs.theHelicity);
142  std::swap(emissionTime, rhs.emissionTime);
143  std::swap(outOfWell, rhs.outOfWell);
144 
145  std::swap(theMass, rhs.theMass);
146  std::swap(rpCorrelated, rhs.rpCorrelated);
147  std::swap(uncorrelatedMomentum, rhs.uncorrelatedMomentum);
148  }
ParticipantType theParticipantType
G4double * thePropagationEnergy
G4INCL::ThreeVector theFrozenMomentum
G4double uncorrelatedMomentum
G4INCL::ThreeVector thePosition
G4INCL::ParticleType theType
G4INCL::ThreeVector theMomentum
G4double theFrozenEnergy
G4INCL::ThreeVector * thePropagationMomentum
G4double thePotentialEnergy

Here is the caller graph for this function:

void G4INCL::Particle::thawPropagation ( )
inline

Unfreeze particle propagation.

Make the particle use theMomentum and theEnergy for propagation. Call this method to restore the normal propagation if the freezePropagation() method has been called.

Definition at line 703 of file G4INCLParticle.hh.

703  {
706  }
G4double * thePropagationEnergy
G4INCL::ThreeVector theMomentum
G4INCL::ThreeVector * thePropagationMomentum

Here is the caller graph for this function:

Member Data Documentation

long G4INCL::Particle::ID
protected

Definition at line 820 of file G4INCLParticle.hh.

G4int G4INCL::Particle::nCollisions
protected

Definition at line 817 of file G4INCLParticle.hh.

G4int G4INCL::Particle::nDecays
protected

Definition at line 818 of file G4INCLParticle.hh.

G4bool G4INCL::Particle::rpCorrelated
protected

Definition at line 822 of file G4INCLParticle.hh.

G4int G4INCL::Particle::theA
protected

Definition at line 807 of file G4INCLParticle.hh.

G4double G4INCL::Particle::theEnergy
protected

Definition at line 810 of file G4INCLParticle.hh.

G4double G4INCL::Particle::theFrozenEnergy
protected

Definition at line 812 of file G4INCLParticle.hh.

G4INCL::ThreeVector G4INCL::Particle::theFrozenMomentum
protected

Definition at line 815 of file G4INCLParticle.hh.

G4INCL::ThreeVector G4INCL::Particle::theMomentum
protected

Definition at line 813 of file G4INCLParticle.hh.

ParticipantType G4INCL::Particle::theParticipantType
protected

Definition at line 808 of file G4INCLParticle.hh.

G4INCL::ThreeVector G4INCL::Particle::thePosition
protected

Definition at line 816 of file G4INCLParticle.hh.

G4double G4INCL::Particle::thePotentialEnergy
protected

Definition at line 819 of file G4INCLParticle.hh.

G4double* G4INCL::Particle::thePropagationEnergy
protected

Definition at line 811 of file G4INCLParticle.hh.

G4INCL::ThreeVector* G4INCL::Particle::thePropagationMomentum
protected

Definition at line 814 of file G4INCLParticle.hh.

G4INCL::ParticleType G4INCL::Particle::theType
protected

Definition at line 809 of file G4INCLParticle.hh.

G4int G4INCL::Particle::theZ
protected

Definition at line 807 of file G4INCLParticle.hh.

G4double G4INCL::Particle::uncorrelatedMomentum
protected

Definition at line 823 of file G4INCLParticle.hh.


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