diff --git a/FCCee/IDEA/compact/IDEA_o2_v01/DREndcapTubes_o1_v01.xml b/FCCee/IDEA/compact/IDEA_o2_v01/DREndcapTubes_o1_v01.xml
index 10e4c2eba..78d485cf4 100644
--- a/FCCee/IDEA/compact/IDEA_o2_v01/DREndcapTubes_o1_v01.xml
+++ b/FCCee/IDEA/compact/IDEA_o2_v01/DREndcapTubes_o1_v01.xml
@@ -270,8 +270,21 @@
+
+
- stave:10,tower:6,air:1,col:16,row:16,clad:1,core:1,cherenkov:1
+ system:5,stave:10,tower:6,air:1,col:16,row:16,clad:1,core:1,cherenkov:1
diff --git a/FCCee/IDEA/compact/IDEA_o2_v01/DectDimensions_IDEA_o2_v01.xml b/FCCee/IDEA/compact/IDEA_o2_v01/DectDimensions_IDEA_o2_v01.xml
index 9895c63b1..d8e9a9470 100644
--- a/FCCee/IDEA/compact/IDEA_o2_v01/DectDimensions_IDEA_o2_v01.xml
+++ b/FCCee/IDEA/compact/IDEA_o2_v01/DectDimensions_IDEA_o2_v01.xml
@@ -53,6 +53,11 @@
+
diff --git a/detector/calorimeter/dual-readout-tubes/src/DREndcapTubes_o1_v01.cpp b/detector/calorimeter/dual-readout-tubes/src/DREndcapTubes_o1_v01.cpp
index 3f2ae408c..a9061e6fd 100644
--- a/detector/calorimeter/dual-readout-tubes/src/DREndcapTubes_o1_v01.cpp
+++ b/detector/calorimeter/dual-readout-tubes/src/DREndcapTubes_o1_v01.cpp
@@ -511,6 +511,7 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
Volume motherVolume = description.pickMotherVolume(sdet);
// Place the assembly container inside the mother volume
PlacedVolume AssemblyEndcapPV = motherVolume.placeVolume(AssemblyEndcap);
+ AssemblyEndcapPV.addPhysVolID("system",x_det.id());
sdet.setPlacement(AssemblyEndcapPV);
std::cout << "--> DREndcapTubes::create_detector() end" << std::endl;
diff --git a/plugins/DRTubesSDAction.cpp b/plugins/DRTubesSDAction.cpp
index 6f06a3206..483846579 100644
--- a/plugins/DRTubesSDAction.cpp
+++ b/plugins/DRTubesSDAction.cpp
@@ -155,7 +155,8 @@ bool Geant4SensitiveAction::process(const G4Step* aStep,
auto StaveID = static_cast(aStep->GetPreStepPoint()->GetTouchable()->GetCopyNumber(4));
VolumeID VolID = 0; // recreate the 64-bit VolumeID
- BitFieldCoder bc("stave:10,tower:6,air:1,col:16,row:16,clad:1,core:1,cherenkov:1");
+ BitFieldCoder bc("system:5,stave:10,tower:6,air:1,col:16,row:16,clad:1,core:1,cherenkov:1");
+ bc.set(VolID, "system", 25); // this number is set in DectDimensions_IDEA_o2_v01.xml
bc.set(VolID, "stave" , StaveID);
bc.set(VolID, "tower" , TowerID);
bc.set(VolID, "air", 0);
@@ -178,8 +179,6 @@ bool Geant4SensitiveAction::process(const G4Step* aStep,
if (IsScin) { // it is a scintillating fiber
- //m_userData.fEvtAction->AddEdepScin(Edep);
-
if (aStep->GetTrack()->GetDefinition()->GetPDGCharge() == 0 || steplength == 0.) {
return true; // not ionizing particle
}
@@ -188,12 +187,9 @@ bool Geant4SensitiveAction::process(const G4Step* aStep,
DRTubesSglHpr::SmearSSignal(DRTubesSglHpr::ApplyBirks(Edep, steplength));
signalhit = DRTubesSglHpr::AttenuateSSignal(signalhit, distance_to_sipm);
if (signalhit == 0) return true;
- //m_userData.fEvtAction->AddSglScin(signalhit);
} // end of scintillating fibre sigal calculation
else { // it is a Cherenkov fiber
- // save mc truth info in analysismanager auxiliary outputfile
- //m_userData.fEvtAction->AddEdepCher(Edep);
// calculate the signal in terms of Cherenkov photo-electrons
if (aStep->GetTrack()->GetParticleDefinition() == G4OpticalPhoton::Definition()) {
G4OpBoundaryProcessStatus theStatus = Undefined;
@@ -221,8 +217,6 @@ bool Geant4SensitiveAction::process(const G4Step* aStep,
G4int c_signal = DRTubesSglHpr::SmearCSignal();
signalhit = DRTubesSglHpr::AttenuateCSignal(c_signal, distance_to_sipm);
if (signalhit == 0) return true;
- // save mc truth info in analysismanager auxiliary outputfile
- //m_userData.fEvtAction->AddSglCher(signalhit);
aStep->GetTrack()->SetTrackStatus(fStopAndKill);
break;
}