File indexing completed on 2025-08-06 08:19:20
0001
0002
0003 #ifndef G4MAIN_PHG4DISPLAYACTION_H
0004 #define G4MAIN_PHG4DISPLAYACTION_H
0005
0006 #include <string>
0007
0008 class G4VPhysicalVolume;
0009
0010 class PHG4DisplayAction
0011 {
0012 public:
0013
0014
0015 PHG4DisplayAction() = delete;
0016
0017 PHG4DisplayAction(const std::string &name)
0018 : m_Detector(name)
0019 {
0020 }
0021
0022
0023 virtual ~PHG4DisplayAction() {}
0024
0025
0026
0027
0028
0029
0030
0031
0032 virtual void ApplyDisplayAction(G4VPhysicalVolume *physvol) = 0;
0033
0034 virtual void SetName(const std::string &name) { m_Detector = name; }
0035
0036 virtual std::string GetName() const { return m_Detector; }
0037
0038 virtual void Print(const std::string & = "ALL") {}
0039
0040 enum CheckReturnCodes
0041 {
0042 ABORT = -1,
0043 FAILED = 0,
0044 ACCEPT = 1
0045 };
0046
0047 protected:
0048
0049
0050
0051
0052 int FindVolumes(G4VPhysicalVolume *physvol);
0053
0054
0055
0056
0057
0058 virtual int CheckVolume(G4VPhysicalVolume * ) { return 0; }
0059
0060
0061
0062
0063
0064 virtual void ApplyVisAttributes(G4VPhysicalVolume * ) { return; }
0065
0066 private:
0067 std::string m_Detector;
0068 };
0069
0070 #endif