Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ErrorPropagator Class Reference

#include <G4ErrorPropagator.hh>

Public Member Functions

 G4ErrorPropagator ()
 
 ~G4ErrorPropagator ()
 
G4TrackInitG4Track (G4ErrorTrajState &initialTS)
 
G4int Propagate (G4ErrorTrajState *currentTS, const G4ErrorTarget *target, G4ErrorMode mode=G4ErrorMode_PropForwards)
 
G4int PropagateOneStep (G4ErrorTrajState *currentTS)
 
G4int MakeOneStep (G4ErrorFreeTrajState *currentTS_FREE)
 
G4ErrorFreeTrajStateInitFreeTrajState (G4ErrorTrajState *currentTS)
 
void GetFinalTrajState (G4ErrorTrajState *currentTS, G4ErrorFreeTrajState *currentTS_FREE, const G4ErrorTarget *target)
 
void InvokePreUserTrackingAction (G4Track *fpTrack)
 
void InvokePostUserTrackingAction (G4Track *fpTrack)
 
G4bool CheckIfLastStep (G4Track *aTrack)
 
const G4ErrorTrajStateGetInitialTrajState () const
 
G4double GetStepLength () const
 
void SetStepLength (const G4double sl)
 
void SetStepN (const G4int sn)
 

Detailed Description

Definition at line 54 of file G4ErrorPropagator.hh.

Constructor & Destructor Documentation

◆ G4ErrorPropagator()

G4ErrorPropagator::G4ErrorPropagator ( )

Definition at line 57 of file G4ErrorPropagator.cc.

58 : theStepLength(0.), theInitialTrajState(0),
59 theFinalTrajState(0), theStepN(0), theG4Track(0)
60{
62#ifdef G4EVERBOSE
63 if(verbose >= 5) { G4cout << "G4ErrorPropagator " << this << G4endl; }
64#endif
65
66 fpSteppingManager = G4EventManager::GetEventManager()
68 thePropIsInitialized = false;
69}
#define G4endl
Definition: G4ios.hh:52
G4DLLIMPORT std::ostream G4cout
static G4EventManager * GetEventManager()
G4TrackingManager * GetTrackingManager() const
G4SteppingManager * GetSteppingManager() const

◆ ~G4ErrorPropagator()

G4ErrorPropagator::~G4ErrorPropagator ( )
inline

Definition at line 59 of file G4ErrorPropagator.hh.

59{}

Member Function Documentation

◆ CheckIfLastStep()

G4bool G4ErrorPropagator::CheckIfLastStep ( G4Track aTrack)

Definition at line 520 of file G4ErrorPropagator.cc.

521{
522 G4bool exception = 0;
523 G4bool lastG4eStep = false;
524 G4ErrorPropagatorData* g4edata =
526
527#ifdef G4EVERBOSE
528 if( verbose >= 4 )
529 {
530 G4cout << " G4ErrorPropagator::CheckIfLastStep G4ErrorState= "
531 << G4int(g4edata->GetState()) << G4endl;
532 }
533#endif
534
535 //----- Check if this is the last step: track has reached the target
536 // or the end of world
537 //
539 {
540 lastG4eStep = true;
541#ifdef G4EVERBOSE
542 if(verbose >= 5 )
543 {
544 G4cout << " G4ErrorPropagator::CheckIfLastStep " << lastG4eStep
545 << " " << G4int(g4edata->GetState()) << G4endl;
546 }
547#endif
548 }
549 else if( aTrack->GetNextVolume() == 0 )
550 {
551 //----- If particle is out of world, without finding the G4ErrorTarget,
552 // give a n error/warning
553 //
554 lastG4eStep = true;
555 if( exception )
556 {
557 G4cerr << "ERROR - G4ErrorPropagator::CheckIfLastStep()" << G4endl
558 << " Track extrapolated until end of World" << G4endl
559 << " without finding the defined target " << G4endl;
560 G4Exception("G4ErrorPropagator::CheckIfLastStep()",
561 "InvalidSetup", FatalException,
562 "Track extrapolated without finding the defined target.");
563 }
564 else
565 {
566 if( verbose >= 1 )
567 {
568 G4cerr << "ERROR - G4ErrorPropagator::CheckIfLastStep()" << G4endl
569 << " Track extrapolated until end of World" << G4endl
570 << " without finding the defined target " << G4endl;
571 }
572 }
573 } //----- not last step from G4e, but track is stopped (energy exhausted)
574 else if( aTrack->GetTrackStatus() == fStopAndKill )
575 {
576 if( exception )
577 {
578 G4cerr << "ERROR - G4ErrorPropagator::CheckIfLastStep()" << G4endl
579 << " Track extrapolated until energy is exhausted" << G4endl
580 << " without finding the defined target !" << G4endl;
581 G4Exception("G4ErrorPropagator::CheckIfLastStep()",
582 "InvalidSetup", FatalException,
583 "Track extrapolated without finding the defined target.");
584 }
585 else
586 {
587 if( verbose >= 1 )
588 {
589 G4cerr << "ERROR - G4ErrorPropagator::CheckIfLastStep()" << G4endl
590 << " Track extrapolated until energy is exhausted" << G4endl
591 << " without finding the defined target !" << G4endl;
592 }
593 lastG4eStep = 1;
594 }
595 }
596
597#ifdef G4EVERBOSE
598 if( verbose >= 5 )
599 {
600 G4cout << " return CheckIfLastStep " << lastG4eStep << G4endl;
601 }
602#endif
603
604 return lastG4eStep;
605}
@ G4ErrorState_StoppedAtTarget
@ FatalException
@ fStopAndKill
int G4int
Definition: G4Types.hh:66
bool G4bool
Definition: G4Types.hh:67
G4DLLIMPORT std::ostream G4cerr
G4ErrorState GetState() const
static G4ErrorPropagatorData * GetErrorPropagatorData()
G4TrackStatus GetTrackStatus() const
G4VPhysicalVolume * GetNextVolume() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41

◆ GetFinalTrajState()

void G4ErrorPropagator::GetFinalTrajState ( G4ErrorTrajState currentTS,
G4ErrorFreeTrajState currentTS_FREE,
const G4ErrorTarget target 
)

Definition at line 474 of file G4ErrorPropagator.cc.

477{
478 G4ErrorPropagatorData* g4edata =
480
481#ifdef G4EVERBOSE
482 if(verbose >= 1 )
483 {
484 G4cout << " G4ErrorPropagator::Propagate: final state "
485 << G4int(g4edata->GetState()) << " TSType "
486 << currentTS->GetTSType() << G4endl;
487 }
488#endif
489
490 if( (currentTS->GetTSType() == G4eTS_FREE) ||
491 (g4edata->GetState() != G4ErrorState_StoppedAtTarget) )
492 {
493 currentTS = currentTS_FREE;
494 }
495 else if( currentTS->GetTSType() == G4eTS_OS )
496 {
497 if( target->GetType() == G4ErrorTarget_TrkL )
498 {
499 G4Exception("G4ErrorPropagator:GetFinalTrajState()",
500 "InvalidSetup", FatalException,
501 "Using a G4ErrorSurfaceTrajState with wrong target");
502 }
503 const G4ErrorTanPlaneTarget* targetWTP =
504 static_cast<const G4ErrorTanPlaneTarget*>(target);
505 *currentTS = G4ErrorSurfaceTrajState(
506 *(static_cast<G4ErrorFreeTrajState*>(currentTS_FREE)),
507 targetWTP->GetTangentPlane( currentTS_FREE->GetPosition() ) );
508#ifdef G4EVERBOSE
509 if(verbose >= 1 )
510 {
511 G4cout << currentTS << " returning tssd " << *currentTS << G4endl;
512 }
513#endif
514 delete currentTS_FREE;
515 }
516}
@ G4ErrorTarget_TrkL
@ G4eTS_FREE
@ G4eTS_OS
virtual G4Plane3D GetTangentPlane(const G4ThreeVector &point) const =0
G4ErrorTargetType GetType() const
virtual G4eTSType GetTSType() const
G4Point3D GetPosition() const

Referenced by Propagate(), and PropagateOneStep().

◆ GetInitialTrajState()

const G4ErrorTrajState * G4ErrorPropagator::GetInitialTrajState ( ) const
inline

Definition at line 99 of file G4ErrorPropagator.hh.

100 { return theInitialTrajState; }

◆ GetStepLength()

G4double G4ErrorPropagator::GetStepLength ( ) const
inline

Definition at line 102 of file G4ErrorPropagator.hh.

103 { return theStepLength; }

◆ InitFreeTrajState()

G4ErrorFreeTrajState * G4ErrorPropagator::InitFreeTrajState ( G4ErrorTrajState currentTS)

Definition at line 446 of file G4ErrorPropagator.cc.

447{
448 G4ErrorFreeTrajState* currentTS_FREE = 0;
449
450 //----- Transform the TrajState to Free coordinates if it is OnSurface
451 //
452 if( currentTS->GetTSType() == G4eTS_OS )
453 {
455 static_cast<G4ErrorSurfaceTrajState*>(currentTS);
456 currentTS_FREE = new G4ErrorFreeTrajState( *tssd );
457 }
458 else if( currentTS->GetTSType() == G4eTS_FREE )
459 {
460 currentTS_FREE = static_cast<G4ErrorFreeTrajState*>(currentTS);
461 }
462 else
463 {
464 G4cerr << "ERROR - G4ErrorPropagator::InitFreeTrajState()" << G4endl
465 << "WRONG TrajState " + currentTS->GetTSType() << G4endl;
466 G4Exception("G4ErrorPropagator::InitFreeTrajState()", "InvalidState",
467 FatalException, "WRONG trajectory state !");
468 }
469 return currentTS_FREE;
470}

Referenced by Propagate(), and PropagateOneStep().

◆ InitG4Track()

G4Track * G4ErrorPropagator::InitG4Track ( G4ErrorTrajState initialTS)

Definition at line 250 of file G4ErrorPropagator.cc.

251{
252 if( verbose >= 5 ) { G4cout << "InitG4Track " << G4endl; }
253
254 //----- Create Particle
255 //
256 const G4String partType = initialTS.GetParticleType();
258 G4ParticleDefinition* particle = particleTable->FindParticle(partType);
259 if( particle == 0)
260 {
261 G4cerr << "ERROR - G4ErrorPropagator::InitG4Track()" << G4endl
262 << " Particle type not defined " + partType << G4endl;
263 G4Exception( "G4ErrorPropagator::InitG4Track()", "InvalidSetup",
264 FatalException, "Particle type not defined !" );
265 }
266
267 G4DynamicParticle* DP =
268 new G4DynamicParticle(particle,initialTS.GetMomentum());
269
270 DP->SetPolarization(0.,0.,0.);
271
272 // Set Charge
273 //
274 if( particle->GetPDGCharge() < 0 )
275 {
276 DP->SetCharge(-eplus);
277 }
278 else
279 {
280 DP->SetCharge(eplus);
281 }
282
283 //----- Create Track
284 //
285 theG4Track = new G4Track(DP, 0., initialTS.GetPosition() );
286 theG4Track->SetParentID(0);
287
288#ifdef G4EVERBOSE
289 if(verbose >= 3)
290 {
291 G4cout << " G4ErrorPropagator new track of energy: "
292 << theG4Track->GetKineticEnergy() << G4endl;
293 }
294#endif
295
296 //---- Reproduce G4TrackingManager::ProcessOneTrack initialization
297 InvokePreUserTrackingAction( theG4Track );
298
299 if( fpSteppingManager == 0 )
300 {
301 G4Exception("G4ErrorPropagator::InitG4Track()", "InvalidSetup",
302 FatalException, "G4SteppingManager not initialized yet!");
303 }
304 else
305 {
306 fpSteppingManager->SetInitialStep(theG4Track);
307 }
308
309 // Give SteppingManger the maximum number of processes
310 //
311 fpSteppingManager->GetProcessNumber();
312
313 // Give track the pointer to the Step
314 //
315 theG4Track->SetStep(fpSteppingManager->GetStep());
316
317 // Inform beginning of tracking to physics processes
318 //
319 theG4Track->GetDefinition()->GetProcessManager()->StartTracking(theG4Track);
320
321 initialTS.SetG4Track( theG4Track );
322
323 return theG4Track;
324}
void SetCharge(G4double charge)
void SetPolarization(G4double polX, G4double polY, G4double polZ)
void InvokePreUserTrackingAction(G4Track *fpTrack)
void SetG4Track(G4Track *trk)
G4Vector3D GetMomentum() const
const G4String & GetParticleType() const
G4ProcessManager * GetProcessManager() const
G4double GetPDGCharge() const
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static G4ParticleTable * GetParticleTable()
void StartTracking(G4Track *aTrack=0)
void SetInitialStep(G4Track *valueTrack)
G4Step * GetStep() const
void SetStep(const G4Step *aValue)
G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
void SetParentID(const G4int aValue)

Referenced by Propagate(), and PropagateOneStep().

◆ InvokePostUserTrackingAction()

void G4ErrorPropagator::InvokePostUserTrackingAction ( G4Track fpTrack)

Definition at line 622 of file G4ErrorPropagator.cc.

623{
624 const G4UserTrackingAction* fpUserTrackingAction =
626 if( fpUserTrackingAction != 0 )
627 {
628 const_cast<G4UserTrackingAction*>(fpUserTrackingAction)
629 ->PostUserTrackingAction((fpTrack) );
630 }
631}
G4UserTrackingAction * GetUserTrackingAction()

Referenced by Propagate().

◆ InvokePreUserTrackingAction()

void G4ErrorPropagator::InvokePreUserTrackingAction ( G4Track fpTrack)

Definition at line 609 of file G4ErrorPropagator.cc.

610{
611 const G4UserTrackingAction* fpUserTrackingAction =
613 if( fpUserTrackingAction != 0 )
614 {
615 const_cast<G4UserTrackingAction*>(fpUserTrackingAction)
616 ->PreUserTrackingAction((fpTrack) );
617 }
618}

Referenced by InitG4Track().

◆ MakeOneStep()

G4int G4ErrorPropagator::MakeOneStep ( G4ErrorFreeTrajState currentTS_FREE)

Definition at line 354 of file G4ErrorPropagator.cc.

355{
356 G4ErrorPropagatorData* g4edata =
358 G4int ierr = 0;
359
360 //---------- Track one step
361#ifdef G4EVERBOSE
362 if(verbose >= 2 )
363 {
364 G4cout << G4endl
365 << "@@@@@@@@@@@@@@@@@@@@@@@@@ NEW STEP " << G4endl;
366 }
367#endif
368
369 theG4Track->IncrementCurrentStepNumber();
370
371 fpSteppingManager->Stepping();
372
373 //---------- Check if Target has been reached (and then set G4ErrorState)
374
375 // G4ErrorPropagationNavigator limits the step if target is closer than
376 // boundary (but the winner process is always "Transportation": then
377 // error propagator will stop the track
378
379 if( theG4Track->GetStep()->GetPostStepPoint()
380 ->GetProcessDefinedStep()->GetProcessName() == "Transportation" )
381 {
382 if( g4edata->GetState()
384 { // target or step length reached
385
386#ifdef G4EVERBOSE
387 if(verbose >= 5 )
388 {
389 G4cout << " transportation determined by geant4e " << G4endl;
390 }
391#endif
393 }
394 else if( g4edata->GetTarget()->GetType() == G4ErrorTarget_GeomVolume )
395 {
397 (G4ErrorGeomVolumeTarget*)(g4edata->GetTarget());
398 if( static_cast<G4ErrorGeomVolumeTarget*>( target )
399 ->TargetReached( theG4Track->GetStep() ) )
400 {
402 }
403 }
404 }
405 else if( theG4Track->GetStep()->GetPostStepPoint()->GetProcessDefinedStep()
406 ->GetProcessName() == "G4ErrorTrackLengthTarget" )
407 {
409 }
410
411 //---------- Propagate error
412
413#ifdef G4EVERBOSE
414 if(verbose >= 2 )
415 {
416 G4cout << " propagating error " << *currentTS_FREE << G4endl;
417 }
418#endif
419 const G4Track* cTrack = const_cast<G4Track*>(theG4Track);
420 ierr = currentTS_FREE->PropagateError( cTrack );
421
422#ifdef G4EVERBOSE
423 if(verbose >= 3 )
424 {
425 G4cout << " PropagateError returns " << ierr << G4endl;
426 }
427#endif
428
429 currentTS_FREE->Update( cTrack );
430
431 theStepLength += theG4Track->GetStepLength();
432
433 if(ierr != 0 )
434 {
435 G4cerr << "ERROR - G4ErrorPropagator:MakeOneStep()" << G4endl
436 << " Error returned: " << ierr << G4endl
437 << " Geant4 tracking will be stopped !" << G4endl;
438 }
439
440 return ierr;
441}
@ G4ErrorState_TargetCloserThanBoundary
@ G4ErrorTarget_GeomVolume
virtual G4int Update(const G4Track *aTrack)
virtual G4int PropagateError(const G4Track *aTrack)
virtual G4bool TargetReached(const G4Step *aStep)
const G4ErrorTarget * GetTarget(G4bool mustExist=0) const
void SetState(G4ErrorState sta)
const G4VProcess * GetProcessDefinedStep() const
G4StepPoint * GetPostStepPoint() const
G4StepStatus Stepping()
G4double GetStepLength() const
void IncrementCurrentStepNumber()
const G4Step * GetStep() const
const G4String & GetProcessName() const
Definition: G4VProcess.hh:379

Referenced by PropagateOneStep().

◆ Propagate()

G4int G4ErrorPropagator::Propagate ( G4ErrorTrajState currentTS,
const G4ErrorTarget target,
G4ErrorMode  mode = G4ErrorMode_PropForwards 
)

Definition at line 73 of file G4ErrorPropagator.cc.

75{
76 // to start ierror is set to 1 (= OK)
77 //
78 G4int ierr = 1;
79
80 G4ErrorPropagatorData* g4edata =
82
83 //----- Do not propagate zero or too low energy particles
84 //
85 if( currentTS->GetMomentum().mag() < 1.E-9*MeV )
86 {
87 G4cerr << "ERROR - G4ErrorPropagator::Propagate()" << G4endl
88 << " Energy too low to be propagated: "
89 << G4BestUnit(currentTS->GetMomentum().mag(),"Energy") << G4endl;
90 return -3;
91 }
92
93 g4edata->SetMode( mode );
94
95#ifdef G4EVERBOSE
96 if( verbose >= 1 )
97 {
98 G4cout << " =====> starting GEANT4E tracking for "
99 << currentTS->GetParticleType()
100 << " Forwards= " << g4edata->GetMode() << G4endl;
101 }
102 if(verbose >= 1 )
103 {
104 G4cout << G4endl << "@@@@@@@@@@@@@@@@@@@@@@@@@ NEW STEP " << G4endl;
105 }
106
107 if( verbose >= 3 )
108 {
109 G4cout << " G4ErrorPropagator::Propagate initialTS ";
110 G4cout << *currentTS << G4endl;
111 target->Dump(G4String(" to target "));
112 }
113#endif
114
115 g4edata->SetTarget( target );
116
117 //----- Create a track
118 //
119 if( theG4Track != 0 ) { delete theG4Track; }
120 theG4Track = InitG4Track( *currentTS );
121
122 //----- Create a G4ErrorFreeTrajState
123 //
124 G4ErrorFreeTrajState* currentTS_FREE = InitFreeTrajState( currentTS );
125
126 //----- Track the particle
127 //
128 ierr = MakeSteps( currentTS_FREE );
129
130 //------ Tracking ended, check if target has been reached
131 // if target not found
132 //
133 if( g4edata->GetState() != G4ErrorState_StoppedAtTarget )
134 {
135 if( theG4Track->GetKineticEnergy() > 0. )
136 {
137 ierr = -ierr - 10;
138 }
139 else
140 {
141 ierr = -ierr - 20;
142 }
143 *currentTS = *currentTS_FREE;
144 if(verbose >= 0 )
145 {
146 G4cerr << "ERROR - G4ErrorPropagator::Propagate()" << G4endl
147 << " Particle does not reach target: " << *currentTS
148 << G4endl;
149 }
150 }
151 else
152 {
153 GetFinalTrajState( currentTS, currentTS_FREE, target );
154 }
155
156#ifdef G4EVERBOSE
157 if( verbose >= 1 )
158 {
159 G4cout << " G4ErrorPropagator: propagation ended " << G4endl;
160 }
161 if( verbose >= 2 )
162 {
163 G4cout << " Current TrajState " << currentTS << G4endl;
164 }
165#endif
166
167 // Inform end of tracking to physics processes
168 //
169 theG4Track->GetDefinition()->GetProcessManager()->EndTracking();
170
171 InvokePostUserTrackingAction( theG4Track );
172
173 // delete currentTS_FREE;
174
175 return ierr;
176}
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
void SetMode(G4ErrorMode mode)
void SetTarget(const G4ErrorTarget *target)
G4ErrorMode GetMode() const
G4Track * InitG4Track(G4ErrorTrajState &initialTS)
void InvokePostUserTrackingAction(G4Track *fpTrack)
void GetFinalTrajState(G4ErrorTrajState *currentTS, G4ErrorFreeTrajState *currentTS_FREE, const G4ErrorTarget *target)
G4ErrorFreeTrajState * InitFreeTrajState(G4ErrorTrajState *currentTS)
virtual void Dump(const G4String &msg) const =0

Referenced by G4ErrorPropagatorManager::Propagate().

◆ PropagateOneStep()

G4int G4ErrorPropagator::PropagateOneStep ( G4ErrorTrajState currentTS)

Definition at line 180 of file G4ErrorPropagator.cc.

181{
182 G4ErrorPropagatorData* g4edata =
184
185 if ( (g4edata->GetState() == G4ErrorState_PreInit)
188 {
189 G4cout << "ERROR - G4ErrorPropagator::PropagateOneStep()" << G4endl
190 << " Called before initialization is done for this track."
191 << G4endl
192 << " Please call G4ErrorPropagatorManager::InitGeant4e()."
193 << G4endl;
194 G4Exception("G4ErrorPropagator::PropagateOneStep()",
195 "InvalidCall", FatalException,
196 "Called before initialization is done for this track!");
197 }
198
199 // to start ierror is set to 0 (= OK)
200 //
201 G4int ierr = 0;
202
203 //--- Do not propagate zero or too low energy particles
204 //
205 if( currentTS->GetMomentum().mag() < 1.E-9*MeV )
206 {
207 G4cerr << "ERROR - G4ErrorPropagator::PropagateOneStep()" << G4endl
208 << " Energy too low to be propagated: "
209 << G4BestUnit(currentTS->GetMomentum().mag(),"Energy") << G4endl;
210 return -3;
211 }
212
213#ifdef G4EVERBOSE
214 if( verbose >= 1 )
215 {
216 G4cout << " =====> starting GEANT4E tracking for "
217 << currentTS->GetParticleType()
218 << " Forwards= " << g4edata->GetMode() << G4endl;
219 }
220 if( verbose >= 3 )
221 {
222 G4cout << " G4ErrorPropagator::Propagate initialTS ";
223 G4cout << *currentTS << G4endl;
224 }
225#endif
226
227 //----- If it is the first step, create a track
228 //
229 if( theStepN == 0 ) { theG4Track = InitG4Track( *currentTS ); }
230 // set to 0 by the initialization in G4ErrorPropagatorManager
231 theStepN++;
232
233 //----- Create a G4ErrorFreeTrajState
234 //
235 G4ErrorFreeTrajState* currentTS_FREE = InitFreeTrajState( currentTS );
236
237 //----- Track the particle one step
238 //
239 ierr = MakeOneStep( currentTS_FREE );
240
241 //----- Get the state on target
242 //
243 GetFinalTrajState( currentTS, currentTS_FREE, g4edata->GetTarget() );
244
245 return ierr;
246}
@ G4State_GeomClosed
@ G4ErrorState_PreInit
G4int MakeOneStep(G4ErrorFreeTrajState *currentTS_FREE)
G4ApplicationState GetCurrentState() const
static G4StateManager * GetStateManager()

Referenced by G4ErrorPropagatorManager::PropagateOneStep().

◆ SetStepLength()

void G4ErrorPropagator::SetStepLength ( const G4double  sl)
inline

Definition at line 105 of file G4ErrorPropagator.hh.

106 { theStepLength = sl; }

◆ SetStepN()

void G4ErrorPropagator::SetStepN ( const G4int  sn)
inline

Definition at line 108 of file G4ErrorPropagator.hh.

109 { theStepN = sn; }

Referenced by G4ErrorPropagatorManager::InitTrackPropagation().


The documentation for this class was generated from the following files: