G4Nucleon Class Reference

#include <G4Nucleon.hh>

Inheritance diagram for G4Nucleon:

G4VKineticNucleon

Public Member Functions

 G4Nucleon ()
 ~G4Nucleon ()
int operator== (const G4Nucleon &right) const
int operator!= (const G4Nucleon &right) const
G4Nucleonoperator= (const G4Nucleon &right)
void SetPosition (G4ThreeVector &aPosition)
virtual const G4ThreeVectorGetPosition () const
void SetMomentum (G4LorentzVector &aMomentum)
const G4LorentzVectorGetMomentum () const
virtual const G4LorentzVectorGet4Momentum () const
void SetBindingEnergy (G4double anEnergy)
G4double GetBindingEnergy () const
void SetParticleType (G4Proton *aProton)
void SetParticleType (G4Neutron *aNeutron)
void SetParticleType (G4AntiProton *aAntiProton)
void SetParticleType (G4AntiNeutron *aAntiNeutron)
G4ParticleDefinitionGetParticleType () const
virtual G4ParticleDefinitionGetDefinition () const
void Boost (const G4ThreeVector &beta)
void Boost (const G4LorentzVector &aMomentum)
void Hit (G4VSplitableHadron *aHit)
void Hit (G4int)
G4VSplitableHadronGetSplitableHadron () const
G4bool AreYouHit () const

Detailed Description

Definition at line 54 of file G4Nucleon.hh.


Constructor & Destructor Documentation

G4Nucleon::G4Nucleon (  ) 

Definition at line 38 of file G4Nucleon.cc.

00039 : theBindingE(0.) , theParticleType(0), theSplitableHadron(0)
00040 {}

G4Nucleon::~G4Nucleon (  ) 

Definition at line 42 of file G4Nucleon.cc.

00043 {
00044 }


Member Function Documentation

G4bool G4Nucleon::AreYouHit (  )  const [inline]

Definition at line 97 of file G4Nucleon.hh.

Referenced by G4FTFParticipants::GetList(), G4KineticTrack::IsParticipant(), G4StringChipsParticleLevelInterface::Propagate(), G4StringChipsInterface::Propagate(), G4QStringChipsParticleLevelInterface::Propagate(), G4GeneratorPrecompoundInterface::Propagate(), and G4VPartonStringModel::Scatter().

00097 {  return theSplitableHadron!=0;}

void G4Nucleon::Boost ( const G4LorentzVector aMomentum  ) 

Definition at line 46 of file G4Nucleon.cc.

00047 {
00048 //   see e.g. CERNLIB short writeup U101 for the algorithm
00049         G4double mass=aMomentum.mag();
00050         G4double factor=
00051             ( theMomentum.vect()*aMomentum.vect()/(aMomentum.e()+mass) - theMomentum.e() ) / mass;
00052 
00053         theMomentum.setE(1/mass*theMomentum.dot(aMomentum));
00054         theMomentum.setVect(factor*aMomentum.vect() + theMomentum.vect());
00055 }

void G4Nucleon::Boost ( const G4ThreeVector beta  )  [inline]

Definition at line 87 of file G4Nucleon.hh.

00087 { theMomentum.boost(beta); } 

virtual const G4LorentzVector& G4Nucleon::Get4Momentum (  )  const [inline, virtual]

Implements G4VKineticNucleon.

Definition at line 72 of file G4Nucleon.hh.

Referenced by operator<<(), operator=(), G4GeneratorPrecompoundInterface::Propagate(), G4VPartonStringModel::Scatter(), and G4QGSParticipants::SelectInteractions().

00072 {return theMomentum;}

G4double G4Nucleon::GetBindingEnergy (  )  const [inline]

Definition at line 75 of file G4Nucleon.hh.

Referenced by G4FTFParticipants::GetList(), operator=(), G4GeneratorPrecompoundInterface::Propagate(), and G4QGSParticipants::SelectInteractions().

00075 {return theBindingE;}

virtual G4ParticleDefinition* G4Nucleon::GetDefinition (  )  const [inline, virtual]

Implements G4VKineticNucleon.

Definition at line 85 of file G4Nucleon.hh.

Referenced by G4FTFModel::Init(), operator=(), G4StringChipsParticleLevelInterface::Propagate(), G4StringChipsInterface::Propagate(), G4QStringChipsParticleLevelInterface::Propagate(), G4GeneratorPrecompoundInterface::Propagate(), G4VPartonStringModel::Scatter(), and G4QGSParticipants::SelectInteractions().

00085 {return theParticleType;}

const G4LorentzVector& G4Nucleon::GetMomentum ( void   )  const [inline]

Definition at line 71 of file G4Nucleon.hh.

Referenced by G4VSplitableHadron::G4VSplitableHadron(), G4StringChipsParticleLevelInterface::Propagate(), G4StringChipsInterface::Propagate(), and G4QStringChipsParticleLevelInterface::Propagate().

00071 {return theMomentum;}

G4ParticleDefinition* G4Nucleon::GetParticleType (  )  const [inline]

Definition at line 84 of file G4Nucleon.hh.

Referenced by G4LowEIonFragmentation::ApplyYourself(), and G4VSplitableHadron::G4VSplitableHadron().

00084 {return theParticleType;}

virtual const G4ThreeVector& G4Nucleon::GetPosition ( void   )  const [inline, virtual]

Implements G4VKineticNucleon.

Definition at line 68 of file G4Nucleon.hh.

Referenced by G4LowEIonFragmentation::ApplyYourself(), G4Fancy3DNucleusHelperForSortInZ(), G4VSplitableHadron::G4VSplitableHadron(), G4FTFParticipants::GetList(), operator<<(), operator=(), and G4QGSParticipants::SelectInteractions().

00068 {return thePosition;}

G4VSplitableHadron* G4Nucleon::GetSplitableHadron (  )  const [inline]

Definition at line 96 of file G4Nucleon.hh.

Referenced by G4FTFParticipants::GetList(), and operator=().

00096 { return theSplitableHadron;}

void G4Nucleon::Hit ( G4int   )  [inline]

Definition at line 92 of file G4Nucleon.hh.

00093     { 
00094       theSplitableHadron=reinterpret_cast<G4VSplitableHadron *>(1111); 
00095     }

void G4Nucleon::Hit ( G4VSplitableHadron aHit  )  [inline]

Definition at line 90 of file G4Nucleon.hh.

Referenced by G4KineticTrack::Hit(), and G4QGSParticipants::SelectInteractions().

00090 { theSplitableHadron=aHit;}

int G4Nucleon::operator!= ( const G4Nucleon right  )  const [inline]

Definition at line 116 of file G4Nucleon.hh.

00117 {
00118         return this!=&right;
00119 }

G4Nucleon & G4Nucleon::operator= ( const G4Nucleon right  )  [inline]

Definition at line 121 of file G4Nucleon.hh.

References Get4Momentum(), GetBindingEnergy(), GetDefinition(), GetPosition(), and GetSplitableHadron().

00122 {
00123    if (this != &right)
00124    {
00125       thePosition=right.GetPosition();
00126       theMomentum=right.Get4Momentum();
00127       theBindingE=right.GetBindingEnergy();
00128       theParticleType=right.GetDefinition();
00129       theSplitableHadron=right.GetSplitableHadron();
00130    }
00131         return *this;
00132 }

int G4Nucleon::operator== ( const G4Nucleon right  )  const [inline]

Definition at line 112 of file G4Nucleon.hh.

00113 {
00114         return this==&right;
00115 }

void G4Nucleon::SetBindingEnergy ( G4double  anEnergy  )  [inline]

Definition at line 74 of file G4Nucleon.hh.

00074 {theBindingE = anEnergy;}

void G4Nucleon::SetMomentum ( G4LorentzVector aMomentum  )  [inline]

Definition at line 70 of file G4Nucleon.hh.

Referenced by G4QGSParticipants::SelectInteractions().

00070 {theMomentum = aMomentum;}

void G4Nucleon::SetParticleType ( G4AntiNeutron aAntiNeutron  )  [inline]

Definition at line 81 of file G4Nucleon.hh.

00081 {theParticleType =aAntiNeutron;}//VU

void G4Nucleon::SetParticleType ( G4AntiProton aAntiProton  )  [inline]

Definition at line 80 of file G4Nucleon.hh.

00080 {theParticleType =aAntiProton;} //VU

void G4Nucleon::SetParticleType ( G4Neutron aNeutron  )  [inline]

Definition at line 78 of file G4Nucleon.hh.

00078 {theParticleType = aNeutron;}

void G4Nucleon::SetParticleType ( G4Proton aProton  )  [inline]

Definition at line 77 of file G4Nucleon.hh.

Referenced by G4FTFModel::Init().

00077 {theParticleType = aProton;}

void G4Nucleon::SetPosition ( G4ThreeVector aPosition  )  [inline]

Definition at line 67 of file G4Nucleon.hh.

00067 {thePosition = aPosition;}


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