34 #include "HGCal/TBStandaloneSimulator/interface/PhysicsList.hh"
35 #include "HGCal/TBStandaloneSimulator/interface/DetectorConstruction.hh"
36 #include "G4RunManager.hh"
37 #include "G4ProcessManager.hh"
38 #include "G4SystemOfUnits.hh"
39 #include "G4UnitsTable.hh"
43 PhysicsList::PhysicsList(): QGSP_BERT()
46 int level = CLHEP::HepRandomGenActive;
49 defaultCutValue = 0.03 * mm;
50 SetVerboseLevel(level);
55 PhysicsList::~PhysicsList()
206 void PhysicsList::SetCuts()
208 if (verboseLevel > 0) {
209 G4cout <<
"PhysicsList::SetCuts:";
210 G4cout <<
"CutLength : " << G4BestUnit(defaultCutValue,
"Length") << G4endl;
217 SetCutValue(0.7 * mm,
"gamma");
218 SetCutValue(0.7 * mm,
"e-");
219 SetCutValue(0.7 * mm,
"e+");
220 SetCutValue(0.7 * mm,
"proton");
223 const std::vector<G4LogicalVolume*>& logSi
224 = ((DetectorConstruction*)G4RunManager::GetRunManager()->
225 GetUserDetectorConstruction())->getSiLogVol();
227 for(
size_t i = 0; i < logSi.size(); i++) {
229 G4Region* reg = logSi[i]->GetRegion();
230 G4ProductionCuts* cuts =
new G4ProductionCuts;
231 cuts->SetProductionCut(defaultCutValue);
232 reg->SetProductionCuts(cuts);
235 if (verboseLevel > 0) DumpCutValuesTable();