Geant4-11
Public Member Functions | Private Attributes
G4Nucleon Class Reference

#include <G4Nucleon.hh>

Inheritance diagram for G4Nucleon:
G4VKineticNucleon

Public Member Functions

G4bool AreYouHit () const
 
void Boost (const G4LorentzVector &aMomentum)
 
void Boost (const G4ThreeVector &beta)
 
virtual G4KineticTrackVector * Decay ()
 
 G4Nucleon ()
 
virtual const G4LorentzVector & Get4Momentum () const
 
G4double GetBindingEnergy () const
 
virtual const G4ParticleDefinition * GetDefinition () const
 
const G4LorentzVector & GetMomentum () const
 
const G4ParticleDefinition * GetParticleType () const
 
const G4ThreeVector & GetPosition () const
 
G4VSplitableHadron * GetSplitableHadron () const
 
void Hit (G4int)
 
void Hit (G4VSplitableHadron *aHit)
 
G4bool operator!= (const G4Nucleon &right) const
 
G4bool operator!= (const G4VKineticNucleon &right) const
 
G4Nucleon & operator= (const G4Nucleon &right)
 
G4bool operator== (const G4Nucleon &right) const
 
G4bool operator== (const G4VKineticNucleon &right) const
 
void SetBindingEnergy (G4double anEnergy)
 
void SetMomentum (G4LorentzVector &aMomentum)
 
void SetParticleType (G4AntiLambda *aAntiLambda)
 
void SetParticleType (G4AntiNeutron *aAntiNeutron)
 
void SetParticleType (G4AntiProton *aAntiProton)
 
void SetParticleType (G4Lambda *aLambda)
 
void SetParticleType (G4Neutron *aNeutron)
 
void SetParticleType (G4Proton *aProton)
 
void SetPosition (const G4ThreeVector aPosition)
 
 ~G4Nucleon ()
 

Private Attributes

G4double theBindingE
 
G4LorentzVector theMomentum
 
const G4ParticleDefinition * theParticleType
 
G4ThreeVector thePosition
 
G4VSplitableHadron * theSplitableHadron
 

Detailed Description

Definition at line 54 of file G4Nucleon.hh.

Constructor & Destructor Documentation

◆ G4Nucleon()

G4Nucleon::G4Nucleon ( )

Definition at line 38 of file G4Nucleon.cc.

40{}
const G4ParticleDefinition * theParticleType
Definition: G4Nucleon.hh:105
G4double theBindingE
Definition: G4Nucleon.hh:104
G4VSplitableHadron * theSplitableHadron
Definition: G4Nucleon.hh:106

◆ ~G4Nucleon()

G4Nucleon::~G4Nucleon ( )

Definition at line 42 of file G4Nucleon.cc.

43{
44}

Member Function Documentation

◆ AreYouHit()

G4bool G4Nucleon::AreYouHit ( ) const
inline

◆ Boost() [1/2]

void G4Nucleon::Boost ( const G4LorentzVector &  aMomentum)

Definition at line 46 of file G4Nucleon.cc.

47{
48// see e.g. CERNLIB short writeup U101 for the algorithm
49 G4double mass=aMomentum.mag();
50 G4double factor=
51 ( theMomentum.vect()*aMomentum.vect()/(aMomentum.e()+mass) - theMomentum.e() ) / mass;
52
53 theMomentum.setE(1/mass*theMomentum.dot(aMomentum));
54 theMomentum.setVect(factor*aMomentum.vect() + theMomentum.vect());
55}
double G4double
Definition: G4Types.hh:83
double dot(const HepLorentzVector &) const
Hep3Vector vect() const
void setVect(const Hep3Vector &)
G4LorentzVector theMomentum
Definition: G4Nucleon.hh:103

References CLHEP::HepLorentzVector::dot(), CLHEP::HepLorentzVector::e(), CLHEP::HepLorentzVector::mag(), CLHEP::HepLorentzVector::setE(), CLHEP::HepLorentzVector::setVect(), theMomentum, and CLHEP::HepLorentzVector::vect().

◆ Boost() [2/2]

void G4Nucleon::Boost ( const G4ThreeVector &  beta)
inline

◆ Decay()

G4KineticTrackVector * G4VKineticNucleon::Decay ( )
inlinevirtualinherited

Reimplemented in G4KineticTrack.

Definition at line 71 of file G4VKineticNucleon.hh.

72{
73 return NULL;
74}

◆ Get4Momentum()

virtual const G4LorentzVector & G4Nucleon::Get4Momentum ( ) const
inlinevirtual

◆ GetBindingEnergy()

G4double G4Nucleon::GetBindingEnergy ( ) const
inline

◆ GetDefinition()

virtual const G4ParticleDefinition * G4Nucleon::GetDefinition ( ) const
inlinevirtual

◆ GetMomentum()

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

◆ GetParticleType()

const G4ParticleDefinition * G4Nucleon::GetParticleType ( ) const
inline

◆ GetPosition()

const G4ThreeVector & G4Nucleon::GetPosition ( void  ) const
inlinevirtual

◆ GetSplitableHadron()

G4VSplitableHadron * G4Nucleon::GetSplitableHadron ( ) const
inline

◆ Hit() [1/2]

void G4Nucleon::Hit ( G4int  )
inline

Definition at line 93 of file G4Nucleon.hh.

94 {
95 theSplitableHadron=reinterpret_cast<G4VSplitableHadron *>(1111);
96 }

References theSplitableHadron.

◆ Hit() [2/2]

void G4Nucleon::Hit ( G4VSplitableHadron *  aHit)
inline

◆ operator!=() [1/2]

G4bool G4Nucleon::operator!= ( const G4Nucleon &  right) const
inline

Definition at line 117 of file G4Nucleon.hh.

118{
119 return this!=&right;
120}

◆ operator!=() [2/2]

G4bool G4VKineticNucleon::operator!= ( const G4VKineticNucleon &  right) const
inherited

Definition at line 53 of file G4VKineticNucleon.cc.

54{
55 return this != &right;
56
57}

◆ operator=()

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

Definition at line 122 of file G4Nucleon.hh.

123{
124 if (this != &right)
125 {
126 thePosition=right.GetPosition();
131 }
132 return *this;
133}
const G4ThreeVector & GetPosition() const
Definition: G4Nucleon.hh:140
G4VSplitableHadron * GetSplitableHadron() const
Definition: G4Nucleon.hh:97
virtual const G4LorentzVector & Get4Momentum() const
Definition: G4Nucleon.hh:72
G4double GetBindingEnergy() const
Definition: G4Nucleon.hh:75
virtual const G4ParticleDefinition * GetDefinition() const
Definition: G4Nucleon.hh:86

References Get4Momentum(), GetBindingEnergy(), GetDefinition(), GetPosition(), GetSplitableHadron(), theBindingE, theMomentum, theParticleType, thePosition, and theSplitableHadron.

◆ operator==() [1/2]

G4bool G4Nucleon::operator== ( const G4Nucleon &  right) const
inline

Definition at line 113 of file G4Nucleon.hh.

114{
115 return this==&right;
116}

◆ operator==() [2/2]

G4bool G4VKineticNucleon::operator== ( const G4VKineticNucleon &  right) const
inherited

Definition at line 48 of file G4VKineticNucleon.cc.

49{
50 return this == &right;
51}

◆ SetBindingEnergy()

void G4Nucleon::SetBindingEnergy ( G4double  anEnergy)
inline

Definition at line 74 of file G4Nucleon.hh.

74{theBindingE = anEnergy;}

References theBindingE.

Referenced by G4FTFModel::GetResiduals(), and G4QGSParticipants::GetResiduals().

◆ SetMomentum()

void G4Nucleon::SetMomentum ( G4LorentzVector &  aMomentum)
inline

◆ SetParticleType() [1/6]

void G4Nucleon::SetParticleType ( G4AntiLambda *  aAntiLambda)
inline

Definition at line 83 of file G4Nucleon.hh.

83{theParticleType = aAntiLambda;}

References theParticleType.

◆ SetParticleType() [2/6]

void G4Nucleon::SetParticleType ( G4AntiNeutron *  aAntiNeutron)
inline

Definition at line 82 of file G4Nucleon.hh.

82{theParticleType = aAntiNeutron;}

References theParticleType.

◆ SetParticleType() [3/6]

void G4Nucleon::SetParticleType ( G4AntiProton *  aAntiProton)
inline

Definition at line 81 of file G4Nucleon.hh.

81{theParticleType = aAntiProton;}

References theParticleType.

◆ SetParticleType() [4/6]

void G4Nucleon::SetParticleType ( G4Lambda *  aLambda)
inline

Definition at line 79 of file G4Nucleon.hh.

79{theParticleType = aLambda;}

References theParticleType.

◆ SetParticleType() [5/6]

void G4Nucleon::SetParticleType ( G4Neutron *  aNeutron)
inline

Definition at line 78 of file G4Nucleon.hh.

78{theParticleType = aNeutron;}

References theParticleType.

◆ SetParticleType() [6/6]

void G4Nucleon::SetParticleType ( G4Proton *  aProton)
inline

Definition at line 77 of file G4Nucleon.hh.

77{theParticleType = aProton;}

References theParticleType.

Referenced by G4FTFModel::Init().

◆ SetPosition()

void G4Nucleon::SetPosition ( const G4ThreeVector  aPosition)
inline

Definition at line 135 of file G4Nucleon.hh.

136{
137 thePosition = aPosition;
138}

References thePosition.

Referenced by G4QGSParticipants::GetList(), and G4QGSParticipants::PrepareInitialState().

Field Documentation

◆ theBindingE

G4double G4Nucleon::theBindingE
private

Definition at line 104 of file G4Nucleon.hh.

Referenced by GetBindingEnergy(), operator=(), and SetBindingEnergy().

◆ theMomentum

G4LorentzVector G4Nucleon::theMomentum
private

Definition at line 103 of file G4Nucleon.hh.

Referenced by Boost(), Get4Momentum(), GetMomentum(), operator=(), and SetMomentum().

◆ theParticleType

const G4ParticleDefinition* G4Nucleon::theParticleType
private

Definition at line 105 of file G4Nucleon.hh.

Referenced by GetDefinition(), GetParticleType(), operator=(), and SetParticleType().

◆ thePosition

G4ThreeVector G4Nucleon::thePosition
private

Definition at line 102 of file G4Nucleon.hh.

Referenced by GetPosition(), operator=(), and SetPosition().

◆ theSplitableHadron

G4VSplitableHadron* G4Nucleon::theSplitableHadron
private

Definition at line 106 of file G4Nucleon.hh.

Referenced by AreYouHit(), GetSplitableHadron(), Hit(), and operator=().


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