File indexing completed on 2025-08-05 08:18:15
0001 #include "PHG4OHCalDisplayAction.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 PHG4OHCalDisplayAction::PHG4OHCalDisplayAction(const std::string &name)
0010 : PHG4DisplayAction(name)
0011 {
0012 }
0013
0014 PHG4OHCalDisplayAction::~PHG4OHCalDisplayAction()
0015 {
0016 for (auto &it : m_VisAttVec)
0017 {
0018 delete it;
0019 }
0020 m_VisAttVec.clear();
0021 m_ScintiLogVolSet.clear();
0022 m_SupportRingLogVolSet.clear();
0023 }
0024
0025 void PHG4OHCalDisplayAction::ApplyDisplayAction(G4VPhysicalVolume * )
0026 {
0027 for (auto &it : m_ScintiLogVolSet)
0028 {
0029 if (it->GetVisAttributes())
0030 {
0031 return;
0032 }
0033 G4VisAttributes *m_VisAtt = new G4VisAttributes();
0034 m_VisAtt->SetVisibility(true);
0035 m_VisAtt->SetForceSolid(true);
0036 m_VisAtt->SetColor(G4Colour::Green());
0037 it->SetVisAttributes(m_VisAtt);
0038 m_VisAttVec.push_back(m_VisAtt);
0039 }
0040
0041 for (auto &it : m_SupportRingLogVolSet)
0042 {
0043 if (it->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 it->SetVisAttributes(m_VisAtt);
0052 m_VisAttVec.push_back(m_VisAtt);
0053 }
0054
0055 if (m_SteelVol)
0056 {
0057 if (m_SteelVol->GetVisAttributes())
0058 {
0059 return;
0060 }
0061 G4VisAttributes *m_VisAtt = new G4VisAttributes();
0062 m_VisAtt->SetVisibility(true);
0063 m_VisAtt->SetForceSolid(true);
0064 m_VisAtt->SetColor(G4Colour::Grey());
0065 m_SteelVol->SetVisAttributes(m_VisAtt);
0066 m_VisAttVec.push_back(m_VisAtt);
0067 }
0068
0069 if (m_ChimSteelVol)
0070 {
0071 if (m_ChimSteelVol->GetVisAttributes())
0072 {
0073 return;
0074 }
0075 G4VisAttributes *m_VisAtt = new G4VisAttributes();
0076 m_VisAtt->SetVisibility(true);
0077 m_VisAtt->SetForceSolid(true);
0078 m_VisAtt->SetColor(G4Colour::Grey());
0079 m_ChimSteelVol->SetVisAttributes(m_VisAtt);
0080 m_VisAttVec2.push_back(m_VisAtt);
0081 }
0082 }