EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4RICHDetector.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4RICHDetector.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 
12 #ifndef G4DETECTORS_PHG4RICHDETECTOR_H
13 #define G4DETECTORS_PHG4RICHDETECTOR_H
14 
16 
17 #include <g4main/PHG4Detector.h>
18 
19 #include <Geant4/G4Region.hh>
20 
21 #include <string> // for string
22 
23 class G4LogicalVolume;
24 class G4UserSteppingAction;
25 class PHCompositeNode;
26 class PHG4Subsystem;
27 
42 {
43  public:
44  PHG4RICHDetector(PHG4Subsystem* subsys, PHCompositeNode* Node, const std::string& dname, const ePHENIXRICH::RICH_Geometry& g);
45  PHG4RICHDetector(PHG4Subsystem* subsys, PHCompositeNode* Node, const std::string& dname);
46 
47  virtual ~PHG4RICHDetector(void)
48  {
49  }
50 
51  virtual void
52  ConstructMe(G4LogicalVolume* world);
53 
54  virtual G4UserSteppingAction*
56  {
57  if (_region)
58  return _region->GetRegionalSteppingAction();
59  else
60  return 0;
61  }
62 
63  virtual void OverlapCheck(const bool chk = true)
64  {
66  ePHENIXRICHConstruction::OverlapCheck(chk);
67  }
68 
69  private:
70  G4Region* _region;
71 };
72 
73 #endif