#include <G4HelixExplicitEuler.hh>
|
| G4HelixExplicitEuler (G4Mag_EqRhs *EqRhs) |
|
| ~G4HelixExplicitEuler () override |
|
void | Stepper (const G4double y[], const G4double *, G4double h, G4double yout[], G4double yerr[]) override |
|
void | DumbStepper (const G4double y[], G4ThreeVector Bfld, G4double h, G4double yout[]) override |
|
G4double | DistChord () const override |
|
G4int | IntegratorOrder () const override |
|
| G4MagHelicalStepper (G4Mag_EqRhs *EqRhs) |
|
| ~G4MagHelicalStepper () override |
|
| G4MagHelicalStepper (const G4MagHelicalStepper &)=delete |
|
G4MagHelicalStepper & | operator= (const G4MagHelicalStepper &)=delete |
|
void | Stepper (const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[]) override |
|
G4double | DistChord () const override |
|
| G4MagIntegratorStepper (G4EquationOfMotion *Equation, G4int numIntegrationVariables, G4int numStateVariables=12, G4bool isFSAL=false) |
|
virtual | ~G4MagIntegratorStepper ()=default |
|
| G4MagIntegratorStepper (const G4MagIntegratorStepper &)=delete |
|
G4MagIntegratorStepper & | operator= (const G4MagIntegratorStepper &)=delete |
|
void | NormaliseTangentVector (G4double vec[6]) |
|
void | NormalisePolarizationVector (G4double vec[12]) |
|
void | RightHandSide (const G4double y[], G4double dydx[]) const |
|
void | RightHandSide (const G4double y[], G4double dydx[], G4double field[]) const |
|
G4int | GetNumberOfVariables () const |
|
G4int | GetNumberOfStateVariables () const |
|
G4int | IntegrationOrder () |
|
G4EquationOfMotion * | GetEquationOfMotion () |
|
const G4EquationOfMotion * | GetEquationOfMotion () const |
|
void | SetEquationOfMotion (G4EquationOfMotion *newEquation) |
|
unsigned long | GetfNoRHSCalls () |
|
void | ResetfNORHSCalls () |
|
G4bool | IsFSAL () const |
|
G4bool | isQSS () const |
|
void | SetIsQSS (G4bool val) |
|
Definition at line 42 of file G4HelixExplicitEuler.hh.
◆ G4HelixExplicitEuler()
G4HelixExplicitEuler::G4HelixExplicitEuler |
( |
G4Mag_EqRhs * | EqRhs | ) |
|
◆ ~G4HelixExplicitEuler()
G4HelixExplicitEuler::~G4HelixExplicitEuler |
( |
| ) |
|
|
overridedefault |
◆ DistChord()
G4double G4HelixExplicitEuler::DistChord |
( |
| ) |
const |
|
overridevirtual |
Implements G4MagIntegratorStepper.
Definition at line 87 of file G4HelixExplicitEuler.cc.
88{
89
90
91
92
95
96
97 if(Ang_curve<=pi)
98 {
99 distChord=
GetRadHelix()*(1-std::cos(0.5*Ang_curve));
100 }
101 else if(Ang_curve<twopi)
102 {
103 distChord=
GetRadHelix()*(1+std::cos(0.5*(twopi-Ang_curve)));
104 }
105 else
106 {
108 }
109
110 return distChord;
111}
G4double GetRadHelix() const
G4double GetAngCurve() const
◆ DumbStepper()
◆ IntegratorOrder()
G4int G4HelixExplicitEuler::IntegratorOrder |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ Stepper()
Definition at line 47 of file G4HelixExplicitEuler.cc.
52{
53
54
57
58 const G4int nvar = 6 ;
61
62
63
64 for(
G4int i=0; i<nvar; ++i)
65 {
66 yIn[i] = yInput[i];
67 }
68
70
71
72
78
79
80
81 for(
G4int i=0; i<nvar; ++i)
82 {
83 yErr[i] = yOut[i] - yTemp[i];
84 }
85}
void MagFieldEvaluate(const G4double y[], G4ThreeVector &Bfield)
void SetAngCurve(const G4double Ang)
The documentation for this class was generated from the following files: