Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4HelixHeum Class Reference

#include <G4HelixHeum.hh>

+ Inheritance diagram for G4HelixHeum:

Public Member Functions

 G4HelixHeum (G4Mag_EqRhs *EqRhs)
 
 ~G4HelixHeum () override
 
void DumbStepper (const G4double y[], G4ThreeVector Bfld, G4double h, G4double yout[]) override
 
G4int IntegratorOrder () const override
 
- Public Member Functions inherited from G4MagHelicalStepper
 G4MagHelicalStepper (G4Mag_EqRhs *EqRhs)
 
 ~G4MagHelicalStepper () override
 
 G4MagHelicalStepper (const G4MagHelicalStepper &)=delete
 
G4MagHelicalStepperoperator= (const G4MagHelicalStepper &)=delete
 
void Stepper (const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[]) override
 
G4double DistChord () const override
 
- Public Member Functions inherited from G4MagIntegratorStepper
 G4MagIntegratorStepper (G4EquationOfMotion *Equation, G4int numIntegrationVariables, G4int numStateVariables=12, G4bool isFSAL=false)
 
virtual ~G4MagIntegratorStepper ()=default
 
 G4MagIntegratorStepper (const G4MagIntegratorStepper &)=delete
 
G4MagIntegratorStepperoperator= (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 ()
 
G4EquationOfMotionGetEquationOfMotion ()
 
const G4EquationOfMotionGetEquationOfMotion () const
 
void SetEquationOfMotion (G4EquationOfMotion *newEquation)
 
unsigned long GetfNoRHSCalls ()
 
void ResetfNORHSCalls ()
 
G4bool IsFSAL () const
 
G4bool isQSS () const
 
void SetIsQSS (G4bool val)
 

Additional Inherited Members

- Protected Member Functions inherited from G4MagHelicalStepper
void LinearStep (const G4double yIn[], G4double h, G4double yHelix[]) const
 
void AdvanceHelix (const G4double yIn[], const G4ThreeVector &Bfld, G4double h, G4double yHelix[], G4double yHelix2[]=nullptr)
 
void MagFieldEvaluate (const G4double y[], G4ThreeVector &Bfield)
 
G4double GetInverseCurve (const G4double Momentum, const G4double Bmag)
 
void SetAngCurve (const G4double Ang)
 
G4double GetAngCurve () const
 
void SetCurve (const G4double Curve)
 
G4double GetCurve () const
 
void SetRadHelix (const G4double Rad)
 
G4double GetRadHelix () const
 
- Protected Member Functions inherited from G4MagIntegratorStepper
void SetIntegrationOrder (G4int order)
 
void SetFSAL (G4bool flag=true)
 

Detailed Description

Definition at line 43 of file G4HelixHeum.hh.

Constructor & Destructor Documentation

◆ G4HelixHeum()

G4HelixHeum::G4HelixHeum ( G4Mag_EqRhs * EqRhs)

Definition at line 41 of file G4HelixHeum.cc.

42 : G4MagHelicalStepper(EqRhs)
43{
44}
G4MagHelicalStepper(G4Mag_EqRhs *EqRhs)

◆ ~G4HelixHeum()

G4HelixHeum::~G4HelixHeum ( )
overridedefault

Member Function Documentation

◆ DumbStepper()

void G4HelixHeum::DumbStepper ( const G4double y[],
G4ThreeVector Bfld,
G4double h,
G4double yout[] )
overridevirtual

Implements G4MagHelicalStepper.

Definition at line 49 of file G4HelixHeum.cc.

53{
54 const G4int nvar = 6 ;
55
56 G4ThreeVector Bfield_Temp, Bfield_Temp2;
57 G4double yTemp[6], yAdd1[6], yAdd2[6] , yTemp2[6];
58
59 AdvanceHelix( yIn, Bfld, h, yAdd1 );
60
61 AdvanceHelix( yIn, Bfld, h/3.0, yTemp );
62 MagFieldEvaluate(yTemp,Bfield_Temp);
63
64 AdvanceHelix( yIn, Bfield_Temp, (2.0 / 3.0) * h, yTemp2 );
65
66 MagFieldEvaluate(yTemp2,Bfield_Temp2);
67
68 AdvanceHelix( yIn, Bfield_Temp2, h, yAdd2 );
69
70 for( G4int i = 0; i < nvar; ++i )
71 {
72 yOut[i] = ( 0.25 * yAdd1[i] + 0.75 * yAdd2[i]);
73 }
74
75 // NormaliseTangentVector( yOut );
76}
double G4double
Definition G4Types.hh:83
int G4int
Definition G4Types.hh:85
void MagFieldEvaluate(const G4double y[], G4ThreeVector &Bfield)
void AdvanceHelix(const G4double yIn[], const G4ThreeVector &Bfld, G4double h, G4double yHelix[], G4double yHelix2[]=nullptr)

◆ IntegratorOrder()

G4int G4HelixHeum::IntegratorOrder ( ) const
inlineoverridevirtual

Implements G4MagIntegratorStepper.

Definition at line 55 of file G4HelixHeum.hh.

55{ return 2; }

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