G4InuclParticle Class Reference

#include <G4InuclParticle.hh>

Inheritance diagram for G4InuclParticle:

G4InuclElementaryParticle G4InuclNuclei

Public Types

 DefaultModel
 bullet
 target
 EPCollider
 INCascader
 NonEquilib
 Equilib
 Fissioner
 BigBanger
 PreCompound
 Coalescence
enum  Model {
  DefaultModel, bullet, target, EPCollider,
  INCascader, NonEquilib, Equilib, Fissioner,
  BigBanger, PreCompound, Coalescence
}

Public Member Functions

 G4InuclParticle ()
 G4InuclParticle (const G4DynamicParticle &dynPart, Model model=DefaultModel)
 G4InuclParticle (const G4LorentzVector &mom, Model model=DefaultModel)
virtual ~G4InuclParticle ()
 G4InuclParticle (const G4InuclParticle &right)
G4InuclParticleoperator= (const G4InuclParticle &right)
bool operator== (const G4InuclParticle &right)
bool operator!= (const G4InuclParticle &right)
void setEnergy ()
void setMomentum (const G4LorentzVector &mom)
void setKineticEnergy (G4double ekin)
void setMass (G4double mass)
G4double getMass () const
G4double getCharge () const
G4double getKineticEnergy () const
G4double getEnergy () const
G4double getMomModule () const
G4LorentzVector getMomentum () const
virtual void print (std::ostream &os) const
G4ParticleDefinitiongetDefinition () const
const G4DynamicParticlegetDynamicParticle () const
void setModel (Model model)
Model getModel () const

Protected Member Functions

 G4InuclParticle (G4ParticleDefinition *pd, Model model=DefaultModel)
 G4InuclParticle (G4ParticleDefinition *pd, const G4LorentzVector &mom, Model model=DefaultModel)
 G4InuclParticle (G4ParticleDefinition *pd, G4double ekin, Model model=DefaultModel)
void setDefinition (G4ParticleDefinition *pd)

Detailed Description

Definition at line 52 of file G4InuclParticle.hh.


Member Enumeration Documentation

enum G4InuclParticle::Model

Enumerator:
DefaultModel 
bullet 
target 
EPCollider 
INCascader 
NonEquilib 
Equilib 
Fissioner 
BigBanger 
PreCompound 
Coalescence 

Definition at line 66 of file G4InuclParticle.hh.


Constructor & Destructor Documentation

G4InuclParticle::G4InuclParticle (  )  [inline]

Definition at line 71 of file G4InuclParticle.hh.

00071 : modelId(DefaultModel) {}

G4InuclParticle::G4InuclParticle ( const G4DynamicParticle dynPart,
Model  model = DefaultModel 
) [inline]

Definition at line 73 of file G4InuclParticle.hh.

00074     : pDP(dynPart), modelId(model) {}

G4InuclParticle::G4InuclParticle ( const G4LorentzVector mom,
Model  model = DefaultModel 
) [inline]

Definition at line 76 of file G4InuclParticle.hh.

References G4DynamicParticle::Set4Momentum().

00077     : modelId(model) { pDP.Set4Momentum(mom*CLHEP::GeV/CLHEP::MeV); }   // Bertini to G4 units

virtual G4InuclParticle::~G4InuclParticle (  )  [inline, virtual]

Definition at line 79 of file G4InuclParticle.hh.

00079 {}

G4InuclParticle::G4InuclParticle ( const G4InuclParticle right  )  [inline]

Definition at line 82 of file G4InuclParticle.hh.

00083     : pDP(right.pDP), modelId(right.modelId) {}

G4InuclParticle::G4InuclParticle ( G4ParticleDefinition pd,
Model  model = DefaultModel 
) [inline, explicit, protected]

Definition at line 146 of file G4InuclParticle.hh.

References setDefinition().

00147     : modelId(model) { setDefinition(pd); }

G4InuclParticle::G4InuclParticle ( G4ParticleDefinition pd,
const G4LorentzVector mom,
Model  model = DefaultModel 
) [protected]

G4InuclParticle::G4InuclParticle ( G4ParticleDefinition pd,
G4double  ekin,
Model  model = DefaultModel 
) [inline, protected]

Definition at line 155 of file G4InuclParticle.hh.

00157     : pDP(pd,G4ThreeVector(0.,0.,1.),ekin*CLHEP::GeV/CLHEP::MeV), modelId(model) {}


Member Function Documentation

G4double G4InuclParticle::getCharge (  )  const [inline]

Definition at line 110 of file G4InuclParticle.hh.

References G4DynamicParticle::GetCharge().

Referenced by G4CascadeCheckBalance::collide(), G4IntraNucleiCascader::generateCascade(), G4NucleiModel::generateParticleFate(), G4CascadeColliderBase::inelasticInteractionPossible(), and G4IntraNucleiCascader::setupCascade().

00110                              {
00111     return pDP.GetCharge();
00112   }

G4ParticleDefinition* G4InuclParticle::getDefinition (  )  const [inline]

Definition at line 132 of file G4InuclParticle.hh.

References G4DynamicParticle::GetDefinition().

Referenced by G4InuclElementaryParticle::baryon(), G4ElementaryParticleCollider::collide(), G4BigBanger::collide(), G4IntraNucleiCascader::decayTrappedParticle(), G4InuclNuclei::getA(), G4InuclNuclei::getNucleiMass(), G4InuclNuclei::getZ(), G4InuclNuclei::print(), G4InuclElementaryParticle::print(), G4CascadeInterface::retryInelasticNucleus(), G4CascadeInterface::retryInelasticProton(), and G4InuclElementaryParticle::type().

00132                                               {
00133     return pDP.GetDefinition();
00134   }

const G4DynamicParticle& G4InuclParticle::getDynamicParticle (  )  const [inline]

Definition at line 136 of file G4InuclParticle.hh.

Referenced by G4CascadeInterface::makeDynamicParticle().

00136                                                       {
00137     return pDP;
00138   }

G4double G4InuclParticle::getEnergy (  )  const [inline]

Definition at line 118 of file G4InuclParticle.hh.

References G4DynamicParticle::GetTotalEnergy().

Referenced by G4CascadeInterface::checkFinalResult(), G4IntraNucleiCascader::decayTrappedParticle(), G4NucleiModel::initializeCascad(), and G4ParticleLargerBeta::operator()().

00118                              {
00119     return pDP.GetTotalEnergy()*CLHEP::MeV/CLHEP::GeV; // From G4 to Bertini units
00120   }

G4double G4InuclParticle::getKineticEnergy (  )  const [inline]

Definition at line 114 of file G4InuclParticle.hh.

References G4DynamicParticle::GetKineticEnergy().

Referenced by G4CascadeRecoilMaker::collide(), G4IntraNucleiCascader::generateCascade(), G4NucleiModel::initializeCascad(), G4CascadeInterface::makeDynamicParticle(), G4InuclElementaryParticle::print(), G4InuclNuclei::setExitationEnergy(), and G4NucleiModel::worthToPropagate().

00114                                     {
00115     return pDP.GetKineticEnergy()*CLHEP::MeV/CLHEP::GeV; // From G4 to Bertini units
00116   }

G4double G4InuclParticle::getMass (  )  const [inline]

Definition at line 106 of file G4InuclParticle.hh.

References G4DynamicParticle::GetMass().

Referenced by G4NonEquilibriumEvaporator::collide(), G4Fissioner::collide(), G4IntraNucleiCascader::generateCascade(), G4InuclNuclei::getExitationEnergy(), G4NucleiModel::initializeCascad(), G4InuclNuclei::print(), G4InuclElementaryParticle::print(), G4InuclNuclei::setExitationEnergy(), and setMomentum().

00106                            {
00107     return pDP.GetMass()*CLHEP::MeV/CLHEP::GeV; // From G4 to Bertini units
00108   }

Model G4InuclParticle::getModel (  )  const [inline]

Definition at line 142 of file G4InuclParticle.hh.

00142 { return modelId; }

G4LorentzVector G4InuclParticle::getMomentum (  )  const [inline]

Definition at line 126 of file G4InuclParticle.hh.

References G4DynamicParticle::Get4Momentum().

Referenced by G4PreCompoundDeexcitation::collide(), G4NonEquilibriumEvaporator::collide(), G4EquilibriumEvaporator::collide(), G4CascadeCheckBalance::collide(), G4BigBanger::collide(), G4IntraNucleiCascader::decayTrappedParticle(), G4CascadParticle::getMomentum(), G4IntraNucleiCascader::initialize(), G4CascadeInterface::makeDynamicParticle(), G4InuclNuclei::makeG4Fragment(), print(), G4LorentzConvertor::setBullet(), G4CollisionOutput::setOnShell(), and G4LorentzConvertor::setTarget().

00126                                       {
00127     return pDP.Get4Momentum()*CLHEP::MeV/CLHEP::GeV; // From G4 to Bertini units
00128   }

G4double G4InuclParticle::getMomModule (  )  const [inline]

Definition at line 122 of file G4InuclParticle.hh.

References G4DynamicParticle::GetTotalMomentum().

Referenced by G4ElementaryParticleCollider::collide(), and G4ParticleLargerBeta::operator()().

00122                                 {
00123     return pDP.GetTotalMomentum()*CLHEP::MeV/CLHEP::GeV; // From G4 to Bertini units
00124   }

bool G4InuclParticle::operator!= ( const G4InuclParticle right  )  [inline]

Definition at line 92 of file G4InuclParticle.hh.

References operator==().

00092                                                 {
00093     return !operator==(right);
00094   }

G4InuclParticle & G4InuclParticle::operator= ( const G4InuclParticle right  ) 

Definition at line 50 of file G4InuclParticle.cc.

References modelId, and pDP.

Referenced by G4InuclNuclei::operator=(), and G4InuclElementaryParticle::operator=().

00050                                                                         {
00051   pDP = right.pDP;
00052   modelId = right.modelId;
00053 
00054   return *this;
00055 }

bool G4InuclParticle::operator== ( const G4InuclParticle right  )  [inline]

Definition at line 88 of file G4InuclParticle.hh.

References pDP.

Referenced by operator!=().

00088                                                 {
00089     return ( (&right == this) || (pDP == right.pDP) );  // Ignore model code
00090   }

void G4InuclParticle::print ( std::ostream &  os  )  const [virtual]

Reimplemented in G4InuclElementaryParticle, and G4InuclNuclei.

Definition at line 85 of file G4InuclParticle.cc.

References getMomentum().

Referenced by operator<<(), G4InuclNuclei::print(), and G4InuclElementaryParticle::print().

00085                                                 {
00086   G4LorentzVector mom = getMomentum();
00087   os << " px " << mom.px() << " py " << mom.py() << " pz " << mom.pz()
00088      << " pmod " << mom.rho() << " E " << mom.e()
00089      << " creator model " << modelId;
00090 }

void G4InuclParticle::setDefinition ( G4ParticleDefinition pd  )  [protected]

Definition at line 59 of file G4InuclParticle.cc.

References G4DynamicParticle::SetDefinition().

Referenced by G4InuclNuclei::clear(), G4InuclParticle(), and G4InuclElementaryParticle::setType().

00059                                                             {
00060   if (pd) pDP.SetDefinition(pd);
00061   else {
00062     static const G4DynamicParticle empty;       // To zero out everything
00063     pDP = empty;
00064   }
00065 }

void G4InuclParticle::setEnergy (  )  [inline]

Definition at line 97 of file G4InuclParticle.hh.

00097 { ; }

void G4InuclParticle::setKineticEnergy ( G4double  ekin  )  [inline]

Definition at line 102 of file G4InuclParticle.hh.

References G4DynamicParticle::SetKineticEnergy().

Referenced by G4InuclNuclei::setExitationEnergy().

00102 { pDP.SetKineticEnergy(ekin*CLHEP::GeV/CLHEP::MeV); }

void G4InuclParticle::setMass ( G4double  mass  )  [inline]

Definition at line 104 of file G4InuclParticle.hh.

References G4DynamicParticle::SetMass().

Referenced by G4InuclNuclei::setExitationEnergy().

00104 { pDP.SetMass(mass*CLHEP::GeV/CLHEP::MeV); }

void G4InuclParticle::setModel ( Model  model  )  [inline]

Definition at line 141 of file G4InuclParticle.hh.

Referenced by G4InuclNuclei::clear(), and G4NonEquilibriumEvaporator::collide().

00141 { modelId = model; }

void G4InuclParticle::setMomentum ( const G4LorentzVector mom  ) 

Definition at line 69 of file G4InuclParticle.cc.

References getMass(), G4DynamicParticle::Set4Momentum(), and G4DynamicParticle::SetMomentum().

Referenced by G4NonEquilibriumEvaporator::collide(), and G4CascadParticle::updateParticleMomentum().

00069                                                             {
00070   G4double mass = getMass();
00071   if (std::fabs(mass-mom.m()) <= 1e-5) 
00072     pDP.Set4Momentum(mom*GeV/MeV);              // From Bertini to G4 units
00073   else
00074     pDP.SetMomentum(mom.vect()*GeV/MeV);        // Don't change current mass!
00075 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:17 2013 for Geant4 by  doxygen 1.4.7