Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4HadProjectile Class Reference

#include <G4HadProjectile.hh>

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)
 

Detailed Description

Definition at line 39 of file G4HadProjectile.hh.

Constructor & Destructor Documentation

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 }
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::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 }
G4ParticleDefinition * GetDefinition() const
HepLorentzRotation & rotateY(double delta)
double phi() const
double theta() const
G4LorentzVector Get4Momentum() const
HepLorentzRotation & rotateZ(double delta)
HepLorentzRotation inverse() const

Here is the call graph for this function:

G4HadProjectile::~G4HadProjectile ( )

Definition at line 57 of file G4HadProjectile.cc.

58 {}

Member Function Documentation

const G4LorentzVector & G4HadProjectile::Get4Momentum ( ) const
inline

Definition at line 86 of file G4HadProjectile.hh.

87 {
88  return theMom;
89 }
G4double G4HadProjectile::GetBoundEnergy ( ) const
inline

Definition at line 118 of file G4HadProjectile.hh.

119 {
120  return theBoundEnergy;
121 }

Here is the caller graph for this function:

const G4ParticleDefinition * G4HadProjectile::GetDefinition ( ) const
inline

Definition at line 81 of file G4HadProjectile.hh.

82 {
83  return theDef;
84 }
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:

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 }
const G4ParticleDefinition * GetDefinition() const
G4double GetPDGMass() const
double G4double
Definition: G4Types.hh:76
G4double GetTotalEnergy() const

Here is the call graph for this function:

const G4Material * G4HadProjectile::GetMaterial ( ) const
inline

Definition at line 76 of file G4HadProjectile.hh.

77 {
78  return theMat;
79 }

Here is the caller graph for this function:

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:

G4double G4HadProjectile::GetTotalMomentum ( ) const
inline

Definition at line 101 of file G4HadProjectile.hh.

102 {
103  return Get4Momentum().vect().mag();
104 }
Hep3Vector vect() const
const G4LorentzVector & Get4Momentum() const
double mag() const

Here is the call graph for this function:

Here is the caller graph for this function:

G4LorentzRotation & G4HadProjectile::GetTrafoToLab ( )
inline

Definition at line 91 of file G4HadProjectile.hh.

92 {
93  return toLabFrame;
94 }

Here is the caller graph for this function:

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 }
G4ParticleDefinition * GetDefinition() const
const G4DynamicParticle * GetDynamicParticle() const
HepLorentzRotation & rotateY(double delta)
double phi() const
double theta() const
G4LorentzVector Get4Momentum() const
G4Material * GetMaterial() const
HepLorentzRotation & rotateZ(double delta)
HepLorentzRotation inverse() const

Here is the call graph for this function:

Here is the caller graph for this function:

void G4HadProjectile::SetBoundEnergy ( G4double  e)
inline

Definition at line 128 of file G4HadProjectile.hh.

129 {
130  theBoundEnergy = e;
131 }

Here is the caller graph for this function:

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:


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