Geant4  10.02.p03
G4HadProjectile Class Reference

#include <G4HadProjectile.hh>

Collaboration diagram for G4HadProjectile:

Public Member Functions

 G4HadProjectile ()
 
 G4HadProjectile (const G4Track &aT)
 
 G4HadProjectile (const G4DynamicParticle &aT)
 
 ~G4HadProjectile ()
 
void Initialise (const G4Track &aT)
 
const G4MaterialGetMaterial () const
 
const G4ParticleDefinitionGetDefinition () const
 
const G4LorentzVectorGet4Momentum () const
 
G4LorentzRotationGetTrafoToLab ()
 
G4double GetKineticEnergy () const
 
G4double GetTotalEnergy () const
 
G4double GetTotalMomentum () const
 
G4double GetGlobalTime () const
 
G4double GetBoundEnergy () const
 
void SetGlobalTime (G4double t)
 
void SetBoundEnergy (G4double e)
 

Private Member Functions

G4HadProjectileoperator= (const G4HadProjectile &right)
 
 G4HadProjectile (const G4HadProjectile &)
 

Private Attributes

const G4MaterialtheMat
 
G4LorentzVector theOrgMom
 
G4LorentzVector theMom
 
const G4ParticleDefinitiontheDef
 
G4LorentzRotation toLabFrame
 
G4double theTime
 
G4double theBoundEnergy
 

Detailed Description

Definition at line 39 of file G4HadProjectile.hh.

Constructor & Destructor Documentation

◆ G4HadProjectile() [1/4]

G4HadProjectile::G4HadProjectile ( )

Definition at line 30 of file G4HadProjectile.cc.

31 {
32  theMat = 0;
33  theDef = 0;
34  theTime = 0.0;
35  theBoundEnergy = 0.0;
36 }
const G4Material * theMat
G4double theBoundEnergy
const G4ParticleDefinition * theDef

◆ G4HadProjectile() [2/4]

G4HadProjectile::G4HadProjectile ( const G4Track &  aT)

Definition at line 38 of file G4HadProjectile.cc.

39 {
40  Initialise(aT);
41 }
void Initialise(const G4Track &aT)
Here is the call graph for this function:

◆ G4HadProjectile() [3/4]

G4HadProjectile::G4HadProjectile ( const G4DynamicParticle aT)

Definition at line 43 of file G4HadProjectile.cc.

44  : theMat(NULL),
45  theOrgMom(aT.Get4Momentum()),
46  theDef(aT.GetDefinition())
47 {
49  toZ.rotateZ(-theOrgMom.phi());
50  toZ.rotateY(-theOrgMom.theta());
51  theMom = toZ*theOrgMom;
52  toLabFrame = toZ.inverse();
53  theTime = 0.0;
54  theBoundEnergy = 0.0;
55 }
G4LorentzVector theOrgMom
G4LorentzRotation toLabFrame
double theta() const
HepLorentzRotation & rotateY(double delta)
const G4Material * theMat
G4double theBoundEnergy
HepLorentzRotation inverse() const
HepLorentzRotation & rotateZ(double delta)
G4LorentzVector theMom
G4LorentzVector Get4Momentum() const
G4ParticleDefinition * GetDefinition() const
const G4ParticleDefinition * theDef
Here is the call graph for this function:

◆ ~G4HadProjectile()

G4HadProjectile::~G4HadProjectile ( )

Definition at line 57 of file G4HadProjectile.cc.

58 {}

◆ G4HadProjectile() [4/4]

G4HadProjectile::G4HadProjectile ( const G4HadProjectile )
private

Member Function Documentation

◆ Get4Momentum()

const G4LorentzVector & G4HadProjectile::Get4Momentum ( ) const
inline

Definition at line 86 of file G4HadProjectile.hh.

87 {
88  return theMom;
89 }
G4LorentzVector theMom

◆ GetBoundEnergy()

G4double G4HadProjectile::GetBoundEnergy ( ) const
inline

Definition at line 118 of file G4HadProjectile.hh.

119 {
120  return theBoundEnergy;
121 }
G4double theBoundEnergy
Here is the caller graph for this function:

◆ GetDefinition()

const G4ParticleDefinition * G4HadProjectile::GetDefinition ( ) const
inline

Definition at line 81 of file G4HadProjectile.hh.

82 {
83  return theDef;
84 }
const G4ParticleDefinition * theDef

◆ GetGlobalTime()

G4double G4HadProjectile::GetGlobalTime ( ) const
inline

Definition at line 113 of file G4HadProjectile.hh.

114 {
115  return theTime;
116 }
Here is the caller graph for this function:

◆ GetKineticEnergy()

G4double G4HadProjectile::GetKineticEnergy ( ) const
inline

Definition at line 106 of file G4HadProjectile.hh.

107 {
109  if(ekin < 0.0) { ekin = 0.0; }
110  return ekin;
111 }
G4double GetTotalEnergy() const
const G4ParticleDefinition * GetDefinition() const
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:

◆ GetMaterial()

const G4Material * G4HadProjectile::GetMaterial ( ) const
inline

Definition at line 76 of file G4HadProjectile.hh.

77 {
78  return theMat;
79 }
const G4Material * theMat
Here is the caller graph for this function:

◆ GetTotalEnergy()

G4double G4HadProjectile::GetTotalEnergy ( void  ) const
inline

Definition at line 96 of file G4HadProjectile.hh.

97 {
98  return Get4Momentum().e();
99 }
const G4LorentzVector & Get4Momentum() const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetTotalMomentum()

G4double G4HadProjectile::GetTotalMomentum ( ) const
inline

Definition at line 101 of file G4HadProjectile.hh.

102 {
103  return Get4Momentum().vect().mag();
104 }
const G4LorentzVector & Get4Momentum() const
Hep3Vector vect() const
double mag() const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetTrafoToLab()

G4LorentzRotation & G4HadProjectile::GetTrafoToLab ( )
inline

Definition at line 91 of file G4HadProjectile.hh.

92 {
93  return toLabFrame;
94 }
G4LorentzRotation toLabFrame
Here is the caller graph for this function:

◆ Initialise()

void G4HadProjectile::Initialise ( const G4Track &  aT)

Definition at line 60 of file G4HadProjectile.cc.

61 {
62  theMat = aT.GetMaterial();
63  theOrgMom = aT.GetDynamicParticle()->Get4Momentum();
64  theDef = aT.GetDefinition();
65 
67  toZ.rotateZ(-theOrgMom.phi());
68  toZ.rotateY(-theOrgMom.theta());
69  theMom = toZ*theOrgMom;
70  toLabFrame = toZ.inverse();
71 
72  //VI time of interaction starts from zero
73  // not global time of a track
74  theTime = 0.0;
75  theBoundEnergy = 0.0;
76 }
G4LorentzVector theOrgMom
G4LorentzRotation toLabFrame
double theta() const
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
Definition: G4Material.cc:604
HepLorentzRotation & rotateY(double delta)
const G4Material * theMat
G4double theBoundEnergy
HepLorentzRotation inverse() const
HepLorentzRotation & rotateZ(double delta)
G4LorentzVector theMom
const G4ParticleDefinition * theDef
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

G4HadProjectile& G4HadProjectile::operator= ( const G4HadProjectile right)
private

◆ SetBoundEnergy()

void G4HadProjectile::SetBoundEnergy ( G4double  e)
inline

Definition at line 128 of file G4HadProjectile.hh.

129 {
130  theBoundEnergy = e;
131 }
G4double theBoundEnergy
Here is the caller graph for this function:

◆ SetGlobalTime()

void G4HadProjectile::SetGlobalTime ( G4double  t)
inline

Definition at line 123 of file G4HadProjectile.hh.

124 {
125  theTime = t;
126 }
Here is the caller graph for this function:

Member Data Documentation

◆ theBoundEnergy

G4double G4HadProjectile::theBoundEnergy
private

Definition at line 73 of file G4HadProjectile.hh.

◆ theDef

const G4ParticleDefinition* G4HadProjectile::theDef
private

Definition at line 70 of file G4HadProjectile.hh.

◆ theMat

const G4Material* G4HadProjectile::theMat
private

Definition at line 67 of file G4HadProjectile.hh.

◆ theMom

G4LorentzVector G4HadProjectile::theMom
private

Definition at line 69 of file G4HadProjectile.hh.

◆ theOrgMom

G4LorentzVector G4HadProjectile::theOrgMom
private

Definition at line 68 of file G4HadProjectile.hh.

◆ theTime

G4double G4HadProjectile::theTime
private

Definition at line 72 of file G4HadProjectile.hh.

◆ toLabFrame

G4LorentzRotation G4HadProjectile::toLabFrame
private

Definition at line 71 of file G4HadProjectile.hh.


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