46 #define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
48 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
51 #define G4BestUnit(a,b) a
60 #ifdef G4_TRACKING_DEBUG
61 G4cout <<
"G4ITSteppingVerbose has instantiated" <<
G4endl;
81 if(fVerboseLevel == 0)
89 if(fVerboseLevel >= 3)
93 for(
size_t np = 0; np < MAXofAtRestLoops; np++)
95 size_t npGPIL = MAXofAtRestLoops - np - 1;
96 if((*fSelectedAtRestDoItVector)[npGPIL] == 2)
99 ptProcManager = (*fAtRestDoItVector)[np];
103 else if ( (*fSelectedAtRestDoItVector)[npGPIL] == 1 )
106 ptProcManager = (*fAtRestDoItVector)[np];
112 G4cout <<
" Generated secondries # : " << fN2ndariesAtRestDoIt <<
G4endl;
114 if(fN2ndariesAtRestDoIt > 0)
116 G4cout <<
" -- List of secondaries generated : "
117 <<
"(x,y,z,kE,t,PID) --" <<
G4endl;
118 for(
size_t lp1=(*fSecondary).size()-fN2ndariesAtRestDoIt;
119 lp1<(*fSecondary).size(); lp1++)
123 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
x(),
"Length") <<
" "
125 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
y(),
"Length") <<
" "
127 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
z(),
"Length") <<
" "
129 <<
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),
"Energy") <<
" "
131 <<
G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),
"Time") <<
" "
133 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() <<
G4endl;
138 if(fVerboseLevel >= 4)
148 if(fVerboseLevel == 0)
157 if(fVerboseLevel >= 3)
160 G4cout <<
" >>AlongStepDoIt (after all invocations):" <<
G4endl;
163 for(
size_t ci=0; ci<MAXofAlongStepLoops; ci++)
165 ptProcManager = (*fAlongStepDoItVector)(ci);
166 G4cout <<
" " << ci+1 <<
") ";
167 if(ptProcManager != 0)
175 G4cout <<
" ++List of secondaries generated "
176 <<
"(x,y,z,kE,t,PID):"
177 <<
" No. of secodaries = "
178 << (*fSecondary).size() <<
G4endl;
180 if((*fSecondary).size()>0)
182 for(
size_t lp1=0; lp1<(*fSecondary).size(); lp1++)
186 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
x(),
"Length") <<
" "
188 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
y(),
"Length") <<
" "
190 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
z(),
"Length") <<
" "
192 <<
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),
"Energy") <<
" "
194 <<
G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),
"Time") <<
" "
196 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() <<
G4endl;
205 if(fVerboseLevel == 0)
214 if(fVerboseLevel >= 3)
224 G4cout <<
" **PostStepDoIt (after all invocations):" <<
G4endl;
227 for(
size_t np = 0; np < MAXofPostStepLoops; np++)
229 size_t npGPIL = MAXofPostStepLoops - np - 1;
230 if((*fSelectedPostStepDoItVector)[npGPIL] == 2)
233 ptProcManager = (*fPostStepDoItVector)[np];
237 else if ( (*fSelectedPostStepDoItVector)[npGPIL] == 1)
240 ptProcManager = (*fPostStepDoItVector)[np];
241 G4cout <<
" " << npt <<
") "
248 G4cout <<
" ++List of secondaries generated " <<
"(x,y,z,kE,t,PID):"
249 <<
" No. of secodaries = " << (*fSecondary).size() <<
G4endl;
250 G4cout <<
" [Note]Secondaries from AlongStepDoIt included." <<
G4endl;
252 if((*fSecondary).size() > 0)
254 for(
size_t lp1 = 0; lp1 < (*fSecondary).size(); lp1++)
256 G4cout <<
" " << std::setw(9)
257 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
x(),
"Length")
258 <<
" " << std::setw(9)
259 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
y(),
"Length")
260 <<
" " << std::setw(9)
261 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
z(),
"Length")
262 <<
" " << std::setw(9)
263 <<
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),
"Energy")
264 <<
" " << std::setw(9)
265 <<
G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),
"Time")
266 <<
" " << std::setw(18)
267 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName()
279 if(fVerboseLevel == 0)
284 if(fVerboseLevel < 2)
290 if(fVerboseLevel >= 4) VerboseTrack();
291 if(fVerboseLevel >= 3)
295 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
296 G4cout << std::setw( 5) <<
"#TrackID" <<
" "
297 << std::setw( 5) <<
"#Step#" <<
" "
298 << std::setw( 8) <<
"X" <<
" " << std::setw( 8) <<
"Y" <<
" "
299 << std::setw( 8) <<
"Z" <<
" "
300 << std::setw( 9) <<
"KineE" <<
" " << std::setw( 8) <<
"dE" <<
" "
301 << std::setw(12) <<
"StepLeng" <<
" " << std::setw(12) <<
"TrackLeng" <<
" "
302 << std::setw(12) <<
"NextVolume" <<
" " << std::setw( 8) <<
"ProcName" <<
G4endl;
304 G4cout << std::setw( 5) <<
"#TrackID" <<
" "
305 << std::setw( 5) <<
"#Step#" <<
" "
306 << std::setw( 8) <<
"X(mm)" <<
" " << std::setw( 8) <<
"Y(mm)" <<
" "
307 << std::setw( 8) <<
"Z(mm)" <<
" "
308 << std::setw( 9) <<
"KinE(MeV)" <<
" " << std::setw( 8) <<
"dE(MeV)" <<
" "
309 << std::setw( 8) <<
"StepLeng" <<
" " << std::setw( 9) <<
"TrackLeng" <<
" "
310 << std::setw(11) <<
"NextVolume" <<
" " << std::setw( 8) <<
"ProcName" <<
G4endl;
313 G4cout << std::setw(5) << fTrack->GetTrackID() <<
" " << std::setw(5)
314 << fTrack->GetCurrentStepNumber() <<
" " << std::setw(8)
315 <<
G4BestUnit(fTrack->GetPosition().x(),
"Length") <<
" "
316 << std::setw(8) <<
G4BestUnit(fTrack->GetPosition().y(),
"Length")
317 <<
" " << std::setw(8)
318 <<
G4BestUnit(fTrack->GetPosition().z(),
"Length") <<
" "
319 << std::setw(9) <<
G4BestUnit(fTrack->GetKineticEnergy(),
"Energy")
320 <<
" " << std::setw(8)
321 <<
G4BestUnit(fStep->GetTotalEnergyDeposit(),
"Energy") <<
" "
322 << std::setw(8) <<
G4BestUnit(fStep->GetStepLength(),
"Length")
323 <<
" " << std::setw(9)
324 <<
G4BestUnit(fTrack->GetTrackLength(),
"Length") <<
" ";
327 if(fTrack->GetNextVolume() != 0)
329 G4cout << std::setw(11) << fTrack->GetNextVolume()->GetName() <<
" ";
333 G4cout << std::setw(11) <<
"OutOfWorld" <<
" ";
335 if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != 0)
338 << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
346 if(fVerboseLevel == 2)
348 G4int tN2ndariesTot = fN2ndariesAtRestDoIt + fN2ndariesAlongStepDoIt
349 + fN2ndariesPostStepDoIt;
350 if(tN2ndariesTot > 0)
352 G4cout <<
" :----- List of 2ndaries - " <<
"#SpawnInStep="
353 << std::setw(3) << tN2ndariesTot <<
"(Rest=" << std::setw(2)
354 << fN2ndariesAtRestDoIt <<
",Along=" << std::setw(2)
355 << fN2ndariesAlongStepDoIt <<
",Post=" << std::setw(2)
356 << fN2ndariesPostStepDoIt <<
"), " <<
"#SpawnTotal="
357 << std::setw(3) << (*fSecondary).size() <<
" ---------------"
360 for(
size_t lp1=(*fSecondary).size()-tN2ndariesTot; lp1<(*fSecondary).size(); lp1++)
364 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
x() ,
"Length")<<
" "
366 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
y() ,
"Length")<<
" "
368 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
z() ,
"Length") <<
" "
370 <<
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy() ,
"Energy")<<
" "
372 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() <<
G4endl;
374 G4cout <<
" :-----------------------------" <<
"----------------------------------"
375 <<
"-- EndOf2ndaries Info ---------------" <<
G4endl;
385 if(fVerboseLevel < 2)
394 if(fVerboseLevel >= 4) VerboseTrack();
395 if(fVerboseLevel >= 3)
399 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
400 G4cout << std::setw( 5) <<
"#TrackID" <<
" "
401 << std::setw( 5) <<
"#Step#" <<
" "
402 << std::setw( 8) <<
"X" <<
" " << std::setw( 8) <<
"Y" <<
" "
403 << std::setw( 8) <<
"Z" <<
" "
404 << std::setw( 9) <<
"KineE" <<
" " << std::setw( 8) <<
"dE" <<
" "
405 << std::setw(12) <<
"StepLeng" <<
" " << std::setw(12) <<
"TrackLeng" <<
" "
406 << std::setw(12) <<
"NextVolume" <<
" " << std::setw( 8) <<
"ProcName" <<
G4endl;
408 G4cout << std::setw( 5) <<
"#TrackID" <<
" "
409 << std::setw( 5) <<
"#Step#" <<
" "
410 << std::setw( 8) <<
"X(mm)" <<
" " << std::setw( 8) <<
"Y(mm)" <<
" "
411 << std::setw( 8) <<
"Z(mm)" <<
" "
412 << std::setw( 9) <<
"KinE(MeV)" <<
" " << std::setw( 8) <<
"dE(MeV)" <<
" "
413 << std::setw( 8) <<
"StepLeng" <<
" " << std::setw( 9) <<
"TrackLeng" <<
" "
414 << std::setw(11) <<
"NextVolume" <<
" " << std::setw( 8) <<
"ProcName" <<
G4endl;
417 G4cout << std::setw(5) << fTrack->GetTrackID() <<
" " << std::setw(5)
418 << fTrack->GetCurrentStepNumber() <<
" " << std::setw(8)
419 <<
G4BestUnit(fTrack->GetPosition().x(),
"Length") <<
" "
420 << std::setw(8) <<
G4BestUnit(fTrack->GetPosition().y(),
"Length")
421 <<
" " << std::setw(8)
422 <<
G4BestUnit(fTrack->GetPosition().z(),
"Length") <<
" "
423 << std::setw(9) <<
G4BestUnit(fTrack->GetKineticEnergy(),
"Energy")
424 <<
" " << std::setw(8)
425 <<
G4BestUnit(fStep->GetTotalEnergyDeposit(),
"Energy") <<
" "
426 << std::setw(8) <<
G4BestUnit(fStep->GetStepLength(),
"Length") <<
" "
427 << std::setw(9) <<
G4BestUnit(fTrack->GetTrackLength(),
"Length")
431 if(fTrack->GetNextVolume() != 0)
433 G4cout << std::setw(11) << fTrack->GetNextVolume()->GetName() <<
" ";
437 G4cout << std::setw(11) <<
"OutOfWorld" <<
" ";
439 if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != 0)
442 << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
449 if(fVerboseLevel == 2)
451 G4int tN2ndariesTot = fN2ndariesAtRestDoIt + fN2ndariesAlongStepDoIt
452 + fN2ndariesPostStepDoIt;
453 if(tN2ndariesTot > 0)
455 G4cout <<
" :----- List of 2ndaries - " <<
"#SpawnInStep="
456 << std::setw(3) << tN2ndariesTot <<
"(Rest=" << std::setw(2)
457 << fN2ndariesAtRestDoIt <<
",Along=" << std::setw(2)
458 << fN2ndariesAlongStepDoIt <<
",Post=" << std::setw(2)
459 << fN2ndariesPostStepDoIt <<
"), " <<
"#SpawnTotal="
460 << std::setw(3) << (*fSecondary).size() <<
" ---------------"
463 for(
size_t lp1=(*fSecondary).size()-tN2ndariesTot; lp1<(*fSecondary).size(); lp1++)
467 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
x() ,
"Length")<<
" "
469 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
y() ,
"Length")<<
" "
471 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
z() ,
"Length") <<
" "
473 <<
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy() ,
"Energy")<<
" "
475 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() <<
G4endl;
477 G4cout <<
" :-----------------------------" <<
"----------------------------------"
478 <<
"-- EndOf2ndaries Info ---------------" <<
G4endl;
489 if(fVerboseLevel == 0)
495 if(fVerboseLevel > 5)
497 G4cout <<
G4endl<<
" >>DefinePhysicalStepLength (List of proposed StepLengths): " <<
G4endl;
504 if(fVerboseLevel == 0)
510 if(fVerboseLevel > 5)
513 G4cout <<
"=== Defined Physical Step Length (DPSL)" <<
G4endl;
514 G4cout <<
" ++ProposedStep(UserLimit) = " << std::setw( 9) << physIntLength
515 <<
" : ProcName = User defined maximum allowed Step" <<
G4endl;
522 if(fVerboseLevel == 0)
527 if(fVerboseLevel > 5)
531 G4cout <<
" ++ProposedStep(PostStep ) = " << std::setw(9)
532 << physIntLength <<
" : ProcName = "
533 << fCurrentProcess->GetProcessName() <<
" (";
546 else if(fCondition==
Forced)
560 if(fVerboseLevel == 0)
565 if(fVerboseLevel > 5)
569 G4cout <<
" ++ProposedStep(AlongStep) = " << std::setw(9)
570 <<
G4BestUnit(physIntLength,
"Length") <<
" : ProcName = "
571 << fCurrentProcess->GetProcessName() <<
" (";
591 if(fVerboseLevel <= 1)
597 if(fVerboseLevel > 0)
620 G4cout <<
"Start tracking : "
622 <<
" (" << fTrack->GetTrackID() <<
") from position "
624 <<
G4BestUnit(fTrack->GetPosition().x(),
"Length") <<
" "
626 <<
G4BestUnit(fTrack->GetPosition().y(),
"Length") <<
" "
628 <<
G4BestUnit(fTrack->GetPosition().z(),
"Length") <<
" ";
643 if(fTrack->GetNextVolume())
645 G4cout << std::setw(11) << fTrack->GetNextVolume()->GetName() <<
" ";
649 G4cout << std::setw(11) <<
"OutOfWorld" <<
" ";
660 if(fVerboseLevel <= 1)
return;
662 G4cout <<
" * End tracking : " <<
" Particle : "
678 if(fVerboseLevel < 4)
686 G4cout <<
" >>AlongStepDoIt (process by process): " <<
" Process Name = "
687 << fCurrentProcess->GetProcessName() <<
G4endl;
690 G4cout <<
" " <<
"!Note! Safety of PostStep is only valid "
691 <<
"after all DoIt invocations." <<
G4endl;
693 VerboseParticleChange();
696 G4cout <<
" ++List of secondaries generated " <<
"(x,y,z,kE,t,PID):"
697 <<
" No. of secodaries = " << fN2ndariesAlongStepDoIt <<
G4endl;
699 if(fN2ndariesAlongStepDoIt > 0)
701 for(
size_t lp1 = (*fSecondary).size() - fN2ndariesAlongStepDoIt;
702 lp1 < (*fSecondary).size(); lp1++)
704 G4cout <<
" " << std::setw(9)
705 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
x(),
"Length")
706 <<
" " << std::setw(9)
707 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
y(),
"Length")
708 <<
" " << std::setw(9)
709 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
z(),
"Length")
710 <<
" " << std::setw(9)
711 <<
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),
"Energy")
712 <<
" " << std::setw(9)
713 <<
G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),
"Time") <<
" "
715 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() <<
G4endl;
723 if(fVerboseLevel < 4)
730 G4cout <<
" >>PostStepDoIt (process by process): " <<
" Process Name = "
731 << fCurrentProcess->GetProcessName() <<
G4endl;
735 VerboseParticleChange();
738 G4cout <<
" ++List of secondaries generated " <<
"(x,y,z,kE,t,PID):"
739 <<
" No. of secodaries = " << fN2ndariesPostStepDoIt <<
G4endl;
741 if(fN2ndariesPostStepDoIt > 0)
743 for(
size_t lp1 = (*fSecondary).size() - fN2ndariesPostStepDoIt;
744 lp1 < (*fSecondary).size(); lp1++)
746 G4cout <<
" " << std::setw(9)
747 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
x(),
"Length")
748 <<
" " << std::setw(9)
749 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
y(),
"Length")
750 <<
" " << std::setw(9)
751 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().
z(),
"Length")
752 <<
" " << std::setw(9)
753 <<
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),
"Energy")
754 <<
" " << std::setw(9)
755 <<
G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),
"Time") <<
" "
757 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() <<
G4endl;
766 if(fVerboseLevel == 0)
777 G4cout <<
" -----------------------------------------------" <<
G4endl;
778 G4cout <<
" G4Track Information " << std::setw(20) <<
G4endl;
779 G4cout <<
" -----------------------------------------------" <<
G4endl;
781 G4cout <<
" Step number : " << std::setw(20)
782 << fTrack->GetCurrentStepNumber() <<
G4endl;
783 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
784 G4cout <<
" Position - x : " << std::setw(20)
785 <<
G4BestUnit(fTrack->GetPosition().x(),
"Length") << G4endl;
786 G4cout <<
" Position - y : " << std::setw(20)
787 <<
G4BestUnit(fTrack->GetPosition().y(),
"Length") << G4endl;
788 G4cout <<
" Position - z : " << std::setw(20)
789 <<
G4BestUnit(fTrack->GetPosition().z(),
"Length") << G4endl;
790 G4cout <<
" Global Time : " << std::setw(20)
791 <<
G4BestUnit(fTrack->GetGlobalTime(),
"Time") << G4endl;
792 G4cout <<
" Local Time : " << std::setw(20)
793 <<
G4BestUnit(fTrack->GetLocalTime(),
"Time") << G4endl;
795 G4cout <<
" Position - x (mm) : " << std::setw(20)
796 << fTrack->GetPosition().x() /
mm <<
G4endl;
797 G4cout <<
" Position - y (mm) : " << std::setw(20)
798 << fTrack->GetPosition().y() /
mm <<
G4endl;
799 G4cout <<
" Position - z (mm) : " << std::setw(20)
800 << fTrack->GetPosition().z() /
mm <<
G4endl;
801 G4cout <<
" Global Time (ns) : " << std::setw(20)
802 << fTrack->GetGlobalTime() /
ns <<
G4endl;
803 G4cout <<
" Local Time (ns) : " << std::setw(20)
804 << fTrack->GetLocalTime() /
ns <<
G4endl;
806 G4cout <<
" Momentum Direct - x : " << std::setw(20)
807 << fTrack->GetMomentumDirection().x() <<
G4endl;
808 G4cout <<
" Momentum Direct - y : " << std::setw(20)
809 << fTrack->GetMomentumDirection().y() <<
G4endl;
810 G4cout <<
" Momentum Direct - z : " << std::setw(20)
811 << fTrack->GetMomentumDirection().z() <<
G4endl;
812 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
813 G4cout <<
" Kinetic Energy : "
815 G4cout <<
" Kinetic Energy (MeV): "
818 <<
G4BestUnit(fTrack->GetKineticEnergy(),
"Energy") << G4endl;
819 G4cout <<
" Polarization - x : " << std::setw(20)
820 << fTrack->GetPolarization().x() <<
G4endl;
821 G4cout <<
" Polarization - y : " << std::setw(20)
822 << fTrack->GetPolarization().y() <<
G4endl;
823 G4cout <<
" Polarization - z : " << std::setw(20)
824 << fTrack->GetPolarization().z() <<
G4endl;
825 G4cout <<
" Track Length : " << std::setw(20)
826 <<
G4BestUnit(fTrack->GetTrackLength(),
"Length") << G4endl;
827 G4cout <<
" Track ID # : " << std::setw(20)
828 << fTrack->GetTrackID() <<
G4endl;
829 G4cout <<
" Parent Track ID # : " << std::setw(20)
830 << fTrack->GetParentID() <<
G4endl;
831 G4cout <<
" Next Volume : " << std::setw(20);
832 if(fTrack->GetNextVolume() != 0)
834 G4cout << fTrack->GetNextVolume()->GetName() <<
" ";
838 G4cout <<
"OutOfWorld" <<
" ";
841 G4cout <<
" Track Status : " << std::setw(20);
842 if(fTrack->GetTrackStatus() ==
fAlive)
848 G4cout <<
" StopButAlive";
856 G4cout <<
" KillTrackAndSecondaries";
858 else if(fTrack->GetTrackStatus() ==
fSuspend)
864 G4cout <<
" PostponeToNextEvent";
867 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
868 G4cout <<
" Vertex - x : " << std::setw(20)
869 <<
G4BestUnit(fTrack->GetVertexPosition().x(),
"Length") << G4endl;
870 G4cout <<
" Vertex - y : " << std::setw(20)
871 <<
G4BestUnit(fTrack->GetVertexPosition().y(),
"Length") << G4endl;
872 G4cout <<
" Vertex - z : " << std::setw(20)
873 <<
G4BestUnit(fTrack->GetVertexPosition().z(),
"Length") << G4endl;
875 G4cout <<
" Vertex - x (mm) : " << std::setw(20)
876 << fTrack->GetVertexPosition().x() /
mm <<
G4endl;
877 G4cout <<
" Vertex - y (mm) : " << std::setw(20)
878 << fTrack->GetVertexPosition().y() /
mm <<
G4endl;
879 G4cout <<
" Vertex - z (mm) : " << std::setw(20)
880 << fTrack->GetVertexPosition().z() /
mm <<
G4endl;
882 G4cout <<
" Vertex - Px (MomDir): " << std::setw(20)
883 << fTrack->GetVertexMomentumDirection().x() <<
G4endl;
884 G4cout <<
" Vertex - Py (MomDir): " << std::setw(20)
885 << fTrack->GetVertexMomentumDirection().y() <<
G4endl;
886 G4cout <<
" Vertex - Pz (MomDir): " << std::setw(20)
887 << fTrack->GetVertexMomentumDirection().z() <<
G4endl;
888 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
889 G4cout <<
" Vertex - KineE : "
891 G4cout <<
" Vertex - KineE (MeV): "
894 <<
G4BestUnit(fTrack->GetVertexKineticEnergy(),
"Energy") << G4endl;
896 G4cout <<
" Creator Process : " << std::setw(20);
897 if(fTrack->GetCreatorProcess() == 0)
903 G4cout << fTrack->GetCreatorProcess()->GetProcessName() <<
G4endl;
906 G4cout <<
" -----------------------------------------------" <<
G4endl;
915 if(fVerboseLevel == 0)
922 fParticleChange->DumpInfo();
928 if(fVerboseLevel == 0)
939 oldprc =
G4cout.precision(16);
942 G4cout <<
" Address of G4Track : " << fStep->GetTrack() <<
G4endl;
943 G4cout <<
" Step Length (mm) : "
944 << fStep->GetTrack()->GetStepLength() <<
G4endl;
945 G4cout <<
" Energy Deposit (MeV) : " << fStep->GetTotalEnergyDeposit()
949 G4cout <<
" -------------------------------------------------------"
950 <<
"----------------" <<
G4endl;
951 G4cout <<
" StepPoint Information " << std::setw(20) <<
"PreStep"
952 << std::setw(20) <<
"PostStep" <<
G4endl;
953 G4cout <<
" -------------------------------------------------------"
954 <<
"----------------" <<
G4endl;
955 G4cout <<
" Position - x (mm) : " << std::setw(20)
956 << fStep->GetPreStepPoint()->GetPosition().x() << std::setw(20)
957 << fStep->GetPostStepPoint()->GetPosition().x() <<
G4endl;
958 G4cout <<
" Position - y (mm) : " << std::setw(20)
959 << fStep->GetPreStepPoint()->GetPosition().y() << std::setw(20)
960 << fStep->GetPostStepPoint()->GetPosition().y() <<
G4endl;
961 G4cout <<
" Position - z (mm) : " << std::setw(20)
962 << fStep->GetPreStepPoint()->GetPosition().z() << std::setw(20)
963 << fStep->GetPostStepPoint()->GetPosition().z() <<
G4endl;
964 G4cout <<
" Global Time (ns) : " << std::setw(20)
965 << fStep->GetPreStepPoint()->GetGlobalTime() << std::setw(20)
966 << fStep->GetPostStepPoint()->GetGlobalTime() <<
G4endl;
967 G4cout <<
" Local Time (ns) : " << std::setw(20)
968 << fStep->GetPreStepPoint()->GetLocalTime() << std::setw(20)
969 << fStep->GetPostStepPoint()->GetLocalTime() <<
G4endl;
970 G4cout <<
" Proper Time (ns) : " << std::setw(20)
971 << fStep->GetPreStepPoint()->GetProperTime() << std::setw(20)
972 << fStep->GetPostStepPoint()->GetProperTime() <<
G4endl;
973 G4cout <<
" Momentum Direct - x : " << std::setw(20)
974 << fStep->GetPreStepPoint()->GetMomentumDirection().x()
976 << fStep->GetPostStepPoint()->GetMomentumDirection().x() <<
G4endl;
977 G4cout <<
" Momentum Direct - y : " << std::setw(20)
978 << fStep->GetPreStepPoint()->GetMomentumDirection().y()
980 << fStep->GetPostStepPoint()->GetMomentumDirection().y() <<
G4endl;
981 G4cout <<
" Momentum Direct - z : " << std::setw(20)
982 << fStep->GetPreStepPoint()->GetMomentumDirection().z()
984 << fStep->GetPostStepPoint()->GetMomentumDirection().z() <<
G4endl;
985 G4cout <<
" Momentum - x (MeV/c): " << std::setw(20)
986 << fStep->GetPreStepPoint()->GetMomentum().x() << std::setw(20)
987 << fStep->GetPostStepPoint()->GetMomentum().x() <<
G4endl;
988 G4cout <<
" Momentum - y (MeV/c): " << std::setw(20)
989 << fStep->GetPreStepPoint()->GetMomentum().y() << std::setw(20)
990 << fStep->GetPostStepPoint()->GetMomentum().y() <<
G4endl;
991 G4cout <<
" Momentum - z (MeV/c): " << std::setw(20)
992 << fStep->GetPreStepPoint()->GetMomentum().z() << std::setw(20)
993 << fStep->GetPostStepPoint()->GetMomentum().z() <<
G4endl;
994 G4cout <<
" Total Energy (MeV) : " << std::setw(20)
995 << fStep->GetPreStepPoint()->GetTotalEnergy() << std::setw(20)
996 << fStep->GetPostStepPoint()->GetTotalEnergy() <<
G4endl;
997 G4cout <<
" Kinetic Energy (MeV): " << std::setw(20)
998 << fStep->GetPreStepPoint()->GetKineticEnergy() << std::setw(20)
999 << fStep->GetPostStepPoint()->GetKineticEnergy() <<
G4endl;
1000 G4cout <<
" Velocity (mm/ns) : " << std::setw(20)
1001 << fStep->GetPreStepPoint()->GetVelocity() << std::setw(20)
1002 << fStep->GetPostStepPoint()->GetVelocity() <<
G4endl;
1003 G4cout <<
" Volume Name : " << std::setw(20)
1004 << fStep->GetPreStepPoint()->GetPhysicalVolume()->GetName();
1005 if(fStep->GetPostStepPoint()->GetPhysicalVolume())
1007 volName = fStep->GetPostStepPoint()->GetPhysicalVolume()->GetName();
1011 volName =
"OutOfWorld";
1014 G4cout <<
" Safety (mm) : " << std::setw(20)
1015 << fStep->GetPreStepPoint()->GetSafety() << std::setw(20)
1016 << fStep->GetPostStepPoint()->GetSafety() <<
G4endl;
1017 G4cout <<
" Polarization - x : " << std::setw(20)
1018 << fStep->GetPreStepPoint()->GetPolarization().x() << std::setw(20)
1019 << fStep->GetPostStepPoint()->GetPolarization().x() <<
G4endl;
1020 G4cout <<
" Polarization - y : " << std::setw(20)
1021 << fStep->GetPreStepPoint()->GetPolarization().y() << std::setw(20)
1022 << fStep->GetPostStepPoint()->GetPolarization().y() <<
G4endl;
1023 G4cout <<
" Polarization - Z : " << std::setw(20)
1024 << fStep->GetPreStepPoint()->GetPolarization().z() << std::setw(20)
1025 << fStep->GetPostStepPoint()->GetPolarization().z() <<
G4endl;
1026 G4cout <<
" Weight : " << std::setw(20)
1027 << fStep->GetPreStepPoint()->GetWeight() << std::setw(20)
1028 << fStep->GetPostStepPoint()->GetWeight() <<
G4endl;
1029 G4cout <<
" Step Status : ";
1030 G4StepStatus tStepStatus = fStep->GetPreStepPoint()->GetStepStatus();
1033 G4cout << std::setw(20) <<
"Geom Limit";
1037 G4cout << std::setw(20) <<
"AlongStep Proc.";
1041 G4cout << std::setw(20) <<
"PostStep Proc";
1045 G4cout << std::setw(20) <<
"AtRest Proc";
1049 G4cout << std::setw(20) <<
"Undefined";
1052 tStepStatus = fStep->GetPostStepPoint()->GetStepStatus();
1055 G4cout << std::setw(20) <<
"Geom Limit";
1059 G4cout << std::setw(20) <<
"AlongStep Proc.";
1063 G4cout << std::setw(20) <<
"PostStep Proc";
1067 G4cout << std::setw(20) <<
"AtRest Proc";
1071 G4cout << std::setw(20) <<
"Undefined";
1075 G4cout <<
" Process defined Step: ";
1076 if(fStep->GetPreStepPoint()->GetProcessDefinedStep() == 0)
1078 G4cout << std::setw(20) <<
"Undefined";
1084 << fStep->GetPreStepPoint()->GetProcessDefinedStep()->GetProcessName();
1086 if(fStep->GetPostStepPoint()->GetProcessDefinedStep() == 0)
1088 G4cout << std::setw(20) <<
"Undefined";
1094 << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
1096 G4cout.precision(oldprc);
1099 G4cout <<
" -------------------------------------------------------"
1100 <<
"----------------" <<
G4endl;
1105 if(fVerboseLevel <= 0)
return;
1112 G4cout << std::setw(18) <<
left <<
"#Name" << std::setw(15) <<
"trackID"
1113 << std::setw(35) <<
"Position" << std::setw(25) <<
"Pre step volume"
1114 << std::setw(25) <<
"Post step volume" << std::setw(22) <<
"Process"
1123 if(fVerboseLevel <= 0)
return;
1148 if(nextTouchable && (volume = nextTouchable->
GetVolume()))
1150 volumeName = volume->
GetName();
1160 volumeName =
"OutOfWorld";
1164 << track->
GetTrackID() << std::setprecision(3) << setw(35)
1166 << volumeName << setw(25) <<
"---" <<
G4endl;
1172 if(fVerboseLevel <= 0)
return;
1180 << track->
GetTrackID() << std::setprecision(3) << setw(35)
1187 if(nextTouchable && (volume = nextTouchable->
GetVolume()))
1197 G4cout << setw(25) << volumeName;
1201 G4cout << setw(25) <<
"OutOfWorld";
1216 if(fVerboseLevel > 2)
1221 if(secondaries->empty() ==
false)
1224 for(
size_t j = 0; j < secondaries->size(); ++j)
1227 << (*secondaries)[j]->GetTrackID() <<
")" <<
" ";
1241 G4cout <<
" Invoke at rest process : "
1242 << fCurrentProcess->GetProcessName()