5 #include <phparameter/PHParameters.h>
11 #include <Geant4/G4Box.hh>
12 #include <Geant4/G4LogicalVolume.hh>
13 #include <Geant4/G4PVPlacement.hh>
14 #include <Geant4/G4RotationMatrix.hh>
15 #include <Geant4/G4String.hh>
16 #include <Geant4/G4SystemOfUnits.hh>
17 #include <Geant4/G4ThreeVector.hh>
18 #include <Geant4/G4UserLimits.hh>
20 #include <CLHEP/Units/SystemOfUnits.h>
35 , m_Params(parameters)
36 , m_BlockPhysi(nullptr)
57 G4VSolid *block_solid =
new G4Box(G4String(
GetName()),
63 G4UserLimits *g4userlimits =
nullptr;
64 if (isfinite(steplimits))
66 g4userlimits =
new G4UserLimits(steplimits);
69 G4LogicalVolume *block_logic =
new G4LogicalVolume(block_solid,
72 nullptr,
nullptr, g4userlimits);
77 G4RotationMatrix *rotm =
new G4RotationMatrix();
97 cout <<__PRETTY_FUNCTION__<<
": Warning : " <<
GetName()<<
" is configured with more than one of the x-y-z rotations of "
101 <<
"The rotation is instruction is ambiguous and they are performed in the order of X->Y->Z rotations with result rotation matrix of:";