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

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/geo/include/RAT/LAPPDConstruction.hh Source File
Ratpac-two
LAPPDConstruction.hh
1 #ifndef __RAT_LAPPDConstruction__
2 #define __RAT_LAPPDConstruction__
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 glassThickness; // mm
30  double width; // mm
31  double photocathodeWidth; // mm
32  double thick; // mm
33 
34  G4Material *glass;
35  G4Material *vacuum;
36 
37  G4OpticalSurface *photocathode;
38 
39  double efficiencyCorrection; // default to 1.0 for no correction
40 };
41 
43  public:
44  LAPPDConstruction(DBLinkPtr params, G4LogicalVolume *mother);
45  virtual ~LAPPDConstruction() {}
46 
47  virtual G4LogicalVolume *BuildVolume(const std::string &prefix);
48  virtual G4VSolid *BuildSolid(const std::string &prefix);
49  virtual G4PVPlacement *PlacePMT(G4RotationMatrix *pmtrot, G4ThreeVector pmtpos, const std::string &name,
50  G4LogicalVolume *logi_pmt, G4VPhysicalVolume *mother_phys, bool booleanSolid,
51  int copyNo);
52 
53  protected:
54  // physical volumes
55  G4PVPlacement *glass_phys;
56  G4PVPlacement *vacuum_phys;
57 
58  G4LogicalVolume *log_pmt;
60 };
61 
62 } // namespace RAT
63 
64 #endif
Definition: LAPPDConstruction.hh:42
Definition: PMTConstruction.hh:14
Definition: CCCrossSecMessenger.hh:29
Definition: LAPPDConstruction.hh:20