Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:47

0001 #ifndef SimG4CMS_Calo_HcalDumpGeometry_H
0002 #define SimG4CMS_Calo_HcalDumpGeometry_H
0003 #include "Geometry/HcalCommonData/interface/HcalNumberingFromDDD.h"
0004 #include "SimG4CMS/Calo/interface/HcalTestNumberingScheme.h"
0005 #include "SimG4CMS/Calo/interface/CaloDetInfo.h"
0006 
0007 #include "G4Box.hh"
0008 #include "G4LogicalVolumeStore.hh"
0009 #include "G4PhysicalVolumeStore.hh"
0010 #include "G4Run.hh"
0011 #include "G4TransportationManager.hh"
0012 #include "G4Trap.hh"
0013 #include "G4LogicalVolume.hh"
0014 #include "G4VPhysicalVolume.hh"
0015 #include "G4VSolid.hh"
0016 
0017 #include <string>
0018 #include <vector>
0019 
0020 class HcalDumpGeometry {
0021 public:
0022   explicit HcalDumpGeometry(const std::vector<std::string_view> &,
0023                             const HcalNumberingFromDDD *,
0024                             bool,
0025                             bool flag = false);
0026   ~HcalDumpGeometry() = default;
0027 
0028   void update();
0029 
0030 private:
0031   void dumpTouch(G4VPhysicalVolume *pv, unsigned int leafDepth);
0032   std::string getNameNoNS(const std::string &name);
0033 
0034   const HcalNumberingFromDDD *numberingFromDDD_;
0035   std::unique_ptr<HcalNumberingScheme> numberingScheme_;
0036   std::vector<std::string> names_;
0037   const bool flag_;
0038   G4NavigationHistory fHistory_;
0039   std::vector<CaloDetInfo> infoVec_;
0040 };
0041 #endif