Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:19:30

0001 // Tell emacs that this is a C++ source
0002 // -*- C++ -*-.
0003 #ifndef G4TPC_PHG4TPCDISPLAYACTION_H
0004 #define G4TPC_PHG4TPCDISPLAYACTION_H
0005 
0006 #include <g4main/PHG4DisplayAction.h>
0007 
0008 #include <map>
0009 #include <string>
0010 #include <vector>
0011 
0012 class G4VisAttributes;
0013 class G4LogicalVolume;
0014 class G4VPhysicalVolume;
0015 
0016 class PHG4TpcDisplayAction : public PHG4DisplayAction
0017 {
0018  public:
0019   PHG4TpcDisplayAction(const std::string &name);
0020 
0021   ~PHG4TpcDisplayAction() override;
0022 
0023   void ApplyDisplayAction(G4VPhysicalVolume *physvol) override;
0024   void AddVolume(G4LogicalVolume *logvol, const std::string &mat) { m_LogicalVolumeMap[logvol] = mat; }
0025   void AddTpcInnerLayer(G4LogicalVolume *logvol) { m_TpcInnerLayersVec.push_back(logvol); }
0026   void AddTpcOuterLayer(G4LogicalVolume *logvol) { m_TpcOuterLayersVec.push_back(logvol); }
0027 
0028  private:
0029   std::map<G4LogicalVolume *, std::string> m_LogicalVolumeMap;
0030   std::vector<G4VisAttributes *> m_VisAttVec;
0031   std::vector<G4LogicalVolume *> m_TpcInnerLayersVec;
0032   std::vector<G4LogicalVolume *> m_TpcOuterLayersVec;
0033 };
0034 
0035 #endif  // G4TPC_PHG4TPCDISPLAYACTION_H