File indexing completed on 2025-08-06 08:19:02
0001
0002
0003 #ifndef G4DETECTORS_PHG4SECTORDETECTOR_H
0004 #define G4DETECTORS_PHG4SECTORDETECTOR_H
0005
0006 #include "PHG4SectorConstructor.h"
0007
0008 #include <g4main/PHG4Detector.h>
0009
0010 #include <string> // for string
0011
0012 class G4LogicalVolume;
0013 class G4VPhysicalVolume;
0014 class PHCompositeNode;
0015 class PHG4SectorDisplayAction;
0016 class PHG4Subsystem;
0017
0018 class PHG4SectorDetector : public PHG4Detector, public PHG4Sector::PHG4SectorConstructor
0019 {
0020 public:
0021
0022 PHG4SectorDetector(PHG4Subsystem *subsys, PHCompositeNode *Node, const std::string &dnam);
0023
0024
0025 ~PHG4SectorDetector(void) override = default;
0026
0027
0028 void ConstructMe(G4LogicalVolume *world) override;
0029
0030
0031
0032 bool IsInSectorActive(G4VPhysicalVolume *physvol);
0033
0034
0035 void SuperDetector(const std::string &name) { superdetector = name; }
0036 const std::string &SuperDetector() const { return superdetector; }
0037
0038 using PHG4Detector::OverlapCheck;
0039 void OverlapCheck(const bool chk) override
0040 {
0041 PHG4Detector::OverlapCheck(chk);
0042 PHG4SectorConstructor::OverlapCheck(chk);
0043 }
0044
0045 private:
0046 PHG4SectorDisplayAction *m_DisplayAction;
0047
0048 std::string superdetector;
0049 };
0050
0051 #endif