From 045af45aec6ee004ef31abf44b71746a38bde54f Mon Sep 17 00:00:00 2001
From: "audrey.chatillon" <audrey.chatillon@gmail.com>
Date: Wed, 18 Dec 2024 15:42:19 +0100
Subject: [PATCH] read new fields in config file

---
 .../FissionChamberEPIC/FissionChamberEPIC.cc  | 20 ++++++++++---------
 .../FissionChamberEPIC/FissionChamberEPIC.hh  |  3 +++
 2 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/NPSimulation/Detectors/FissionChamberEPIC/FissionChamberEPIC.cc b/NPSimulation/Detectors/FissionChamberEPIC/FissionChamberEPIC.cc
index 28345f340..a047b1679 100644
--- a/NPSimulation/Detectors/FissionChamberEPIC/FissionChamberEPIC.cc
+++ b/NPSimulation/Detectors/FissionChamberEPIC/FissionChamberEPIC.cc
@@ -130,9 +130,14 @@ void FissionChamberEPIC::ReadConfiguration(NPL::InputParser parser){
       G4ThreeVector Pos = NPS::ConvertVector(blocks[i]->GetTVector3("POS","mm"));
       string GasMaterial = blocks[i]->GetString("GasMaterial");
       double Pressure = blocks[i]->GetDouble("Pressure","bar");
+      double Distance_AK = blocks[i]->GetDouble("Distance_AnodeCathode","mm");
+      int    nA = blocks[i]->GetInt("nAnodes");
       AddDetector(Pos);
       m_GasMaterial = GasMaterial;
       m_Pressure = Pressure;
+      m_Distance_AK = Distance_AK;
+      m_nA = nA;
+      m_nK = m_nA + 1;
     }
     else{
       cout << "ERROR: check your input file formatting " << endl;
@@ -292,18 +297,15 @@ G4AssemblyVolume* FissionChamberEPIC::BuildFissionChamberEPIC(){
   m_FissionChamberEPICVolume->AddPlacedVolume(foil2_vol, Tv, Rv);
 
   // Cathode and Anode //
-  BuildCathode(-27.5);
-  double origine_anode = -25*mm;
-  double origine_cathode = -22.5*mm;
-  for(int i=0; i<11; i++){
-    BuildAnode(origine_anode+i*5*mm); 
+  double origine_cathode = -1.*(double)m_nA*m_Distance_AK*mm;
+  double origine_anode = origine_cathode + m_Distance_AK;
+  for(int i=0; i<m_nA; i++){
+    BuildAnode(origine_anode+i*2.*m_Distance_AK*mm); 
   }
-  for(int i=0; i<10; i++){
-    BuildCathode(origine_cathode+i*5*mm);
+  for(int i=0; i<m_nK; i++){
+    BuildCathode(origine_cathode+i*2.*m_Distance_AK*mm);
   }
 
-  BuildCathode(27.5);
-
 
   return m_FissionChamberEPICVolume;
 } 
diff --git a/NPSimulation/Detectors/FissionChamberEPIC/FissionChamberEPIC.hh b/NPSimulation/Detectors/FissionChamberEPIC/FissionChamberEPIC.hh
index fc35f22f4..7e3b34779 100644
--- a/NPSimulation/Detectors/FissionChamberEPIC/FissionChamberEPIC.hh
+++ b/NPSimulation/Detectors/FissionChamberEPIC/FissionChamberEPIC.hh
@@ -109,6 +109,9 @@ class FissionChamberEPIC : public NPS::VDetector{
 
     string m_GasMaterial;
     double m_Pressure;
+    double m_Distance_AK;
+    int    m_nA;
+    int    m_nK;
 
     // Visualisation Attribute
     G4VisAttributes* m_VisFCWall;
-- 
GitLab