Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:18:04

0001 #include "PHG4IHCalDisplayAction.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 PHG4IHCalDisplayAction::PHG4IHCalDisplayAction(const std::string &name)
0012   : PHG4DisplayAction(name)
0013   , m_MyTopVolume(nullptr)
0014   , m_SteelVol(nullptr)
0015 {
0016 }
0017 
0018 PHG4IHCalDisplayAction::~PHG4IHCalDisplayAction()
0019 {
0020   for (auto &it : m_VisAttVec)
0021   {
0022     delete it;
0023   }
0024   m_VisAttVec.clear();
0025   m_ScintiLogVolSet.clear();
0026 }
0027 
0028 void PHG4IHCalDisplayAction::ApplyDisplayAction(G4VPhysicalVolume * /*physvol*/)
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::Red());
0051   m_SteelVol->SetVisAttributes(m_VisAtt);
0052   m_VisAttVec.push_back(m_VisAtt);
0053 }