Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:18:15

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef G4OHCAL_PHG4OHCALDISPLAYACTION_H
0004 #define G4OHCAL_PHG4OHCALDISPLAYACTION_H
0005 
0006 #include <g4main/PHG4DisplayAction.h>
0007 
0008 #include <set>
0009 #include <string>  // for string
0010 #include <vector>
0011 
0012 class G4LogicalVolume;
0013 class G4VisAttributes;
0014 class G4VPhysicalVolume;
0015 
0016 class PHG4OHCalDisplayAction : public PHG4DisplayAction
0017 {
0018  public:
0019   explicit PHG4OHCalDisplayAction(const std::string &name);
0020 
0021   ~PHG4OHCalDisplayAction() override;
0022 
0023   void ApplyDisplayAction(G4VPhysicalVolume *physvol) override;
0024   void SetMyTopVolume(G4VPhysicalVolume *vol) { m_MyTopVolume = vol; }
0025   void AddScintiVolume(G4LogicalVolume *vol) { m_ScintiLogVolSet.insert(vol); }
0026   void AddSteelVolume(G4LogicalVolume *vol) { m_SteelVol = vol; }
0027   void AddChimSteelVolume(G4LogicalVolume *vol) { m_ChimSteelVol = vol; }
0028   void AddSupportRingVolume(G4LogicalVolume *vol) { m_SupportRingLogVolSet.insert(vol); }
0029 
0030  private:
0031   G4VPhysicalVolume *m_MyTopVolume = nullptr;
0032   G4LogicalVolume *m_SteelVol = nullptr;
0033   G4LogicalVolume *m_ChimSteelVol = nullptr;
0034   std::vector<G4VisAttributes *> m_VisAttVec;
0035   std::vector<G4VisAttributes *> m_VisAttVec2;
0036   std::set<G4LogicalVolume *> m_ScintiLogVolSet;
0037   std::set<G4LogicalVolume *> m_SupportRingLogVolSet;
0038 };
0039 
0040 #endif  // G4OHCAL_PHG4OHCALDISPLAYACTION_H