Geant4-11
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 G4KineticTrackVectorDecay ()
 
 G4Nucleon ()
 
virtual const G4LorentzVectorGet4Momentum () const
 
G4double GetBindingEnergy () const
 
virtual const G4ParticleDefinitionGetDefinition () const
 
const G4LorentzVectorGetMomentum () const
 
const G4ParticleDefinitionGetParticleType () const
 
const G4ThreeVectorGetPosition () const
 
G4VSplitableHadronGetSplitableHadron () const
 
void Hit (G4int)
 
void Hit (G4VSplitableHadron *aHit)
 
G4bool operator!= (const G4Nucleon &right) const
 
G4bool operator!= (const G4VKineticNucleon &right) const
 
G4Nucleonoperator= (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 G4ParticleDefinitiontheParticleType
 
G4ThreeVector thePosition
 
G4VSplitableHadrontheSplitableHadron
 

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: