diff --git a/NPSimulation/include/GaspardTrackerAnnular.hh b/NPSimulation/include/GaspardTrackerAnnular.hh index a43a7bf45b0ebc331931a509f5d5449b8b31a833..0437e4bad965c6ca04d1738e511046f5594fa643 100644 --- a/NPSimulation/include/GaspardTrackerAnnular.hh +++ b/NPSimulation/include/GaspardTrackerAnnular.hh @@ -31,7 +31,6 @@ using namespace std; -#define INDEX 200 class GaspardTrackerAnnular : public GaspardTrackerModule diff --git a/NPSimulation/include/GaspardTrackerDummyShape.hh b/NPSimulation/include/GaspardTrackerDummyShape.hh index db4cdec8c74c89abb692feedb2e68d3019e56480..256be83a4903d272169d805098b559baee68c4c9 100644 --- a/NPSimulation/include/GaspardTrackerDummyShape.hh +++ b/NPSimulation/include/GaspardTrackerDummyShape.hh @@ -33,7 +33,6 @@ using namespace std; -#define INDEX 1000 class GaspardTrackerDummyShape : public GaspardTrackerModule diff --git a/NPSimulation/include/GaspardTrackerModule.hh b/NPSimulation/include/GaspardTrackerModule.hh index 92ee9483fbecec4a5c07e21eab4874bb07d636c1..0281068851aaeece058d182987dbb7edebf66a97 100644 --- a/NPSimulation/include/GaspardTrackerModule.hh +++ b/NPSimulation/include/GaspardTrackerModule.hh @@ -24,6 +24,7 @@ // C++ headers #include <string> +#include <vector> // G4 headers #include "G4LogicalVolume.hh" @@ -66,6 +67,9 @@ public: virtual void SetInterCoordPointer(TInteractionCoordinates* interCoord) = 0; virtual TInteractionCoordinates* GetInterCoordPointer() = 0; + // Initialize the Index map for the different modules of Gaspard + void InitializeIndex(); + public: TGaspardTrackerData* GetEventPointer() {return ms_Event;}; @@ -90,6 +94,9 @@ protected: // Third stage Associate Scorer G4MultiFunctionalDetector* m_ThirdStageScorer; + +protected: + map<string, int> m_index; }; #endif diff --git a/NPSimulation/include/GaspardTrackerSquare.hh b/NPSimulation/include/GaspardTrackerSquare.hh index 841a605c9aeaddbe94ba5a8a49e9fcc27f7c1c28..180b0d1b125923308a2a618e0db785290f8ca763 100644 --- a/NPSimulation/include/GaspardTrackerSquare.hh +++ b/NPSimulation/include/GaspardTrackerSquare.hh @@ -31,7 +31,6 @@ using namespace std; -#define INDEX 0 class GaspardTrackerSquare : public GaspardTrackerModule diff --git a/NPSimulation/include/GaspardTrackerTrapezoid.hh b/NPSimulation/include/GaspardTrackerTrapezoid.hh index 2b86902e39d58c4166cdee2a3f0579fecd79b82d..c7224df3b91d120b7e23ea7bfbcb0c737b080bff 100644 --- a/NPSimulation/include/GaspardTrackerTrapezoid.hh +++ b/NPSimulation/include/GaspardTrackerTrapezoid.hh @@ -31,7 +31,6 @@ using namespace std; -#define INDEX 100 class GaspardTrackerTrapezoid : public GaspardTrackerModule diff --git a/NPSimulation/src/GaspardTrackerAnnular.cc b/NPSimulation/src/GaspardTrackerAnnular.cc index ba566a4c2acd398beca6705f92daeed1bb61daa7..d317818cc54d8cc83d93de32b9bbe04929050e89 100644 --- a/NPSimulation/src/GaspardTrackerAnnular.cc +++ b/NPSimulation/src/GaspardTrackerAnnular.cc @@ -631,10 +631,10 @@ void GaspardTrackerAnnular::ReadSensitive(const G4Event* event) if (NTrackID == ETrackID) { N = Nl ; - ms_Event->SetGPDTrkFirstStageFrontEDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkFirstStageFrontTDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkFirstStageBackEDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkFirstStageBackTDetectorNbr(INDEX + N); + ms_Event->SetGPDTrkFirstStageFrontEDetectorNbr(m_index["Annular"] + N); + ms_Event->SetGPDTrkFirstStageFrontTDetectorNbr(m_index["Annular"] + N); + ms_Event->SetGPDTrkFirstStageBackEDetectorNbr(m_index["Annular"] + N); + ms_Event->SetGPDTrkFirstStageBackTDetectorNbr(m_index["Annular"] + N); } DetectorNumber_itr++; } @@ -747,8 +747,8 @@ void GaspardTrackerAnnular::ReadSensitive(const G4Event* event) ms_Event->SetGPDTrkThirdStageEPadNbr(1); ms_Event->SetGPDTrkThirdStageTPadNbr(1); ms_Event->SetGPDTrkThirdStageTTime(1); - ms_Event->SetGPDTrkThirdStageTDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkThirdStageEDetectorNbr(INDEX + N); + ms_Event->SetGPDTrkThirdStageTDetectorNbr(m_index["Annular"] + N); + ms_Event->SetGPDTrkThirdStageEDetectorNbr(m_index["Annular"] + N); } ThirdStageEnergy_itr++; diff --git a/NPSimulation/src/GaspardTrackerDummyShape.cc b/NPSimulation/src/GaspardTrackerDummyShape.cc index f8ab37d186e71ba1b3abf02d1239541b962a80a0..4fdfd5ae983e8259a8fed34d493314028e4ee038 100644 --- a/NPSimulation/src/GaspardTrackerDummyShape.cc +++ b/NPSimulation/src/GaspardTrackerDummyShape.cc @@ -53,7 +53,6 @@ #include "GeneralScorers.hh" #include "GaspardScorers.hh" #include "RootOutput.h" -#include "MUST2Array.hh" // CLHEP #include "CLHEP/Random/RandGauss.h" @@ -776,10 +775,10 @@ void GaspardTrackerDummyShape::ReadSensitive(const G4Event* event) if (NTrackID == ETrackID) { N = Nl ; - ms_Event->SetGPDTrkFirstStageFrontEDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkFirstStageFrontTDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkFirstStageBackEDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkFirstStageBackTDetectorNbr(INDEX + N); + ms_Event->SetGPDTrkFirstStageFrontEDetectorNbr(m_index["DummyShape"] + N); + ms_Event->SetGPDTrkFirstStageFrontTDetectorNbr(m_index["DummyShape"] + N); + ms_Event->SetGPDTrkFirstStageBackEDetectorNbr(m_index["DummyShape"] + N); + ms_Event->SetGPDTrkFirstStageBackTDetectorNbr(m_index["DummyShape"] + N); } DetectorNumber_itr++; } @@ -888,8 +887,8 @@ void GaspardTrackerDummyShape::ReadSensitive(const G4Event* event) ms_Event->SetGPDTrkSecondStageEPadNbr(1); ms_Event->SetGPDTrkSecondStageTPadNbr(1); ms_Event->SetGPDTrkSecondStageTTime(1); - ms_Event->SetGPDTrkSecondStageTDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkSecondStageEDetectorNbr(INDEX + N); + ms_Event->SetGPDTrkSecondStageTDetectorNbr(m_index["DummyShape"] + N); + ms_Event->SetGPDTrkSecondStageEDetectorNbr(m_index["DummyShape"] + N); } SecondStageEnergy_itr++; } @@ -905,8 +904,8 @@ void GaspardTrackerDummyShape::ReadSensitive(const G4Event* event) ms_Event->SetGPDTrkThirdStageEPadNbr(1); ms_Event->SetGPDTrkThirdStageTPadNbr(1); ms_Event->SetGPDTrkThirdStageTTime(1); - ms_Event->SetGPDTrkThirdStageTDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkThirdStageEDetectorNbr(INDEX + N); + ms_Event->SetGPDTrkThirdStageTDetectorNbr(m_index["DummyShape"] + N); + ms_Event->SetGPDTrkThirdStageEDetectorNbr(m_index["DummyShape"] + N); } ThirdStageEnergy_itr++; } diff --git a/NPSimulation/src/GaspardTrackerModule.cc b/NPSimulation/src/GaspardTrackerModule.cc index 73637464cdced2664b80f9eb6de813c0d8abb271..890cd77702c06e4720d4ca5b54e55f513e67a61e 100644 --- a/NPSimulation/src/GaspardTrackerModule.cc +++ b/NPSimulation/src/GaspardTrackerModule.cc @@ -32,6 +32,7 @@ GaspardTrackerModule::GaspardTrackerModule() if (ms_Event == 0) ms_Event = new TGaspardTrackerData(); InitializeRootOutput(); + InitializeIndex(); } @@ -50,3 +51,13 @@ void GaspardTrackerModule::InitializeRootOutput() if (!pTree->GetBranch("GASPARD")) pTree->Branch("GASPARD", "TGaspardTrackerData", &ms_Event); } + + + +void GaspardTrackerModule::InitializeIndex() +{ + m_index["Square"] = 0; + m_index["Trapezoid"] = 100; + m_index["Annular"] = 200; + m_index["DummyShape"] = 1000; +} diff --git a/NPSimulation/src/GaspardTrackerSquare.cc b/NPSimulation/src/GaspardTrackerSquare.cc index 39c2f6bde8186e7a9eefaa4e6c3c68fec6b90935..a38205a98740eaea90348ca9bcc1efda40945720 100644 --- a/NPSimulation/src/GaspardTrackerSquare.cc +++ b/NPSimulation/src/GaspardTrackerSquare.cc @@ -968,10 +968,10 @@ void GaspardTrackerSquare::ReadSensitive(const G4Event* event) if (NTrackID == ETrackID) { N = Nl ; - ms_Event->SetGPDTrkFirstStageFrontEDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkFirstStageFrontTDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkFirstStageBackEDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkFirstStageBackTDetectorNbr(INDEX + N); + ms_Event->SetGPDTrkFirstStageFrontEDetectorNbr(m_index["Square"] + N); + ms_Event->SetGPDTrkFirstStageFrontTDetectorNbr(m_index["Square"] + N); + ms_Event->SetGPDTrkFirstStageBackEDetectorNbr(m_index["Square"] + N); + ms_Event->SetGPDTrkFirstStageBackTDetectorNbr(m_index["Square"] + N); } DetectorNumber_itr++; } @@ -1082,8 +1082,8 @@ void GaspardTrackerSquare::ReadSensitive(const G4Event* event) ms_Event->SetGPDTrkSecondStageEPadNbr(1); ms_Event->SetGPDTrkSecondStageTPadNbr(1); ms_Event->SetGPDTrkSecondStageTTime(1); - ms_Event->SetGPDTrkSecondStageTDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkSecondStageEDetectorNbr(INDEX + N); + ms_Event->SetGPDTrkSecondStageTDetectorNbr(m_index["Square"] + N); + ms_Event->SetGPDTrkSecondStageEDetectorNbr(m_index["Square"] + N); } SiLiEnergy_itr++; @@ -1100,8 +1100,8 @@ void GaspardTrackerSquare::ReadSensitive(const G4Event* event) ms_Event->SetGPDTrkThirdStageEPadNbr(1); ms_Event->SetGPDTrkThirdStageTPadNbr(1); ms_Event->SetGPDTrkThirdStageTTime(1); - ms_Event->SetGPDTrkThirdStageTDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkThirdStageEDetectorNbr(INDEX + N); + ms_Event->SetGPDTrkThirdStageTDetectorNbr(m_index["Square"] + N); + ms_Event->SetGPDTrkThirdStageEDetectorNbr(m_index["Square"] + N); } ThirdStageEnergy_itr++; diff --git a/NPSimulation/src/GaspardTrackerTrapezoid.cc b/NPSimulation/src/GaspardTrackerTrapezoid.cc index b5f91d1f6e0c3b10dfe6db1c6c8b738f73147974..f3911bff1028db207592834ee3d6bf95c5f296aa 100644 --- a/NPSimulation/src/GaspardTrackerTrapezoid.cc +++ b/NPSimulation/src/GaspardTrackerTrapezoid.cc @@ -852,10 +852,10 @@ void GaspardTrackerTrapezoid::ReadSensitive(const G4Event* event) if (NTrackID == ETrackID) { N = Nl ; - ms_Event->SetGPDTrkFirstStageFrontEDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkFirstStageFrontTDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkFirstStageBackEDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkFirstStageBackTDetectorNbr(INDEX + N); + ms_Event->SetGPDTrkFirstStageFrontEDetectorNbr(m_index["Trapezoid"] + N); + ms_Event->SetGPDTrkFirstStageFrontTDetectorNbr(m_index["Trapezoid"] + N); + ms_Event->SetGPDTrkFirstStageBackEDetectorNbr(m_index["Trapezoid"] + N); + ms_Event->SetGPDTrkFirstStageBackTDetectorNbr(m_index["Trapezoid"] + N); } DetectorNumber_itr++; } @@ -968,8 +968,8 @@ void GaspardTrackerTrapezoid::ReadSensitive(const G4Event* event) ms_Event->SetGPDTrkThirdStageEPadNbr(1); ms_Event->SetGPDTrkThirdStageTPadNbr(1); ms_Event->SetGPDTrkThirdStageTTime(1); - ms_Event->SetGPDTrkThirdStageTDetectorNbr(INDEX + N); - ms_Event->SetGPDTrkThirdStageEDetectorNbr(INDEX + N); + ms_Event->SetGPDTrkThirdStageTDetectorNbr(m_index["Trapezoid"] + N); + ms_Event->SetGPDTrkThirdStageEDetectorNbr(m_index["Trapezoid"] + N); } ThirdStageEnergy_itr++;