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