Geant4  10.02.p03
G4MonopoleFieldSetup Class Reference

#include <G4MonopoleFieldSetup.hh>

Collaboration diagram for G4MonopoleFieldSetup:

Public Member Functions

void InitialiseAll ()
 
void SetMagField (G4double fieldValue)
 
void SetStepperAndChordFinder (G4int val)
 
 ~G4MonopoleFieldSetup ()
 

Static Public Member Functions

static G4MonopoleFieldSetupGetMonopoleFieldSetup ()
 

Private Member Functions

 G4MonopoleFieldSetup ()
 
G4FieldManagerGetGlobalFieldManager ()
 

Private Attributes

G4FieldManagerfFieldManager
 
G4ChordFinderfChordFinder
 
G4Mag_UsualEqRhsfEquation
 
G4MonopoleEquationfMonopoleEquation
 
G4MagneticFieldfMagneticField
 
G4MagIntegratorStepperfStepper
 
G4MagIntegratorStepperfMonopoleStepper
 
G4double fMinStep
 
G4MonopoleFieldMessengerfMonopoleFieldMessenger
 

Static Private Attributes

static G4MonopoleFieldSetupfMonopoleFieldSetup =0
 

Detailed Description

Definition at line 63 of file G4MonopoleFieldSetup.hh.

Constructor & Destructor Documentation

◆ ~G4MonopoleFieldSetup()

G4MonopoleFieldSetup::~G4MonopoleFieldSetup ( )

Definition at line 103 of file G4MonopoleFieldSetup.cc.

104 {
106  if(fMagneticField) delete fMagneticField;
107  if(fChordFinder) delete fChordFinder;
108  if(fStepper) delete fStepper;
110 }
G4MagIntegratorStepper * fMonopoleStepper
G4MonopoleFieldMessenger * fMonopoleFieldMessenger
G4ChordFinder * fChordFinder
G4MagneticField * fMagneticField
G4MagIntegratorStepper * fStepper

◆ G4MonopoleFieldSetup()

G4MonopoleFieldSetup::G4MonopoleFieldSetup ( )
private

Definition at line 74 of file G4MonopoleFieldSetup.cc.

75  : fFieldManager(0),
76  fChordFinder(0),
77  fEquation(0),
79  fMagneticField(0),
80  fStepper(0),
82  fMinStep(0.0),
84 {
86 }
G4MagIntegratorStepper * fMonopoleStepper
G4MonopoleFieldMessenger * fMonopoleFieldMessenger
G4Mag_UsualEqRhs * fEquation
G4ChordFinder * fChordFinder
G4MagneticField * fMagneticField
G4MonopoleEquation * fMonopoleEquation
G4MagIntegratorStepper * fStepper
G4FieldManager * fFieldManager

Member Function Documentation

◆ GetGlobalFieldManager()

G4FieldManager * G4MonopoleFieldSetup::GetGlobalFieldManager ( )
private

Definition at line 176 of file G4MonopoleFieldSetup.cc.

177 {
179  ->GetFieldManager();
180 }
G4FieldManager * GetFieldManager() const
static G4TransportationManager * GetTransportationManager()
Here is the call graph for this function:

◆ GetMonopoleFieldSetup()

G4MonopoleFieldSetup * G4MonopoleFieldSetup::GetMonopoleFieldSetup ( )
static

Definition at line 90 of file G4MonopoleFieldSetup.cc.

91 {
92  if (0 == fMonopoleFieldSetup)
93  {
94  static G4MonopoleFieldSetup theInstance;
95  fMonopoleFieldSetup = &theInstance;
96  }
97 
98  return fMonopoleFieldSetup;
99 }
static G4MonopoleFieldSetup * fMonopoleFieldSetup
Here is the caller graph for this function:

◆ InitialiseAll()

void G4MonopoleFieldSetup::InitialiseAll ( )

Definition at line 134 of file G4MonopoleFieldSetup.cc.

135 {
137  ->GetFieldManager();
138 
141 
142  fMinStep = 0.01*mm ; // minimal step of 1 mm is default
143 
144  fMonopoleStepper = new G4ClassicalRK4( fMonopoleEquation, 8 ); // for time information..
146 
148 }
G4MagIntegratorStepper * fMonopoleStepper
G4FieldManager * GetFieldManager() const
static G4TransportationManager * GetTransportationManager()
G4Mag_UsualEqRhs * fEquation
void SetStepperAndChordFinder(G4int val)
G4MagneticField * fMagneticField
G4MonopoleEquation * fMonopoleEquation
G4MagIntegratorStepper * fStepper
G4FieldManager * fFieldManager
static const double mm
Definition: G4SIunits.hh:114
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetMagField()

void G4MonopoleFieldSetup::SetMagField ( G4double  fieldValue)

Definition at line 114 of file G4MonopoleFieldSetup.cc.

115 {
116  //apply a global uniform magnetic field along Z axis
117  if (fMagneticField) { delete fMagneticField; } //delete the existing magn field
118 
119  if (fieldValue != 0.) // create a new one if non nul
120  {
121  fMagneticField = new G4UniformMagField(G4ThreeVector(0., 0., fieldValue));
122  InitialiseAll();
123  }
124  else
125  {
126  fMagneticField = 0;
128  }
129 }
CLHEP::Hep3Vector G4ThreeVector
G4bool SetDetectorField(G4Field *detectorField)
G4MagneticField * fMagneticField
G4FieldManager * fFieldManager
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetStepperAndChordFinder()

void G4MonopoleFieldSetup::SetStepperAndChordFinder ( G4int  val)

Definition at line 152 of file G4MonopoleFieldSetup.cc.

153 {
154  if (fMagneticField)
155  {
157 
158  if(fChordFinder) delete fChordFinder;
159 
160  switch (val)
161  {
162  case 0:
164  break;
165  case 1:
167  break;
168  }
169 
171  }
172 }
G4bool SetDetectorField(G4Field *detectorField)
void SetChordFinder(G4ChordFinder *aChordFinder)
G4MagIntegratorStepper * fMonopoleStepper
G4ChordFinder * fChordFinder
G4MagneticField * fMagneticField
G4MagIntegratorStepper * fStepper
G4FieldManager * fFieldManager
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ fChordFinder

G4ChordFinder* G4MonopoleFieldSetup::fChordFinder
private

Definition at line 82 of file G4MonopoleFieldSetup.hh.

◆ fEquation

G4Mag_UsualEqRhs* G4MonopoleFieldSetup::fEquation
private

Definition at line 83 of file G4MonopoleFieldSetup.hh.

◆ fFieldManager

G4FieldManager* G4MonopoleFieldSetup::fFieldManager
private

Definition at line 81 of file G4MonopoleFieldSetup.hh.

◆ fMagneticField

G4MagneticField* G4MonopoleFieldSetup::fMagneticField
private

Definition at line 85 of file G4MonopoleFieldSetup.hh.

◆ fMinStep

G4double G4MonopoleFieldSetup::fMinStep
private

Definition at line 90 of file G4MonopoleFieldSetup.hh.

◆ fMonopoleEquation

G4MonopoleEquation* G4MonopoleFieldSetup::fMonopoleEquation
private

Definition at line 84 of file G4MonopoleFieldSetup.hh.

◆ fMonopoleFieldMessenger

G4MonopoleFieldMessenger* G4MonopoleFieldSetup::fMonopoleFieldMessenger
private

Definition at line 93 of file G4MonopoleFieldSetup.hh.

◆ fMonopoleFieldSetup

G4MonopoleFieldSetup * G4MonopoleFieldSetup::fMonopoleFieldSetup =0
staticprivate

Definition at line 92 of file G4MonopoleFieldSetup.hh.

◆ fMonopoleStepper

G4MagIntegratorStepper* G4MonopoleFieldSetup::fMonopoleStepper
private

Definition at line 88 of file G4MonopoleFieldSetup.hh.

◆ fStepper

G4MagIntegratorStepper* G4MonopoleFieldSetup::fStepper
private

Definition at line 87 of file G4MonopoleFieldSetup.hh.


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