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

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/geo/include/RAT/PMTEncapsulation.hh Source File
Ratpac-two
PMTEncapsulation.hh
1 #ifndef __RAT_PMTEncapsulation__
2 #define __RAT_PMTEncapsulation__
3 
4 #include <G4LogicalVolume.hh>
5 #include <G4PVPlacement.hh>
6 #include <G4RotationMatrix.hh>
7 #include <G4VSolid.hh>
8 #include <RAT/DB.hh>
9 #include <string>
10 
11 namespace RAT {
12 
14  public:
15  static PMTEncapsulation *NewConstruction(DBLinkPtr encaptable, DBLinkPtr pmttable, G4LogicalVolume *mother);
16 
17  PMTEncapsulation(std::string _name) : name(_name) {}
18 
19  virtual ~PMTEncapsulation() {}
20 
21  virtual G4VSolid *BuildSolid(const std::string &prefix) = 0;
22 
23  virtual G4LogicalVolume *BuildVolume(const std::string &prefix) = 0;
24 
25  virtual G4PVPlacement *PlaceEncap(G4RotationMatrix *pmtrot, G4ThreeVector pmtpos, const std::string &name,
26  G4LogicalVolume *logi_pmt, G4VPhysicalVolume *mother_phys, bool booleanSolid,
27  int copyNo) = 0;
28 
29  protected:
30  std::string name;
31 };
32 
33 } // namespace RAT
34 
35 #endif
Definition: PMTEncapsulation.hh:13
Definition: CCCrossSecMessenger.hh:29