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