58 fDeltaOneStep(0.01*
mm), fDeltaIntersection(0.1*
mm),
59 fEpsMin(2.5e-7*
mm), fEpsMax(0.05*
mm),
60 fEquation(0), fFieldManager(0),
61 fFieldPropagator(0), fStepper(0), fChordFinder(0),
62 fDetectorConstruction(det)
97 delete fFieldMessenger;
99 if (fEquation)
delete fEquation;
100 if (fStepper)
delete fStepper;
101 if (fChordFinder)
delete fChordFinder;
151 G4cout <<
"Accuracy Parameters:" <<
152 " MinStep=" << fMinStep <<
153 " DeltaChord=" << fDeltaChord <<
154 " DeltaOneStep=" << fDeltaOneStep <<
G4endl;
156 " DeltaIntersection=" << fDeltaIntersection <<
157 " EpsMin=" << fEpsMin <<
158 " EpsMax=" << fEpsMax <<
G4endl;
172 focusSolenoid -> SetHalf(
true);
190 if (fFields->size()>0) {
191 FieldList::iterator i;
192 for (i=fFields->begin(); i!=fFields->end(); ++i){
211 if (fObject)
return fObject;
219 if(fStepper)
delete fStepper;
221 switch ( fStepperType )
246 G4cout <<
"G4ClassicalRK4 (default) is called" <<
G4endl;
253 default: fStepper = 0;
273 field[0] = field[1] = field[2] = field[3] = field[4] = field[5] = 0.0;
276 if(point[0] != point[0])
return;
281 for (
int i=0; i<fNfp; ++i) {
295 if (fFields->size()>0) {
296 FieldList::iterator i;
297 for (i=fFields->begin(); i!=fFields->end(); ++i)
delete *i;
302 if (fFp) {
delete [] fFp; }
310 void F04GlobalField::SetupArray()
313 fNfp = fFields->size();
315 for (
int i=0; i<fNfp; ++i) fFp[i] = (*fFields)[i];
void SetMaxStep(G4double stp)
SetMaxStep(G4double) sets the max. step size.
G4LogicalVolume * GetTransferMgnt()
static constexpr double mm
virtual ~F04GlobalField()
G4bool SetDetectorField(G4Field *detectorField)
Definition of the F04GlobalField class.
virtual void AddFieldValue(const G4double point[4], G4double field[6]) const =0
G4double GetCaptureMgntB2()
double B(double temperature)
virtual void GetFieldValue(const G4double *point, G4double *field) const
void SetChordFinder(G4ChordFinder *aChordFinder)
void SetColor(G4String c)
SetColor(G4String) sets the color.
void SetAccuraciesWithDeltaOneStep(G4double valDeltaOneStep)
static F04GlobalField * GetObject()
G4GLOB_DLL std::ostream G4cout
std::vector< F04ElementField * > FieldList
G4ThreeVector GetCaptureMgntCenter()
G4FieldManager * GetGlobalFieldManager()
Get the global field manager.
Definition of the F04FocusSolenoid class.
G4double GetTransferMgntB()
static G4TransportationManager * GetTransportationManager()
G4FieldManager * GetFieldManager() const
G4LogicalVolume * GetCaptureMgnt()
bool IsInBoundingBox(const G4double point[4]) const
void ConstructField()
constructs all field tracking objects
void SetDeltaIntersection(G4double valueDintersection)
void SetMinimumEpsilonStep(G4double newEpsMin)
void SetFieldChangesEnergy(G4bool value)
Definition of the F04SimpleSolenoid class.
G4double GetCaptureMgntB1()
void SetMaximumEpsilonStep(G4double newEpsMax)
G4PropagatorInField * GetPropagatorInField() const
void SetStepper()
Set the Stepper.
void SetDeltaChord(G4double newval)
G4ThreeVector GetTransferMgntCenter()