13#include <G4UnionSolid.hh>
31 G4LogicalVolume* getPhotocathodeLV(){
return m_photocathodeLV;};
32 double getPMTGlassWeight();
34 void placeIt(G4ThreeVector pPosition, G4RotationMatrix pRotation, G4LogicalVolume *&pMother, G4String pNameExtension =
"");
35 void placeIt(G4Transform3D pTrans, G4LogicalVolume *&pMother, G4String pNameExtension =
"");
37 void includeHAcoating();
40 G4LogicalVolume* m_photocathodeLV;
41 G4String m_selectedPMT;
42 G4bool m_dynodeSystem =
false;
43 G4bool m_internalReflections =
false;
44 G4bool m_HACoatingBool =
false;
45 G4bool m_constructionFinished =
false;
46 G4double m_centreToTipDistance;
47 std::tuple<G4VSolid *, G4VSolid *>
getBulbSolid(G4String pSide);
50 G4VSolid *frontalBulbConstruction(G4String pSide);
59 void constructHAcoating();
65 G4bool m_simpleBulb =
false;
66 G4double m_missingTubeLength;
67 G4PVPlacement *m_vacuumBackPhysical;
68 G4PVPlacement* m_photocathodeRegionVacuumPhysical;
69 G4OpticalSurface* m_photocathodeOpticalSurface;
74 G4double m_totalLenght;
77 G4double m_ellipseXYaxis;
78 G4double m_ellipseZaxis;
79 G4double m_sphereEllipseTransition_r;
80 G4double m_spherePosY;
81 G4double m_ellipsePosY;
Provides helper base class OMSimDetectorComponent for constructing and managing detector components i...
Construction of the PMTs.
Simulation of PMT response.
Abstract base class used for constructing detector components.
Definition OMSimDetectorComponent.hh:26
Class for detector construction in the effective area simulation.
Definition OMSimDetectorConstruction.hh:19
Definition OMSimPMTConstruction.hh:19
void constructCathodeBackshield(G4LogicalVolume *pPMTIinner)
Definition OMSimPMTConstruction.cc:239
void selectPMT(G4String pPMTtoSelect)
Definition OMSimPMTConstruction.cc:459
void placeIt(G4ThreeVector pPosition, G4RotationMatrix pRotation, G4LogicalVolume *&pMother, G4String pNameExtension="")
Definition OMSimPMTConstruction.cc:108
G4VSolid * doubleEllipsePhotocathode(G4String pSide)
Definition OMSimPMTConstruction.cc:382
std::tuple< G4VSolid *, G4VSolid * > simpleBulbConstruction(G4String pSide)
Definition OMSimPMTConstruction.cc:165
OMSimPMTResponse * getPMTResponseInstance()
Creates and configures an instance of OMSimPMTResponse based on PMT model selected.
Definition OMSimPMTConstruction.cc:509
void construction()
Constructs the PMT solid with all its components.
Definition OMSimPMTConstruction.cc:26
G4VSolid * sphereEllipsePhotocathode(G4String p_side)
Definition OMSimPMTConstruction.cc:344
std::tuple< G4VSolid *, G4VSolid * > fullBulbConstruction(G4String pSide)
Definition OMSimPMTConstruction.cc:183
std::tuple< G4VSolid *, G4VSolid * > getBulbSolid(G4String pSide)
Definition OMSimPMTConstruction.cc:143
G4VSolid * getPMTSolid()
Definition OMSimPMTConstruction.cc:442
G4double getDistancePMTCenterToTip()
Definition OMSimPMTConstruction.cc:424
void constructCADdynodeSystem(G4LogicalVolume *p_mother)
Definition OMSimPMTConstruction.cc:257
void readGlobalParameters(G4String pSide)
Reads the parameter table and assigns the value and dimension of member variables.
Definition OMSimPMTConstruction.cc:307
G4double getMaxPMTRadius()
Definition OMSimPMTConstruction.cc:433
G4VSolid * ellipsePhotocathode(G4String p_side)
Definition OMSimPMTConstruction.cc:364
G4LogicalVolume * getLogicalVolume()
Definition OMSimPMTConstruction.cc:450
Class to simulate PMT response.
Definition OMSimPMTResponse.hh:20