106 = G4ErrorPropagatorManager::GetErrorPropagatorManager();
108 = G4ErrorPropagatorData::GetErrorPropagatorData();
112 G4UImanager::GetUIpointer()->ApplyCommand(
"/exerror/setField -10. kilogauss");
114 g4emgr->InitGeant4e();
116 G4UImanager::GetUIpointer()->ApplyCommand(
"/control/verbose 1");
117 G4UImanager::GetUIpointer()->ApplyCommand(
"/tracking/verbose 1");
118 G4UImanager::GetUIpointer()->ApplyCommand(
"/geant4e/limits/stepLength 100 mm");
126 char* target = std::getenv(
"G4ERROR_TARGET");
137 G4Exception(
"exG4eReco",
"Fatal error in Argument",
138 FatalErrorInArgument,
140 " It must be: PLANE_SURFACE, CYL_SURFACE, VOLUME, TRKLEN").c_str());
143 G4Exception(
"exG4eReco",
"Fatal error in Argument",
144 JustWarning,
"Variable G4ERROR_TARGET not defined, taking it = PLANE_SURFACE");
151 char* mode = std::getenv(
"G4ERROR_MODE");
158 G4Exception(
"exG4eReco",
"Fatal error in Argument",
159 FatalErrorInArgument,
161 " It must be: FORWARDS or BACKWARDS").c_str());
164 G4Exception(
"exG4eReco",
"Fatal error in Argument",
165 JustWarning,
"Variable G4ERROR_MODE not defined, taking it = BACKWARDS");
175 G4ThreeVector xv3( 0, 0, 0 );
176 G4ThreeVector pv3( 20.0*GeV, 0.0, 0.0 );
177 G4ErrorTrajErr error( 5, 0 );
182 = G4ErrorPropagatorManager::GetErrorPropagatorManager();
186 G4Point3D surfPos(224.*cm,0.,0.);
187 G4Normal3D surfNorm(1.,0.,0.);
195 }
else if( iProp == 1){
199 g4emgr->InitTrackPropagation();
210 if( g4emgr->GetPropagator()->CheckIfLastStep( g4ErrorTrajState->GetG4Track() )) {
211 g4emgr->GetPropagator()
212 ->InvokePostUserTrackingAction( g4ErrorTrajState->GetG4Track() );
214 G4cout <<
"STEP_BY_STEP propagation: Last Step " << G4endl;
219 G4cout <<
" $$$ PROPAGATION ENDED " << G4endl;
221 G4Point3D posEnd = g4ErrorTrajState->GetPosition();
222 G4Normal3D momEnd = g4ErrorTrajState->GetMomentum();
223 G4ErrorTrajErr errorEnd = g4ErrorTrajState->GetError();
225 G4cout <<
" Position: " << posEnd << G4endl
226 <<
" Momentum: " << momEnd << G4endl
227 <<
" Error: " << errorEnd << G4endl;