/home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/geo/include/RAT/CylindricalPMTConstruction.hh Source File

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/geo/include/RAT/CylindricalPMTConstruction.hh Source File
Ratpac-two
CylindricalPMTConstruction.hh
1 #ifndef __RAT_CylindricalPMTConstruction__
2 #define __RAT_CylindricalPMTConstruction__
3 
4 #include <G4LogicalVolume.hh>
5 #include <G4Material.hh>
6 #include <G4OpticalSurface.hh>
7 #include <G4PVPlacement.hh>
8 #include <G4VSensitiveDetector.hh>
9 #include <G4VSolid.hh>
10 #include <RAT/DB.hh>
11 #include <RAT/Factory.hh>
12 #include <RAT/GLG4TorusStack.hh>
13 #include <RAT/PMTConstruction.hh>
14 #include <RAT/WaveguideFactory.hh>
15 #include <string>
16 #include <vector>
17 
18 namespace RAT {
19 
22  efficiencyCorrection = 1.0;
23  invisible = false;
24  };
25 
26  bool invisible;
27 
28  // Body
29  double caseThickness; // mm
30  double glassThickness; // mm
31  double pmtRadius; // mm
32  double pmtHeight; // mm
33  double photocathodeRadius; // mm
34 
35  G4Material *outerCase;
36  G4Material *glass;
37  G4Material *vacuum;
38 
39  G4OpticalSurface *photocathode;
40 
41  double efficiencyCorrection; // default to 1.0 for no correction
42 };
43 
45  public:
46  CylindricalPMTConstruction(DBLinkPtr params, G4LogicalVolume *mother);
47  virtual ~CylindricalPMTConstruction() {}
48 
49  virtual G4LogicalVolume *BuildVolume(const std::string &prefix);
50  virtual G4VSolid *BuildSolid(const std::string &prefix);
51  virtual G4PVPlacement *PlacePMT(G4RotationMatrix *pmtrot, G4ThreeVector pmtpos, const std::string &name,
52  G4LogicalVolume *logi_pmt, G4VPhysicalVolume *mother_phys, bool booleanSolid,
53  int copyNo);
54 
55  protected:
56  // physical volumes
57  G4PVPlacement *glass_phys;
58  G4PVPlacement *vacuum_phys;
59 
60  G4LogicalVolume *log_pmt;
62 };
63 
64 } // namespace RAT
65 
66 #endif
Definition: CylindricalPMTConstruction.hh:44
Definition: PMTConstruction.hh:14
Definition: CCCrossSecMessenger.hh:29
Definition: CylindricalPMTConstruction.hh:20