From 435c34b04dfb6590d772be0a92a30ce2a23cb516 Mon Sep 17 00:00:00 2001 From: nnitika <nnitika@cern.ch> Date: Tue, 11 Jul 2023 19:36:59 +0200 Subject: [PATCH] modified for parameter opt. --- .../include/FSLDetectorConstruction.hh | 55 ++++++++++++++++++- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/FullSimLight/include/FSLDetectorConstruction.hh b/FullSimLight/include/FSLDetectorConstruction.hh index 5c1295b03..e4e40d261 100644 --- a/FullSimLight/include/FSLDetectorConstruction.hh +++ b/FullSimLight/include/FSLDetectorConstruction.hh @@ -15,8 +15,48 @@ #include "G4Cache.hh" #include "G4MagneticField.hh" +#include "G4ChordFinder.hh" +#include "G4UIdirectory.hh" //G4AnalysisMananager #include "FSLAnalysis.hh" +// +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4FieldManager.hh" +#include "G4ChordFinder.hh" +// + +#include <iomanip> + +#include "G4ChordFinder.hh" +#include "G4SystemOfUnits.hh" +#include "G4Field.hh" +#include "G4Mag_UsualEqRhs.hh" +#include "G4MagIntegratorDriver.hh" +// #include "G4ClassicalRK4.hh" +// #include "G4CashKarpRKF45.hh" +// #include "G4BogackiShampine23.hh" +// #include "G4BogackiShampine45.hh" +#include "G4DormandPrince745.hh" + +// New FSAL type driver / steppers ----- +#include "G4FSALIntegrationDriver.hh" +#include "G4VFSALIntegrationStepper.hh" +#include "G4RK547FEq1.hh" +// #include "G4RK547FEq2.hh" +// #include "G4RK547FEq3.hh" +#include "G4NystromRK4.hh" + +// New FSAL type driver / steppers ----- +#include "G4IntegrationDriver.hh" +#include "G4InterpolationDriver.hh" +// #include "G4FSALBogackiShampine45.hh" +// #include "G4FSALDormandPrince745.hh" +#include "G4HelixHeum.hh" +#include "G4BFieldIntegrationDriver.hh" + +#include <cassert> + +// // Units #include "GeoModelKernel/Units.h" @@ -33,6 +73,10 @@ class G4MagIntegratorStepper; class FSLDetectorMessenger; class GeoPhysVol; +class G4FieldManager; +class G4ChordFinder; + + class FSLDetectorConstruction : public G4VUserDetectorConstruction { public: @@ -55,6 +99,7 @@ public: void SetTolerance (const G4double tolerance){fTolerance=tolerance;} void SetOutputGDMLFileName(const G4String &outputGDMLFileName) { fOutputGDMLFileName = outputGDMLFileName; } void SetDumpGDML(const bool dumpGDML) {fDumpGDML=dumpGDML;} + void SetDeltaChord(const G4double DeltaChord) {fDeltaChord=DeltaChord;} //////////added /// Common method to construct a driver with a stepper of requested type. G4VIntegrationDriver* createDriverAndStepper(std::string stepperType) const; @@ -119,8 +164,11 @@ private: G4VPhysicalVolume *fWorld; FSLDetectorMessenger *fDetectorMessenger; G4Cache<G4MagneticField*> fField; //pointer to the thread-local fields - - +////////////////////////////////////////// + G4FieldManager *fFieldManager; // <-- Added field manager variable + // G4ChordFinder *fChordFinder; +G4double fDeltaChord; ////////chord +///////////////////////////////////////////////////////// std::vector<std::string> sensitiveDetectorPluginName; std::string mag_field_plugin_path; @@ -131,7 +179,8 @@ private: std::vector<double> proton_cut; std::vector<double> positron_cut; std::vector<double> gamma_cut; - +///addedd....Nitika +//void SetDeltaChord(G4MagneticField *field); }; #endif -- GitLab