83 G4cerr <<
"ERROR - ExTGRCRegionCutsMgr::AddRegionCuts()" << G4endl
84 <<
" Must have 3 or 4 arguments : REGION_NAME, gamma_CUT,"
85 <<
" e-_CUT (e+_CUT)." << G4endl
86 <<
" It has only " << rc.size() <<
" !" << G4endl;
87 G4Exception(
"ExTGRCRegionCutsMgr::AddRegionCuts()",
"InvalidArgument",
88 FatalErrorInArgument, G4UIcommand::ConvertToString(G4int(rc.size())) );
95 if( regs.size() == 0 )
97 G4Exception(
"ExTGRCRegionCutsMgr::AddRegionCuts()",
98 "InvalidArgument", FatalErrorInArgument,
99 G4String(
" region does not exist: " + rc[0]).c_str());
102 for(
size_t ii = 0; ii < regs.size(); ii++)
104 regs[ii]->SetCutsData( rc );
126 std::vector<ExTGRCRegionData*>::const_iterator iter;
127 std::vector<G4String>::const_iterator ites;
132 std::vector<G4String> lvs = (*iter)->GetLVNames();
133 for( ites = lvs.begin(); ites != lvs.end(); ites++ )
136 G4tgbVolumeMgr::GetInstance()->FindG4LogVol(*ites,
true );
137 reg->AddRootLogicalVolume( logVol );
145 std::vector<ExTGRCRegionData*>::const_iterator iter;
150 if( (*iter)->CutsAreSet() )
152 G4Region* reg = regions->GetRegion( (*iter)->GetRegionName() );
155 G4Exception(
"ExTGRCRegionCutsMgr::BuildProductionCuts()",
156 "InvalidArgument", FatalErrorInArgument,
157 G4String(
"Region not found: " + (*iter)->GetRegionName()).c_str() );
161 cuts->SetProductionCut((*iter)->GetGammaCut(),
"gamma");
162 cuts->SetProductionCut((*iter)->GetElectronCut(),
"e-");
163 cuts->SetProductionCut((*iter)->GetPositronCut(),
"e+");
164 reg->SetProductionCuts(cuts);