16 LOM16(G4bool p_placeHarness =
true);
25 ss <<
"LOM16/" << m_index;
31 G4bool m_placeHarness =
true;
32 G4bool m_harnessUnion =
true;
33 G4SubtractionSolid *substractHarnessPCA(G4VSolid *pSolid);
35 G4UnionSolid* pressureVessel(
const G4double pOutRad, G4String pSuffix);
38 void InternalCADComponents(G4LogicalVolume* lInnerVolumeLogical);
39 void appendEquatorBand();
42 void placePMTsAndGelpads(G4VSolid* lGelSolid, G4LogicalVolume* lGelLogical);
43 void setPMTAndGelpadPositions();
44 void createGelpadLogicalVolumes(G4VSolid* lGelSolid);
45 void placePMTs(G4LogicalVolume* lInnerVolumeLogical);
46 void placeGelpads(G4LogicalVolume* lInnerVolumeLogical);
49 std::vector<G4ThreeVector> m_positionsPMT;
50 std::vector<G4ThreeVector> m_positionsGelpad;
51 std::vector<G4double> m_thetaPMT;
52 std::vector<G4double> m_phiPMT;
55 std::stringstream m_converter;
56 std::stringstream m_converter2;
59 std::vector<G4LogicalVolume*> m_gelPadLogical;
61 G4String m_PMTModel =
"pmt_Hamamatsu_4inch";
63 const G4double m_xInternalCAD = 68.248*mm;
64 const G4double m_yInternalCAD = 0*mm;
65 const G4double m_zInternalCAD = -124.218*mm;
66 const G4double m_gelPadDZ = 30.0*mm;
67 const G4double m_glassOutRad = 153.2*mm;
68 const G4double m_glassThick = 12.0*mm;
69 const G4double m_glassInRad = m_glassOutRad - m_glassThick;
70 const G4double m_cylinderHeight = 68.8*mm;
71 const G4double m_cylinderAngle = 2.5*deg;
72 const G4double m_gelThicknessFrontPMT = 3.6*mm;
73 const G4double m_gelThickness = 4.5*mm;
74 const G4double m_EqPMTrOffset = 2.6*mm;
75 const G4double m_EqPMTzOffset = 62.5*mm;
76 const G4double m_reflectorHalfZ = 15*mm;
77 const G4double m_reflectorConeSheetThickness = 0.5*mm;
78 const G4double m_reflectorConeToHolder = 1.55*mm;
79 const G4double m_thetaPolar = 36.0*deg;
80 const G4double m_thetaEquatorial = 62.0*deg;
81 const G4int m_numberPolarPMTs = 4;
82 const G4int m_numberEqPMTs = 4;
83 const G4double m_polarEquatorialPMTphiPhase = 45.0*deg;
84 const G4double m_equatorialTiltAngle = 15.0*deg;
85 const G4double m_polarPadOpeningAngle = 30.0*deg;
86 const G4double m_equatorialPadOpeningAngle = 22.0*deg;
87 const G4int m_totalNumberPMTs = (m_numberPolarPMTs + m_numberEqPMTs) * 2;
90 G4double m_maxPMTRadius;
92 const G4double m_equatorialBandWidth = 35 * mm;
93 const G4double m_equatorialBandThickness = 0.5 * mm;