13 #include "G4Mag_UsualEqRhs.hh" 14 #include "G4ClassicalRK4.hh" 15 #include "G4PropagatorInField.hh" 16 #include "G4FieldManager.hh" 17 #include "G4ChordFinder.hh" 18 #include "G4LogicalVolumeStore.hh" 19 #include "CLHEP/Units/GlobalSystemOfUnits.h" 24 : theTopVolume(
nullptr),thePSet(p)
45 <<
" FieldBuilder::build: Global magnetic field is used";
51 G4PropagatorInField * fP)
53 G4LogicalVolumeStore* theStore = G4LogicalVolumeStore::GetInstance();
54 for (
auto vol : *theStore) {
65 double minStep = stpPSet.
getParameter<
double>(
"MinStep")*CLHEP::mm;
68 G4ChordFinder* cf =
new G4ChordFinder(
theField,minStep,dStepper);
71 G4MagIntegratorStepper* mStepper =
new G4ClassicalRK4(monopoleEquation,8);
72 G4ChordFinder* cfmon =
new G4ChordFinder(
theField, minStep, mStepper);
T getParameter(std::string const &) const
G4LogicalVolume * theTopVolume
FieldBuilder(const MagneticField *, const edm::ParameterSet &)
void build(CMSFieldManager *fM, G4PropagatorInField *fP)
G4Mag_UsualEqRhs * theFieldEquation
void InitialiseForVolume(const edm::ParameterSet &, sim::Field *, G4ChordFinder *cfDefault, G4ChordFinder *cfMonopole, const std::string &vol, const std::string &fieldType, const std::string &stepperName, double delta, G4PropagatorInField *)
edm::ParameterSet thePSet
void configureForVolume(const std::string &volName, edm::ParameterSet &volPSet, CMSFieldManager *fM, G4PropagatorInField *fP)