diff --git a/NPSimulation/Detectors/FissionChamberEPIC/FissionChamberEPIC.cc b/NPSimulation/Detectors/FissionChamberEPIC/FissionChamberEPIC.cc index 28345f3404596ab26bae6ba63b0e37ea468a36ff..a047b16799582372e82c6918092dd7371fe952c1 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 fc35f22f43dcf232934a05c7e067456a547ba740..7e3b34779e9f02bcca86e8e02cf42402b843a283 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;