41 : fDetectorField(detectorField),
42 fChordFinder(pChordFinder),
43 fAllocatedChordFinder(false),
44 fEpsilonMinDefault(5.0e-5),
45 fEpsilonMaxDefault(0.001),
46 fDefault_Delta_One_Step_Value(0.01),
47 fDefault_Delta_Intersection_Val(0.001),
48 fEpsilonMin( fEpsilonMinDefault ),
49 fEpsilonMax( fEpsilonMaxDefault)
51 fDelta_One_Step_Value= fDefault_Delta_One_Step_Value;
52 fDelta_Intersection_Val= fDefault_Delta_Intersection_Val;
56 fFieldChangesEnergy= fieldChangesEnergy;
63 : fDetectorField(detectorField), fAllocatedChordFinder(true),
64 fEpsilonMinDefault(5.0e-5),
65 fEpsilonMaxDefault(0.001),
66 fFieldChangesEnergy(false),
67 fDefault_Delta_One_Step_Value(0.01),
68 fDefault_Delta_Intersection_Val(0.001),
69 fEpsilonMin( fEpsilonMinDefault ),
70 fEpsilonMax( fEpsilonMaxDefault)
73 fDelta_One_Step_Value= fDefault_Delta_One_Step_Value;
74 fDelta_Intersection_Val= fDefault_Delta_Intersection_Val;
85 if ( this->fDetectorField )
86 aField = this->fDetectorField->
Clone();
89 aFM =
new G4FieldManager( aField , 0 , this->fFieldChangesEnergy );
93 if ( this->fAllocatedChordFinder )
101 aCF = this->fChordFinder;
102 aFM->fChordFinder = aCF;
105 aFM->fEpsilonMax = this->fEpsilonMax;
106 aFM->fEpsilonMin = this->fEpsilonMin;
107 aFM->fDefault_Delta_Intersection_Val = this->fDefault_Delta_Intersection_Val;
108 aFM->fDefault_Delta_One_Step_Value = this->fDefault_Delta_One_Step_Value;
109 aFM->fDelta_Intersection_Val = this->fDelta_Intersection_Val;
110 aFM->fDelta_One_Step_Value = this->fDelta_One_Step_Value;
134 if( fAllocatedChordFinder ){
143 if ( fAllocatedChordFinder )
146 fAllocatedChordFinder=
true;
151 fDetectorField= pDetectorField;
153 if ( pDetectorField )
156 fFieldChangesEnergy=
false;
virtual G4FieldManager * Clone() const
G4bool SetDetectorField(G4Field *detectorField)
virtual G4Field * Clone() const
virtual G4bool DoesFieldChangeEnergy() const =0
virtual void ConfigureForTrack(const G4Track *)
G4FieldManager(G4Field *detectorField=0, G4ChordFinder *pChordFinder=0, G4bool b=true)
virtual ~G4FieldManager()
static void Register(G4FieldManager *pVolume)
void CreateChordFinder(G4MagneticField *detectorMagField)
static void DeRegister(G4FieldManager *pVolume)