5 #include "G4ChordFinder.hh" 7 #include "CLHEP/Units/GlobalSystemOfUnits.h" 10 : G4FieldManager(), currChordFinder(
nullptr), chordFinder(
nullptr),
11 chordFinderMonopole(
nullptr), dChord(0.001), dOneStep(0.001),
12 dIntersection(0.0001), energyThreshold(0.0), dChordSimple(0.1),
13 dOneStepSimple(0.1), dIntersectionSimple(0.01)
20 G4ChordFinder* cf, G4ChordFinder* cfmon,
23 double delta,
double minstep)
38 <<
" New CMSFieldManager: LogicalVolume: <" << vol <<
">\n" 39 <<
" Stepper: <" << stepper <<
">\n" 40 <<
" Field type <" << type<<
">\n" 41 <<
" Field const delta(mm) " << delta <<
"\n" 42 <<
" MinStep(mm) " << minstep<<
"\n" 43 <<
" DeltaChord(mm) " <<
dChord<<
"\n" 44 <<
" DeltaOneStep(mm) " << dOneStep<<
"\n" 45 <<
" DeltaIntersection(mm) " << dIntersection<<
"\n" 46 <<
" EnergyThreshold(GeV) " << energyThreshold<<
"\n" 47 <<
" DeltaChordSimple(mm) " <<
dChord<<
"\n" 48 <<
" DeltaOneStepSimple(mm) " << dOneStep<<
"\n" 49 <<
" DeltaIntersectionSimple(mm) " << dIntersection<<
"\n" 50 <<
" MaximumLoopCounts " << maxLC<<
"\n" 51 <<
" MinimumEpsilonStep " << minEpsStep<<
"\n" 52 <<
" MaximumEpsilonStep " << maxEpsStep;
62 SetDetectorField(field);
63 SetDeltaOneStep(dOneStep);
64 SetDeltaIntersection(dIntersection);
65 SetMinimumEpsilonStep(minEpsStep);
66 SetMaximumEpsilonStep(maxEpsStep);
74 if(track->GetKineticEnergy() <=
energyThreshold && track->GetParentID() > 0) {
89 SetFieldChangesEnergy(
true);
92 SetFieldChangesEnergy(
false);
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
void InitialiseForVolume(const edm::ParameterSet &, sim::Field *, G4ChordFinder *, G4ChordFinder *, const std::string &vol, const std::string &type, const std::string &stepper, double delta, double minstep)
G4ChordFinder * chordFinder
G4ChordFinder * chordFinderMonopole
double dIntersectionSimple
G4ChordFinder * currChordFinder
virtual void ConfigureForTrack(const G4Track *)
virtual ~CMSFieldManager()
std::unique_ptr< sim::Field > theField
void SetMonopoleTracking(G4bool)