File indexing completed on 2025-08-05 08:17:42
0001
0002
0003 #ifndef G4DETECTORS_PHG4BLOCKDETECTOR_H
0004 #define G4DETECTORS_PHG4BLOCKDETECTOR_H
0005
0006 #include <g4main/PHG4Detector.h>
0007
0008 #include <string> // for string
0009
0010 class G4LogicalVolume;
0011 class G4VPhysicalVolume;
0012 class PHCompositeNode;
0013 class PHG4BlockDisplayAction;
0014 class PHG4Subsystem;
0015 class PHParameters;
0016
0017 class PHG4BlockDetector : public PHG4Detector
0018 {
0019 public:
0020
0021 PHG4BlockDetector(PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *parameters, const std::string &dnam, const int lyr = 0);
0022
0023
0024 ~PHG4BlockDetector(void) override = default;
0025
0026
0027 void ConstructMe(G4LogicalVolume *world) override;
0028
0029
0030
0031 bool IsInBlock(G4VPhysicalVolume *) const;
0032
0033
0034 void SuperDetector(const std::string &name) { m_SuperDetector = name; }
0035 const std::string &SuperDetector() const { return m_SuperDetector; }
0036 int get_Layer() const { return m_Layer; }
0037
0038 private:
0039 PHParameters *m_Params;
0040
0041 G4VPhysicalVolume *m_BlockPhysi;
0042 PHG4BlockDisplayAction *m_DisplayAction;
0043
0044 int m_Layer;
0045 std::string m_SuperDetector;
0046 };
0047
0048 #endif