ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4TpcDisplayAction.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4TpcDisplayAction.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4TPC_PHG4TPCDISPLAYACTION_H
4 #define G4TPC_PHG4TPCDISPLAYACTION_H
5 
7 
8 #include <map>
9 #include <string>
10 #include <vector>
11 
12 class G4VisAttributes;
13 class G4LogicalVolume;
14 class G4VPhysicalVolume;
15 
17 {
18  public:
19  PHG4TpcDisplayAction(const std::string &name);
20 
21  ~PHG4TpcDisplayAction() override;
22 
23  void ApplyDisplayAction(G4VPhysicalVolume *physvol) override;
24  void AddVolume(G4LogicalVolume *logvol, const std::string &mat) { m_LogicalVolumeMap[logvol] = mat; }
25  void AddTpcInnerLayer(G4LogicalVolume *logvol) { m_TpcInnerLayersVec.push_back(logvol); }
26  void AddTpcOuterLayer(G4LogicalVolume *logvol) { m_TpcOuterLayersVec.push_back(logvol); }
27 
28  private:
29  std::map<G4LogicalVolume *, std::string> m_LogicalVolumeMap;
30  std::vector<G4VisAttributes *> m_VisAttVec;
31  std::vector<G4LogicalVolume *> m_TpcInnerLayersVec;
32  std::vector<G4LogicalVolume *> m_TpcOuterLayersVec;
33 };
34 
35 #endif // G4TPC_PHG4TPCDISPLAYACTION_H