Geant4
v4-10.4-release
메인 페이지
관련된 페이지
모듈
네임스페이스
클래스
파일들
파일 목록
파일 멤버
모두
클래스
네임스페이스들
파일들
함수
변수
타입정의
열거형 타입
열거형 멤버
Friends
매크로
그룹들
페이지들
source
processes
hadronic
util
include
G4HadProjectile.hh
이 파일의 문서화 페이지로 가기
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
26
#ifndef G4HadProjectile_hh
27
#define G4HadProjectile_hh
28
29
#include "
globals.hh
"
30
#include "
G4Material.hh
"
31
#include "
G4ParticleDefinition.hh
"
32
#include "
G4LorentzVector.hh
"
33
#include "
G4LorentzVector.hh
"
34
#include "
G4LorentzRotation.hh
"
35
36
class
G4Track
;
37
class
G4DynamicParticle
;
38
39
class
G4HadProjectile
40
{
41
public
:
42
G4HadProjectile
();
43
G4HadProjectile
(
const
G4Track
&aT);
44
G4HadProjectile
(
const
G4DynamicParticle
&aT);
45
~G4HadProjectile
();
46
47
void
Initialise
(
const
G4Track
&aT);
48
49
inline
const
G4Material
*
GetMaterial
()
const
;
50
inline
const
G4ParticleDefinition
*
GetDefinition
()
const
;
51
inline
const
G4LorentzVector
&
Get4Momentum
()
const
;
52
inline
G4LorentzRotation
&
GetTrafoToLab
();
53
inline
G4double
GetKineticEnergy
()
const
;
54
inline
G4double
GetTotalEnergy
()
const
;
55
inline
G4double
GetTotalMomentum
()
const
;
56
inline
G4double
GetGlobalTime
()
const
;
57
inline
G4double
GetBoundEnergy
()
const
;
58
inline
void
SetGlobalTime
(
G4double
t);
59
inline
void
SetBoundEnergy
(
G4double
e
);
60
61
private
:
62
63
// hide assignment operator as private
64
G4HadProjectile
&
operator=
(
const
G4HadProjectile
&
right
);
65
G4HadProjectile
(
const
G4HadProjectile
& );
66
67
const
G4Material
*
theMat
;
68
G4LorentzVector
theOrgMom
;
69
G4LorentzVector
theMom
;
70
const
G4ParticleDefinition
*
theDef
;
71
G4LorentzRotation
toLabFrame
;
72
G4double
theTime
;
73
G4double
theBoundEnergy
;
74
};
75
76
const
G4Material
*
G4HadProjectile::GetMaterial
()
const
77
{
78
return
theMat
;
79
}
80
81
const
G4ParticleDefinition
*
G4HadProjectile::GetDefinition
()
const
82
{
83
return
theDef
;
84
}
85
86
inline
const
G4LorentzVector
&
G4HadProjectile::Get4Momentum
()
const
87
{
88
return
theMom
;
89
}
90
91
inline
G4LorentzRotation
&
G4HadProjectile::GetTrafoToLab
()
92
{
93
return
toLabFrame
;
94
}
95
96
G4double
G4HadProjectile::GetTotalEnergy
()
const
97
{
98
return
Get4Momentum
().
e
();
99
}
100
101
G4double
G4HadProjectile::GetTotalMomentum
()
const
102
{
103
return
Get4Momentum
().
vect
().
mag
();
104
}
105
106
G4double
G4HadProjectile::GetKineticEnergy
()
const
107
{
108
G4double
ekin =
GetTotalEnergy
() -
GetDefinition
()->
GetPDGMass
();
109
if
(ekin < 0.0) { ekin = 0.0; }
110
return
ekin;
111
}
112
113
inline
G4double
G4HadProjectile::GetGlobalTime
()
const
114
{
115
return
theTime
;
116
}
117
118
inline
G4double
G4HadProjectile::GetBoundEnergy
()
const
119
{
120
return
theBoundEnergy
;
121
}
122
123
inline
void
G4HadProjectile::SetGlobalTime
(
G4double
t)
124
{
125
theTime
= t;
126
}
127
128
inline
void
G4HadProjectile::SetBoundEnergy
(
G4double
e
)
129
{
130
theBoundEnergy
=
e
;
131
}
132
133
#endif
G4HadProjectile
Definition:
G4HadProjectile.hh:39
G4HadProjectile::GetBoundEnergy
G4double GetBoundEnergy() const
Definition:
G4HadProjectile.hh:118
right
Definition:
F04UserTrackInformation.hh:37
G4HadProjectile::theMat
const G4Material * theMat
Definition:
G4HadProjectile.hh:67
G4HadProjectile::GetTrafoToLab
G4LorentzRotation & GetTrafoToLab()
Definition:
G4HadProjectile.hh:91
G4Material.hh
G4HadProjectile::~G4HadProjectile
~G4HadProjectile()
Definition:
G4HadProjectile.cc:57
G4HadProjectile::SetGlobalTime
void SetGlobalTime(G4double t)
Definition:
G4HadProjectile.hh:123
G4Material
Definition:
G4Material.hh:121
G4HadProjectile::G4HadProjectile
G4HadProjectile()
Definition:
G4HadProjectile.cc:30
G4HadProjectile::GetTotalMomentum
G4double GetTotalMomentum() const
Definition:
G4HadProjectile.hh:101
G4DynamicParticle
Definition:
G4DynamicParticle.hh:73
G4HadProjectile::GetTotalEnergy
G4double GetTotalEnergy() const
Definition:
G4HadProjectile.hh:96
G4ParticleDefinition::GetPDGMass
G4double GetPDGMass() const
Definition:
G4ParticleDefinition.hh:123
G4HadProjectile::theBoundEnergy
G4double theBoundEnergy
Definition:
G4HadProjectile.hh:73
G4HadProjectile::theOrgMom
G4LorentzVector theOrgMom
Definition:
G4HadProjectile.hh:68
G4HadProjectile::Initialise
void Initialise(const G4Track &aT)
Definition:
G4HadProjectile.cc:60
G4double
double G4double
Definition:
G4Types.hh:76
G4HadProjectile::GetGlobalTime
G4double GetGlobalTime() const
Definition:
G4HadProjectile.hh:113
G4HadProjectile::GetMaterial
const G4Material * GetMaterial() const
Definition:
G4HadProjectile.hh:76
G4Track
Definition:
G4Track.hh:76
G4LorentzVector.hh
G4HadProjectile::theMom
G4LorentzVector theMom
Definition:
G4HadProjectile.hh:69
CLHEP::HepLorentzRotation
Definition:
LorentzRotation.h:53
G4ParticleDefinition
Definition:
G4ParticleDefinition.hh:73
G4HadProjectile::toLabFrame
G4LorentzRotation toLabFrame
Definition:
G4HadProjectile.hh:71
globals.hh
G4HadProjectile::Get4Momentum
const G4LorentzVector & Get4Momentum() const
Definition:
G4HadProjectile.hh:86
G4HadProjectile::theDef
const G4ParticleDefinition * theDef
Definition:
G4HadProjectile.hh:70
G4HadProjectile::GetKineticEnergy
G4double GetKineticEnergy() const
Definition:
G4HadProjectile.hh:106
G4HadProjectile::GetDefinition
const G4ParticleDefinition * GetDefinition() const
Definition:
G4HadProjectile.hh:81
CLHEP::Hep3Vector::mag
double mag() const
G4LorentzRotation.hh
G4ParticleDefinition.hh
CLHEP::HepLorentzVector::vect
Hep3Vector vect() const
CLHEP::HepLorentzVector::e
double e() const
e
Float_t e
Definition:
extended/medical/dna/range/plot.C:35
G4HadProjectile::SetBoundEnergy
void SetBoundEnergy(G4double e)
Definition:
G4HadProjectile.hh:128
CLHEP::HepLorentzVector
Definition:
LorentzVector.h:72
G4HadProjectile::theTime
G4double theTime
Definition:
G4HadProjectile.hh:72
G4HadProjectile::operator=
G4HadProjectile & operator=(const G4HadProjectile &right)
다음에 의해 생성됨 :
1.8.5