From 9da7af817df136a2c1590223df1c6b3cf31e6125 Mon Sep 17 00:00:00 2001 From: Nicolas de Sereville <deserevi@ipno.in2p3.fr> Date: Thu, 4 Dec 2014 14:30:21 +0100 Subject: [PATCH] + Gaspard geometry now uses copy numbers --- NPSimulation/GASPARD/GaspardTrackerAnnular.cc | 30 +++++----- NPSimulation/GASPARD/GaspardTrackerAnnular.hh | 12 ++-- .../GASPARD/GaspardTrackerDummyShape.cc | 46 +++++++-------- .../GASPARD/GaspardTrackerDummyShape.hh | 12 ++-- NPSimulation/GASPARD/GaspardTrackerSquare.cc | 18 +++--- NPSimulation/GASPARD/GaspardTrackerSquare.hh | 12 ++-- .../GASPARD/GaspardTrackerTrapezoid.cc | 58 +++++++++---------- .../GASPARD/GaspardTrackerTrapezoid.hh | 12 ++-- 8 files changed, 100 insertions(+), 100 deletions(-) diff --git a/NPSimulation/GASPARD/GaspardTrackerAnnular.cc b/NPSimulation/GASPARD/GaspardTrackerAnnular.cc index 72f58247b..d0a32c047 100644 --- a/NPSimulation/GASPARD/GaspardTrackerAnnular.cc +++ b/NPSimulation/GASPARD/GaspardTrackerAnnular.cc @@ -97,25 +97,25 @@ void GaspardTrackerAnnular::AddModule(G4double PosZ, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void GaspardTrackerAnnular::VolumeMaker(G4int TelescopeNumber , - G4ThreeVector MMpos , - G4RotationMatrix* MMrot , - bool wFirstStage , - bool wSecondStage , - bool wThirdStage , +void GaspardTrackerAnnular::VolumeMaker(G4int DetectorNumber, + G4ThreeVector MMpos, + G4RotationMatrix* MMrot, + bool wFirstStage, + bool wSecondStage, + bool wThirdStage, G4LogicalVolume* world) { - G4double NbrTelescopes = TelescopeNumber ; - G4String DetectorNumber ; + G4double NbrTelescopes = DetectorNumber ; + G4String DetNumber ; ostringstream Number ; Number << NbrTelescopes ; - DetectorNumber = Number.str() ; + DetNumber = Number.str() ; //////////////////////////////////////////////////////////////// ////////////// Starting Volume Definition ////////////////////// //////////////////////////////////////////////////////////////// // Name of the module - G4String Name = "GPDAnnular" + DetectorNumber; + G4String Name = "GPDAnnular" + DetNumber; // Definition of the volume containing the sensitive detector G4Tubs* solidMM = new G4Tubs(Name, @@ -128,7 +128,7 @@ void GaspardTrackerAnnular::VolumeMaker(G4int TelescopeNumber , // G4LogicalVolume* logicMM = new G4LogicalVolume(solidMM, Iron, Name, 0, 0, 0); G4LogicalVolume* logicMM = new G4LogicalVolume(solidMM, m_MaterialVacuum, Name, 0, 0, 0); - new G4PVPlacement(G4Transform3D(*MMrot, MMpos), logicMM, Name, world, false, 0); + new G4PVPlacement(G4Transform3D(*MMrot, MMpos), logicMM, Name, world, false, DetectorNumber); logicMM->SetVisAttributes(G4VisAttributes::Invisible); if (m_non_sensitive_part_visiualisation) logicMM->SetVisAttributes(G4VisAttributes(G4Colour(0.90, 0.90, 0.90))); @@ -145,7 +145,7 @@ void GaspardTrackerAnnular::VolumeMaker(G4int TelescopeNumber , G4LogicalVolume* logicVacBox = new G4LogicalVolume(solidVacBox, m_MaterialVacuum, "logicVacBox", 0, 0, 0); - G4PVPlacement(0, positionVacBox, logicVacBox, "G" + DetectorNumber + "VacBox", logicMM, false, 0); + G4PVPlacement(0, positionVacBox, logicVacBox, "G" + DetNumber + "VacBox", logicMM, false, DetectorNumber); logicVacBox->SetVisAttributes(G4VisAttributes::Invisible); @@ -167,8 +167,8 @@ void GaspardTrackerAnnular::VolumeMaker(G4int TelescopeNumber , // G4LogicalVolume* logicAluStrip = new G4LogicalVolume(solidAluStrip, Aluminium, "logicAluStrip", 0, 0, 0); G4LogicalVolume* logicAluStrip = new G4LogicalVolume(solidAluStrip, m_MaterialVacuum, "logicAluStrip", 0, 0, 0); - new G4PVPlacement(0, positionAluStripFront, logicAluStrip, "G" + DetectorNumber + "AluStripFront", logicMM, false, 0); - new G4PVPlacement(0, positionAluStripBack, logicAluStrip, "G" + DetectorNumber + "AluStripBack", logicMM, false, 0); + new G4PVPlacement(0, positionAluStripFront, logicAluStrip, "G" + DetNumber + "AluStripFront", logicMM, false, DetectorNumber); + new G4PVPlacement(0, positionAluStripBack, logicAluStrip, "G" + DetNumber + "AluStripBack", logicMM, false, DetectorNumber); logicAluStrip->SetVisAttributes(G4VisAttributes::Invisible); @@ -183,7 +183,7 @@ void GaspardTrackerAnnular::VolumeMaker(G4int TelescopeNumber , 360*deg); G4LogicalVolume* logicSilicon = new G4LogicalVolume(solidSilicon, m_MaterialSilicon, "logicSilicon", 0, 0, 0); - new G4PVPlacement(0, positionSilicon, logicSilicon, Name + "_Silicon", logicMM, false, 0); + new G4PVPlacement(0, positionSilicon, logicSilicon, Name + "_Silicon", logicMM, false, DetectorNumber); // Set First Stage sensible logicSilicon->SetSensitiveDetector(m_FirstStageScorer); diff --git a/NPSimulation/GASPARD/GaspardTrackerAnnular.hh b/NPSimulation/GASPARD/GaspardTrackerAnnular.hh index bffb43bde..e48f44e7b 100644 --- a/NPSimulation/GASPARD/GaspardTrackerAnnular.hh +++ b/NPSimulation/GASPARD/GaspardTrackerAnnular.hh @@ -57,12 +57,12 @@ public: // Effectively construct Volume // Avoid to have two time same code for Angle and Point definition - void VolumeMaker(G4int TelescopeNumber , - G4ThreeVector MMpos , - G4RotationMatrix* MMrot , - bool wFirstStage , - bool wSecondStage , - bool wThirdStage , + void VolumeMaker(G4int DetectorNumber, + G4ThreeVector MMpos, + G4RotationMatrix* MMrot, + bool wFirstStage, + bool wSecondStage, + bool wThirdStage, G4LogicalVolume* world); diff --git a/NPSimulation/GASPARD/GaspardTrackerDummyShape.cc b/NPSimulation/GASPARD/GaspardTrackerDummyShape.cc index 358897f01..25c2178c5 100644 --- a/NPSimulation/GASPARD/GaspardTrackerDummyShape.cc +++ b/NPSimulation/GASPARD/GaspardTrackerDummyShape.cc @@ -151,7 +151,7 @@ void GaspardTrackerDummyShape::AddModule(G4double R , //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void GaspardTrackerDummyShape::VolumeMaker(G4int TelescopeNumber, +void GaspardTrackerDummyShape::VolumeMaker(G4int DetectorNumber, G4ThreeVector MMpos, G4RotationMatrix* MMrot, bool wFirstStage, @@ -159,11 +159,11 @@ void GaspardTrackerDummyShape::VolumeMaker(G4int TelescopeNumber, bool wThirdStage, G4LogicalVolume* world) { - G4double NbrTelescopes = TelescopeNumber ; - G4String DetectorNumber ; + G4double NbrTelescopes = DetectorNumber ; + G4String DetNumber ; ostringstream Number ; Number << NbrTelescopes ; - DetectorNumber = Number.str() ; + DetNumber = Number.str() ; ///////////////////////////////////////////////////////////////// ////////////// Starting Volume Definition ////////////////////// @@ -178,7 +178,7 @@ void GaspardTrackerDummyShape::VolumeMaker(G4int TelescopeNumber, Name , world , false , - 0); + DetectorNumber); logicGPDDummyShape->SetVisAttributes(G4VisAttributes::Invisible); if (m_non_sensitive_part_visiualisation) logicGPDDummyShape->SetVisAttributes(G4VisAttributes(G4Colour(0.90, 0.90, 0.90))); @@ -228,12 +228,12 @@ void GaspardTrackerDummyShape::VolumeMaker(G4int TelescopeNumber, G4LogicalVolume* logicFirstStage = new G4LogicalVolume(solidFirstStage, m_MaterialSilicon, "logicFirstStage", 0, 0, 0); new G4PVPlacement(0, - positionFirstStage, - logicFirstStage, - Name + "_FirstStage", - logicGPDDummyShape, - false, - 0); + positionFirstStage, + logicFirstStage, + Name + "_FirstStage", + logicGPDDummyShape, + false, + DetectorNumber); // Set First Stage sensible logicFirstStage->SetSensitiveDetector(m_FirstStageScorer); @@ -267,12 +267,12 @@ void GaspardTrackerDummyShape::VolumeMaker(G4int TelescopeNumber, G4LogicalVolume* logicSecondStage = new G4LogicalVolume(solidSecondStage, m_MaterialSilicon, "logicSecondStage", 0, 0, 0); new G4PVPlacement(0, - positionSecondStage, - logicSecondStage, - Name + "_SecondStage", - logicGPDDummyShape, - false, - 0); + positionSecondStage, + logicSecondStage, + Name + "_SecondStage", + logicGPDDummyShape, + false, + DetectorNumber); // Set Second Stage sensible logicSecondStage->SetSensitiveDetector(m_SecondStageScorer); @@ -306,12 +306,12 @@ void GaspardTrackerDummyShape::VolumeMaker(G4int TelescopeNumber, G4LogicalVolume* logicThirdStage = new G4LogicalVolume(solidThirdStage, m_MaterialSilicon, "logicThirdStage", 0, 0, 0); new G4PVPlacement(0, - positionThirdStage, - logicThirdStage, - Name + "_ThirdStage", - logicGPDDummyShape, - false, - 0); + positionThirdStage, + logicThirdStage, + Name + "_ThirdStage", + logicGPDDummyShape, + false, + DetectorNumber); // Set Third Stage sensible logicThirdStage->SetSensitiveDetector(m_ThirdStageScorer); diff --git a/NPSimulation/GASPARD/GaspardTrackerDummyShape.hh b/NPSimulation/GASPARD/GaspardTrackerDummyShape.hh index 65b76dc28..d22a98637 100644 --- a/NPSimulation/GASPARD/GaspardTrackerDummyShape.hh +++ b/NPSimulation/GASPARD/GaspardTrackerDummyShape.hh @@ -72,12 +72,12 @@ public: // Effectively construct Volume // Avoid to have two time same code for Angle and Point definition - void VolumeMaker(G4int TelescopeNumber , - G4ThreeVector MMpos , - G4RotationMatrix* MMrot , - bool wFirstStage , - bool wSecondStage , - bool wThirdStage , + void VolumeMaker(G4int DetectorNumber, + G4ThreeVector MMpos, + G4RotationMatrix* MMrot, + bool wFirstStage, + bool wSecondStage, + bool wThirdStage, G4LogicalVolume* world); diff --git a/NPSimulation/GASPARD/GaspardTrackerSquare.cc b/NPSimulation/GASPARD/GaspardTrackerSquare.cc index f0d560ae5..bfd0e23ac 100644 --- a/NPSimulation/GASPARD/GaspardTrackerSquare.cc +++ b/NPSimulation/GASPARD/GaspardTrackerSquare.cc @@ -145,7 +145,7 @@ void GaspardTrackerSquare::AddModule(G4double R , //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void GaspardTrackerSquare::VolumeMaker(G4int TelescopeNumber, +void GaspardTrackerSquare::VolumeMaker(G4int DetectorNumber, G4ThreeVector MMpos, G4RotationMatrix* MMrot, bool wFirstStage, @@ -153,21 +153,21 @@ void GaspardTrackerSquare::VolumeMaker(G4int TelescopeNumber, bool wThirdStage, G4LogicalVolume* world) { - G4double NbrTelescopes = TelescopeNumber ; - G4String DetectorNumber ; + G4double NbrTelescopes = DetectorNumber ; + G4String DetNumber ; ostringstream Number ; Number << NbrTelescopes ; - DetectorNumber = Number.str() ; + DetNumber = Number.str() ; //////////////////////////////////////////////////////////////// ////////////// Starting Volume Definition ////////////////////// //////////////////////////////////////////////////////////////// - G4String Name = "GPDSquare" + DetectorNumber; + G4String Name = "GPDSquare" + DetNumber; G4Box* solidGPDSquare = new G4Box(Name, 0.5*FaceFront, 0.5*FaceFront, 0.5*Length); G4LogicalVolume* logicGPDSquare = new G4LogicalVolume(solidGPDSquare, m_MaterialVacuum, Name, 0, 0, 0); - new G4PVPlacement(G4Transform3D(*MMrot, MMpos), logicGPDSquare, Name, world, false, 0); + new G4PVPlacement(G4Transform3D(*MMrot, MMpos), logicGPDSquare, Name, world, false, DetectorNumber); G4VisAttributes* SquareVisAtt = new G4VisAttributes(G4Colour(0.90, 0.90, 0.90)); @@ -207,7 +207,7 @@ void GaspardTrackerSquare::VolumeMaker(G4int TelescopeNumber, G4Box* solidFirstStage = new G4Box("solidFirstStage", 0.5*FirstStageFace, 0.5*FirstStageFace, 0.5*FirstStageThickness); G4LogicalVolume* logicFirstStage = new G4LogicalVolume(solidFirstStage, m_MaterialSilicon, "logicFirstStage", 0, 0, 0); - new G4PVPlacement(0, positionFirstStage, logicFirstStage, Name + "_FirstStage", logicGPDSquare, false, 0); + new G4PVPlacement(0, positionFirstStage, logicFirstStage, Name + "_FirstStage", logicGPDSquare, false, DetectorNumber); // Set First Stage sensible logicFirstStage->SetSensitiveDetector(m_FirstStageScorer); @@ -227,7 +227,7 @@ void GaspardTrackerSquare::VolumeMaker(G4int TelescopeNumber, G4Box* solidSecondStage = new G4Box("solidSecondStage", 0.5*SecondStageFace, 0.5*SecondStageFace, 0.5*SecondStageThickness); G4LogicalVolume* logicSecondStage = new G4LogicalVolume(solidSecondStage, m_MaterialSilicon, "logicSecondStage", 0, 0, 0); - new G4PVPlacement(0, positionSecondStage, logicSecondStage, Name + "_SecondStage", logicGPDSquare, false, 0); + new G4PVPlacement(0, positionSecondStage, logicSecondStage, Name + "_SecondStage", logicGPDSquare, false, DetectorNumber); // Set Second Stage sensible logicSecondStage->SetSensitiveDetector(m_SecondStageScorer); @@ -247,7 +247,7 @@ void GaspardTrackerSquare::VolumeMaker(G4int TelescopeNumber, G4Box* solidThirdStage = new G4Box("solidThirdStage", 0.5*ThirdStageFace, 0.5*ThirdStageFace, 0.5*ThirdStageThickness); G4LogicalVolume* logicThirdStage = new G4LogicalVolume(solidThirdStage, m_MaterialSilicon, "logicThirdStage", 0, 0, 0); - new G4PVPlacement(0, positionThirdStage, logicThirdStage, Name + "_ThirdStage", logicGPDSquare, false, 0); + new G4PVPlacement(0, positionThirdStage, logicThirdStage, Name + "_ThirdStage", logicGPDSquare, false, DetectorNumber); // Set Third Stage sensible logicThirdStage->SetSensitiveDetector(m_ThirdStageScorer); diff --git a/NPSimulation/GASPARD/GaspardTrackerSquare.hh b/NPSimulation/GASPARD/GaspardTrackerSquare.hh index 03651afcf..bb34ba5ae 100644 --- a/NPSimulation/GASPARD/GaspardTrackerSquare.hh +++ b/NPSimulation/GASPARD/GaspardTrackerSquare.hh @@ -68,12 +68,12 @@ public: // Effectively construct Volume // Avoid to have two time same code for Angle and Point definition - void VolumeMaker(G4int TelescopeNumber , - G4ThreeVector MMpos , - G4RotationMatrix* MMrot , - bool wFirstStage , - bool wSecondStage , - bool wThirdStage , + void VolumeMaker(G4int DetectorNumber, + G4ThreeVector MMpos, + G4RotationMatrix* MMrot, + bool wFirstStage, + bool wSecondStage, + bool wThirdStage, G4LogicalVolume* world); diff --git a/NPSimulation/GASPARD/GaspardTrackerTrapezoid.cc b/NPSimulation/GASPARD/GaspardTrackerTrapezoid.cc index b6687096e..380e5ec77 100644 --- a/NPSimulation/GASPARD/GaspardTrackerTrapezoid.cc +++ b/NPSimulation/GASPARD/GaspardTrackerTrapezoid.cc @@ -142,24 +142,24 @@ void GaspardTrackerTrapezoid::AddModule(G4double R , //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void GaspardTrackerTrapezoid::VolumeMaker(G4int TelescopeNumber , - G4ThreeVector MMpos , - G4RotationMatrix* MMrot , - bool wFirstStage , - bool wSecondStage , - bool wThirdStage , +void GaspardTrackerTrapezoid::VolumeMaker(G4int DetectorNumber, + G4ThreeVector MMpos, + G4RotationMatrix* MMrot, + bool wFirstStage, + bool wSecondStage, + bool wThirdStage, G4LogicalVolume* world) { - G4double NbrTelescopes = TelescopeNumber ; - G4String DetectorNumber ; + G4double NbrTelescopes = DetectorNumber ; + G4String DetNumber ; ostringstream Number ; Number << NbrTelescopes ; - DetectorNumber = Number.str() ; + DetNumber = Number.str() ; //////////////////////////////////////////////////////////////// ////////////// Starting Volume Definition ////////////////////// //////////////////////////////////////////////////////////////// - G4String Name = "GPDTrapezoid" + DetectorNumber ; + G4String Name = "GPDTrapezoid" + DetNumber ; // Definition of the volume containing the sensitive detector G4Trap* solidGPDTrapezoid = new G4Trap(Name, @@ -168,7 +168,7 @@ void GaspardTrackerTrapezoid::VolumeMaker(G4int TelescopeNumber , Height/2, BaseLarge/2, BaseSmall/2, 0*deg); G4LogicalVolume* logicGPDTrapezoid = new G4LogicalVolume(solidGPDTrapezoid, m_MaterialVacuum, Name, 0, 0, 0); - new G4PVPlacement(G4Transform3D(*MMrot, MMpos), logicGPDTrapezoid, Name, world, false, 0); + new G4PVPlacement(G4Transform3D(*MMrot, MMpos), logicGPDTrapezoid, Name, world, false, DetectorNumber); G4VisAttributes* TrapezoideVisAtt = new G4VisAttributes(G4Colour(0.90, 0.90, 0.90)); TrapezoideVisAtt->SetForceWireframe(true); @@ -211,12 +211,12 @@ void GaspardTrackerTrapezoid::VolumeMaker(G4int TelescopeNumber , G4LogicalVolume* logicFirstStage = new G4LogicalVolume(solidFirstStage, m_MaterialSilicon, "logicFirstStage", 0, 0, 0); new G4PVPlacement(0, - positionFirstStage, - logicFirstStage, - Name + "_FirstStage", - logicGPDTrapezoid, - false, - 0); + positionFirstStage, + logicFirstStage, + Name + "_FirstStage", + logicGPDTrapezoid, + false, + DetectorNumber); // Set First Stage sensible logicFirstStage->SetSensitiveDetector(m_FirstStageScorer); @@ -240,12 +240,12 @@ void GaspardTrackerTrapezoid::VolumeMaker(G4int TelescopeNumber , G4LogicalVolume* logicSecondStage = new G4LogicalVolume(solidSecondStage, m_MaterialSilicon, "logicSecondStage", 0, 0, 0); new G4PVPlacement(0, - positionSecondStage, - logicSecondStage, - Name + "_SecondStage", - logicGPDTrapezoid, - false, - 0); + positionSecondStage, + logicSecondStage, + Name + "_SecondStage", + logicGPDTrapezoid, + false, + DetectorNumber); // Set Second Stage sensible logicSecondStage->SetSensitiveDetector(m_SecondStageScorer); @@ -269,12 +269,12 @@ void GaspardTrackerTrapezoid::VolumeMaker(G4int TelescopeNumber , G4LogicalVolume* logicThirdStage = new G4LogicalVolume(solidThirdStage, m_MaterialSilicon, "logicThirdStage", 0, 0, 0); new G4PVPlacement(0, - positionThirdStage, - logicThirdStage, - Name + "_ThirdStage", - logicGPDTrapezoid, - false, - 0); + positionThirdStage, + logicThirdStage, + Name + "_ThirdStage", + logicGPDTrapezoid, + false, + DetectorNumber); // Set Third Stage sensible logicThirdStage->SetSensitiveDetector(m_ThirdStageScorer); diff --git a/NPSimulation/GASPARD/GaspardTrackerTrapezoid.hh b/NPSimulation/GASPARD/GaspardTrackerTrapezoid.hh index 01756747e..8e14d28e6 100644 --- a/NPSimulation/GASPARD/GaspardTrackerTrapezoid.hh +++ b/NPSimulation/GASPARD/GaspardTrackerTrapezoid.hh @@ -70,12 +70,12 @@ public: // Effectively construct Volume // Avoid to have two time same code for Angle and Point definition - void VolumeMaker(G4int TelescopeNumber , - G4ThreeVector MMpos , - G4RotationMatrix* MMrot , - bool wFirstStage , - bool wSecondStage , - bool wThirdStage , + void VolumeMaker(G4int DetectorNumber, + G4ThreeVector MMpos, + G4RotationMatrix* MMrot, + bool wFirstStage, + bool wSecondStage, + bool wThirdStage, G4LogicalVolume* world); -- GitLab