File indexing completed on 2025-08-05 08:17:49
0001 #include "PHG4InnerHcalDisplayAction.h"
0002
0003 #include <g4main/PHG4DisplayAction.h> // for PHG4DisplayAction
0004
0005 #include <Geant4/G4Colour.hh>
0006 #include <Geant4/G4LogicalVolume.hh>
0007 #include <Geant4/G4VisAttributes.hh>
0008
0009 #include <string>
0010
0011 PHG4InnerHcalDisplayAction::PHG4InnerHcalDisplayAction(const std::string &name)
0012 : PHG4DisplayAction(name)
0013 , m_MyTopVolume(nullptr)
0014 , m_SteelVol(nullptr)
0015 {
0016 }
0017
0018 PHG4InnerHcalDisplayAction::~PHG4InnerHcalDisplayAction()
0019 {
0020 for (auto &it : m_VisAttVec)
0021 {
0022 delete it;
0023 }
0024 m_VisAttVec.clear();
0025 m_ScintiLogVolSet.clear();
0026 }
0027
0028 void PHG4InnerHcalDisplayAction::ApplyDisplayAction(G4VPhysicalVolume * )
0029 {
0030 for (auto &it : m_ScintiLogVolSet)
0031 {
0032 if (it->GetVisAttributes())
0033 {
0034 return;
0035 }
0036 G4VisAttributes *m_VisAtt = new G4VisAttributes();
0037 m_VisAtt->SetVisibility(true);
0038 m_VisAtt->SetForceSolid(true);
0039 m_VisAtt->SetColor(G4Colour::Green());
0040 it->SetVisAttributes(m_VisAtt);
0041 m_VisAttVec.push_back(m_VisAtt);
0042 }
0043 if (m_SteelVol->GetVisAttributes())
0044 {
0045 return;
0046 }
0047 G4VisAttributes *m_VisAtt = new G4VisAttributes();
0048 m_VisAtt->SetVisibility(true);
0049 m_VisAtt->SetForceSolid(true);
0050 m_VisAtt->SetColor(G4Colour::Grey());
0051 m_SteelVol->SetVisAttributes(m_VisAtt);
0052 m_VisAttVec.push_back(m_VisAtt);
0053 }