00001 #ifndef SimG4Core_DDG4ProductionCuts_H 00002 #define SimG4Core_DDG4ProductionCuts_H 00003 00004 #include "SimG4Core/Geometry/interface/G4LogicalVolumeToDDLogicalPartMap.h" 00005 00006 #include <string> 00007 #include <vector> 00008 00009 class DDLogicalPart; 00010 class G4Region; 00011 class G4LogicalVolume; 00012 class G4ProductionCuts; 00013 00014 class DDG4ProductionCuts { 00015 00016 public: 00017 DDG4ProductionCuts(const G4LogicalVolumeToDDLogicalPartMap&, int); 00018 ~DDG4ProductionCuts(); 00019 void update(); 00020 void SetVerbosity( int verb ) { m_Verbosity = verb; return ; } 00021 00022 private: 00023 00024 void initialize(); 00025 void setProdCuts(const DDLogicalPart lpart, G4LogicalVolume * lvolume); 00026 G4Region * getRegion(const std::string & region); 00027 G4ProductionCuts * getProductionCuts(G4Region * region); 00028 00029 G4LogicalVolumeToDDLogicalPartMap map_; 00030 std::string m_KeywordRegion; 00031 int m_Verbosity; 00032 G4LogicalVolumeToDDLogicalPartMap::Vector vec_; 00033 }; 00034 00035 #endif