#include <G4ExactHelixStepper.hh>
|
| G4ExactHelixStepper (G4Mag_EqRhs *EqRhs) |
|
| ~G4ExactHelixStepper () |
|
void | Stepper (const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[]) |
|
void | DumbStepper (const G4double y[], G4ThreeVector Bfld, G4double h, G4double yout[]) |
|
G4double | DistChord () const |
|
virtual G4int | IntegratorOrder () const |
|
| G4MagHelicalStepper (G4Mag_EqRhs *EqRhs) |
|
virtual | ~G4MagHelicalStepper () |
|
virtual void | Stepper (const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[]) |
|
virtual void | DumbStepper (const G4double y[], G4ThreeVector Bfld, G4double h, G4double yout[])=0 |
|
G4double | DistChord () const |
|
| G4MagIntegratorStepper (G4EquationOfMotion *Equation, G4int numIntegrationVariables, G4int numStateVariables=12) |
|
virtual | ~G4MagIntegratorStepper () |
|
virtual void | Stepper (const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[])=0 |
|
virtual G4double | DistChord () const =0 |
|
virtual void | ComputeRightHandSide (const G4double y[], G4double dydx[]) |
|
void | NormaliseTangentVector (G4double vec[6]) |
|
void | NormalisePolarizationVector (G4double vec[12]) |
|
void | RightHandSide (const double y[], double dydx[]) |
|
G4int | GetNumberOfVariables () const |
|
G4int | GetNumberOfStateVariables () const |
|
virtual G4int | IntegratorOrder () const =0 |
|
G4EquationOfMotion * | GetEquationOfMotion () |
|
void | SetEquationOfMotion (G4EquationOfMotion *newEquation) |
|
Definition at line 49 of file G4ExactHelixStepper.hh.
◆ G4ExactHelixStepper()
G4ExactHelixStepper::G4ExactHelixStepper |
( |
G4Mag_EqRhs * |
EqRhs | ) |
|
◆ ~G4ExactHelixStepper()
G4ExactHelixStepper::~G4ExactHelixStepper |
( |
| ) |
|
◆ DistChord()
G4double G4ExactHelixStepper::DistChord |
( |
| ) |
const |
|
virtual |
Implements G4MagIntegratorStepper.
Definition at line 99 of file G4ExactHelixStepper.cc.
100{
101
102
103
104
107
108 if (Ang_curve<=pi)
109 {
110 distChord=
GetRadHelix()*(1-std::cos(0.5*Ang_curve));
111 }
112 else if(Ang_curve<twopi)
113 {
114 distChord=
GetRadHelix()*(1+std::cos(0.5*(twopi-Ang_curve)));
115 }
116 else
117 {
119 }
120
121 return distChord;
122}
G4double GetRadHelix() const
G4double GetAngCurve() const
◆ DumbStepper()
Implements G4MagHelicalStepper.
Definition at line 81 of file G4ExactHelixStepper.cc.
85{
86
87
89
92 "Should not be called. Stepper must do all the work." );
93}
void AdvanceHelix(const G4double yIn[], G4ThreeVector Bfld, G4double h, G4double yHelix[], G4double yHelix2[]=0)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
◆ IntegratorOrder()
G4int G4ExactHelixStepper::IntegratorOrder |
( |
| ) |
const |
|
virtual |
◆ Stepper()
Reimplemented from G4MagHelicalStepper.
Definition at line 56 of file G4ExactHelixStepper.cc.
61{
63
66
69
70
71
72 for(i=0;i<nvar;i++)
73 {
74 yErr[i] = 0.0 ;
75 }
76
77 fBfieldValue=Bfld_value;
78}
void MagFieldEvaluate(const G4double y[], G4ThreeVector &Bfield)
The documentation for this class was generated from the following files: