CMS 3D CMS Logo

DDG4ProductionCuts.h
Go to the documentation of this file.
1 #ifndef SimG4Core_DDG4ProductionCuts_H
2 #define SimG4Core_DDG4ProductionCuts_H
3 
5 #include <DD4hep/SpecParRegistry.h>
6 #include <DDG4/Geant4GeometryInfo.h>
7 
8 #include <string>
9 #include <vector>
10 
11 class DDLogicalPart;
12 class G4Region;
13 class G4LogicalVolume;
14 
16 public:
17  explicit DDG4ProductionCuts(const G4LogicalVolumeToDDLogicalPartMap*, int, bool);
18 
19  explicit DDG4ProductionCuts(const dd4hep::SpecParRegistry*,
20  const dd4hep::sim::Geant4GeometryMaps::VolumeMap*,
21  int,
22  bool);
23 
24 private:
25  void initialize();
26  void setProdCuts(const DDLogicalPart, G4Region*);
27 
30 
31  // ---------------------------------
32  // DD4hep specific initialization,
33  // methods, and local variables...
34  void dd4hepInitialize();
35  void setProdCuts(const dd4hep::SpecPar*, G4Region*);
36 
37  const dd4hep::sim::Geant4GeometryMaps::VolumeMap* dd4hepMap_ = nullptr;
38  std::vector<std::pair<G4LogicalVolume*, const dd4hep::SpecPar*>> dd4hepVec_;
39  const dd4hep::SpecParRegistry* specPars_;
40  // ... end here.
41  // ---------------------------------
42 
44  const int verbosity_;
45  const bool protonCut_;
46 };
47 
48 #endif
DDG4ProductionCuts(const G4LogicalVolumeToDDLogicalPartMap *, int, bool)
std::vector< std::pair< G4LogicalVolume *, const dd4hep::SpecPar * > > dd4hepVec_
const dd4hep::SpecParRegistry * specPars_
const std::string keywordRegion_
const G4LogicalVolumeToDDLogicalPartMap * map_
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:93
std::vector< Pair > Vector
usefull typedef
Definition: DDMapper.h:19
G4LogicalVolumeToDDLogicalPartMap::Vector vec_
void setProdCuts(const DDLogicalPart, G4Region *)
const dd4hep::sim::Geant4GeometryMaps::VolumeMap * dd4hepMap_