Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef SimG4CMS_Calo_EcalDumpGeometry_H
0002 #define SimG4CMS_Calo_EcalDumpGeometry_H
0003 #include "Geometry/EcalCommonData/interface/EcalBarrelNumberingScheme.h"
0004 #include "Geometry/EcalCommonData/interface/EcalBaseNumber.h"
0005 #include "Geometry/EcalCommonData/interface/EcalEndcapNumberingScheme.h"
0006 #include "Geometry/EcalCommonData/interface/EcalPreshowerNumberingScheme.h"
0007 #include "SimG4CMS/Calo/interface/CaloDetInfo.h"
0008 
0009 #include "G4Box.hh"
0010 #include "G4LogicalVolumeStore.hh"
0011 #include "G4PhysicalVolumeStore.hh"
0012 #include "G4Run.hh"
0013 #include "G4TransportationManager.hh"
0014 #include "G4Trap.hh"
0015 #include "G4LogicalVolume.hh"
0016 #include "G4VPhysicalVolume.hh"
0017 #include "G4VSolid.hh"
0018 
0019 #include <string>
0020 #include <vector>
0021 
0022 class EcalDumpGeometry {
0023 public:
0024   explicit EcalDumpGeometry(const std::vector<std::string_view> &, const std::string &, const std::string &, int);
0025   ~EcalDumpGeometry() = default;
0026 
0027   void update();
0028 
0029 private:
0030   void dumpTouch(G4VPhysicalVolume *pv, unsigned int leafDepth);
0031   std::string noRefl(const std::string &name);
0032 
0033   const std::string name1_, name2_;
0034   EcalBarrelNumberingScheme ebNumbering_;
0035   EcalEndcapNumberingScheme eeNumbering_;
0036   EcalPreshowerNumberingScheme esNumbering_;
0037   std::vector<std::string> names_;
0038   int type_;
0039   G4NavigationHistory fHistory_;
0040   std::vector<CaloDetInfo> infoVec_;
0041 };
0042 #endif