#include <HyperbolaStep.h>
Definition at line 17 of file HyperbolaStep.h.
◆ HyperbolaStep()
Definition at line 14 of file HyperbolaStep.cxx.
14 :
27{}
G4LorentzVector m_momentum
std::deque< StringVector >::const_iterator m_stringEnd
std::deque< StringVector >::const_iterator m_stringPtr
const HyperbolaStepper * m_stepper
◆ ~HyperbolaStep()
| HyperbolaStep::~HyperbolaStep |
( |
| ) |
|
◆ Dump()
| void HyperbolaStep::Dump |
( |
G4double | y[] | ) |
|
◆ GetFracLeft()
| G4double HyperbolaStep::GetFracLeft |
( |
| ) |
const |
|
inline |
◆ GetLength()
| G4double HyperbolaStep::GetLength |
( |
| ) |
const |
|
inline |
◆ GetMaxLength()
| G4double HyperbolaStep::GetMaxLength |
( |
| ) |
const |
|
inline |
◆ GetMomentum()
| const G4LorentzVector & HyperbolaStep::GetMomentum |
( |
| ) |
const |
|
inline |
◆ GetPrev()
◆ GetStringOut()
◆ GetStringPtr()
◆ IsBoostLimited()
| G4bool HyperbolaStep::IsBoostLimited |
( |
| ) |
const |
|
inline |
◆ PrepareNextStep()
| void HyperbolaStep::PrepareNextStep |
( |
| ) |
|
Definition at line 31 of file HyperbolaStep.cxx.
31 {
33
37 } else {
40
41
44
45
47 G4double expRapidity0 = gamma0 + std::sqrt(
sqr(gamma0) - 1);
48 G4double maxExpRapidity = std::max(
m_stepper->GetMaxExpRapidity() / expRapidity0, 1.0);
49
50
52 if (tmp > maxExpRapidity - 1) {
55 }
56
57
60 }
61}
◆ Step()
| void HyperbolaStep::Step |
( |
G4double | length | ) |
|
Definition at line 63 of file HyperbolaStep.cxx.
63 {
64
67
68
72
74 for (G4int i = 0; i < 2 && currMaxLength > 0;
i++) {
80 }
81 } else {
84 fracTaken = 0.0;
85 }
86 }
88
89
94 }
95
96
99 G4double dTime = dPosition.t() / CLHEP::c_light;
102
103
106 G4double point[4] = {
p.x(),
p.y(),
p.z(),
m_time - dTime/2};
107 G4double
field[6] = {0};
108 m_stepper->GetField()->GetFieldValue(point, field);
109 G4ThreeVector
B(field[0], field[1], field[2]);
110 G4ThreeVector
E(field[3], field[4], field[5]);
112 G4ThreeVector dMomField =
E * dTime + dPosition.vect().cross(B);
113 m_momentum +=
charge * G4LorentzVector(CLHEP::c_light * dMomField, E * dPosition.vect());
114 }
115
116
118}
double charge(const T &p)
◆ m_fracLeft
| G4double HyperbolaStep::m_fracLeft |
|
private |
◆ m_length
| G4double HyperbolaStep::m_length |
|
private |
◆ m_maxFracTaken
| G4double HyperbolaStep::m_maxFracTaken |
|
private |
◆ m_maxLength
| G4double HyperbolaStep::m_maxLength |
|
private |
◆ m_momentum
| G4LorentzVector HyperbolaStep::m_momentum |
|
private |
◆ m_position
| G4ThreeVector HyperbolaStep::m_position |
|
private |
◆ m_stepper
◆ m_stringEnd
◆ m_stringIn
◆ m_stringOut
◆ m_stringPtr
◆ m_time
| G4double HyperbolaStep::m_time |
|
private |
The documentation for this class was generated from the following files: