ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4FCalDetector.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4FCalDetector.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4DETECTORS_PHG4FCALDETECTOR_H
4 #define G4DETECTORS_PHG4FCALDETECTOR_H
5 
6 #include <g4main/PHG4Detector.h>
7 
8 #include <Geant4/G4Region.hh>
9 #include <Geant4/G4String.hh> // for G4String
10 #include <Geant4/G4Types.hh>
11 
12 #include <map>
13 #include <string> // for string
14 
15 class G4Material;
16 class G4Box;
17 class G4LogicalVolume;
19 class G4VPhysicalVolume;
20 class PHCompositeNode;
21 class PHG4Subsystem;
22 
24 {
25  public:
26  PHG4FCalDetector(PHG4Subsystem* subsys, PHCompositeNode* Node, const std::string& name);
27 
28  virtual ~PHG4FCalDetector(void) {}
29 
30  virtual void ConstructMe(G4LogicalVolume* world);
31 
33  {
34  if (_region)
36  else
37  return nullptr;
38  }
39 
42  unsigned int computeIndex(unsigned int layer, G4double x, G4double y, G4double z, G4double& xcenter, G4double& ycenter, G4double& zcenter);
43 
44  private:
49 
51 
54 
55  std::map<unsigned int, G4Box*> absorber_solid_;
56  std::map<unsigned int, G4LogicalVolume*> absorber_logic_;
57  std::map<unsigned int, G4VPhysicalVolume*> absorber_physi_;
58 
59  std::map<unsigned int, G4Box*> scintillator_solid_;
60  std::map<unsigned int, G4LogicalVolume*> scintillator_logic_;
61  std::map<unsigned int, G4VPhysicalVolume*> scintillator_physi_;
62 
64 };
65 
66 #endif