47 #define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
49 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
52 #define G4BestUnit(a,b) a
61 #ifdef G4_TRACKING_DEBUG
62 G4cout <<
"G4ITSteppingVerbose has instantiated" <<
G4endl;
82 if(fVerboseLevel == 0)
90 if(fVerboseLevel >= 3)
94 for(
size_t np = 0; np < MAXofAtRestLoops; np++)
96 size_t npGPIL = MAXofAtRestLoops - np - 1;
97 if((*fSelectedAtRestDoItVector)[npGPIL] == 2)
100 ptProcManager = (*fAtRestDoItVector)[np];
104 else if ( (*fSelectedAtRestDoItVector)[npGPIL] == 1 )
107 ptProcManager = (*fAtRestDoItVector)[np];
113 G4cout <<
" Generated secondries # : " << fN2ndariesAtRestDoIt <<
G4endl;
115 if(fN2ndariesAtRestDoIt > 0)
117 G4cout <<
" -- List of secondaries generated : "
118 <<
"(x,y,z,kE,t,PID) --" <<
G4endl;
119 for(
size_t lp1=(*fSecondary).size()-fN2ndariesAtRestDoIt;
120 lp1<(*fSecondary).size(); lp1++)
124 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),
"Length") <<
" "
126 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().y(),
"Length") <<
" "
128 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().z(),
"Length") <<
" "
130 <<
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),
"Energy") <<
" "
132 <<
G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),
"Time") <<
" "
134 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() <<
G4endl;
139 if(fVerboseLevel >= 4)
149 if(fVerboseLevel == 0)
158 if(fVerboseLevel >= 3)
161 G4cout <<
" >>AlongStepDoIt (after all invocations):" <<
G4endl;
164 for(
size_t ci=0; ci<MAXofAlongStepLoops; ci++)
166 ptProcManager = (*fAlongStepDoItVector)(ci);
167 G4cout <<
" " << ci+1 <<
") ";
168 if(ptProcManager != 0)
176 G4cout <<
" ++List of secondaries generated "
177 <<
"(x,y,z,kE,t,PID):"
178 <<
" No. of secodaries = "
179 << (*fSecondary).size() <<
G4endl;
181 if((*fSecondary).size()>0)
183 for(
size_t lp1=0; lp1<(*fSecondary).size(); lp1++)
187 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),
"Length") <<
" "
189 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().y(),
"Length") <<
" "
191 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().z(),
"Length") <<
" "
193 <<
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),
"Energy") <<
" "
195 <<
G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),
"Time") <<
" "
197 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() <<
G4endl;
206 if(fVerboseLevel == 0)
215 if(fVerboseLevel >= 3)
225 G4cout <<
" **PostStepDoIt (after all invocations):" <<
G4endl;
228 for(
size_t np = 0; np < MAXofPostStepLoops; np++)
230 size_t npGPIL = MAXofPostStepLoops - np - 1;
231 if((*fSelectedPostStepDoItVector)[npGPIL] == 2)
234 ptProcManager = (*fPostStepDoItVector)[np];
238 else if ( (*fSelectedPostStepDoItVector)[npGPIL] == 1)
241 ptProcManager = (*fPostStepDoItVector)[np];
242 G4cout <<
" " << npt <<
") "
249 G4cout <<
" ++List of secondaries generated " <<
"(x,y,z,kE,t,PID):"
250 <<
" No. of secodaries = " << (*fSecondary).size() <<
G4endl;
251 G4cout <<
" [Note]Secondaries from AlongStepDoIt included." <<
G4endl;
253 if((*fSecondary).size() > 0)
255 for(
size_t lp1 = 0; lp1 < (*fSecondary).size(); lp1++)
257 G4cout <<
" " << std::setw(9)
258 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),
"Length")
259 <<
" " << std::setw(9)
260 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().y(),
"Length")
261 <<
" " << std::setw(9)
262 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().z(),
"Length")
263 <<
" " << std::setw(9)
264 <<
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),
"Energy")
265 <<
" " << std::setw(9)
266 <<
G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),
"Time")
267 <<
" " << std::setw(18)
268 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName()
280 if(fVerboseLevel == 0)
285 if(fVerboseLevel < 2)
291 if(fVerboseLevel >= 4) VerboseTrack();
292 if(fVerboseLevel >= 3)
296 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
297 G4cout << std::setw( 5) <<
"#TrackID" <<
" "
298 << std::setw( 5) <<
"#Step#" <<
" "
299 << std::setw( 8) <<
"X" <<
" " << std::setw( 8) <<
"Y" <<
" "
300 << std::setw( 8) <<
"Z" <<
" "
301 << std::setw( 9) <<
"KineE" <<
" " << std::setw( 8) <<
"dE" <<
" "
302 << std::setw(12) <<
"StepLeng" <<
" " << std::setw(12) <<
"TrackLeng" <<
" "
303 << std::setw(12) <<
"NextVolume" <<
" " << std::setw( 8) <<
"ProcName" <<
G4endl;
305 G4cout << std::setw( 5) <<
"#TrackID" <<
" "
306 << std::setw( 5) <<
"#Step#" <<
" "
307 << std::setw( 8) <<
"X(mm)" <<
" " << std::setw( 8) <<
"Y(mm)" <<
" "
308 << std::setw( 8) <<
"Z(mm)" <<
" "
309 << std::setw( 9) <<
"KinE(MeV)" <<
" " << std::setw( 8) <<
"dE(MeV)" <<
" "
310 << std::setw( 8) <<
"StepLeng" <<
" " << std::setw( 9) <<
"TrackLeng" <<
" "
311 << std::setw(11) <<
"NextVolume" <<
" " << std::setw( 8) <<
"ProcName" <<
G4endl;
314 G4cout << std::setw(5) << fTrack->GetTrackID() <<
" " << std::setw(5)
315 << fTrack->GetCurrentStepNumber() <<
" " << std::setw(8)
316 <<
G4BestUnit(fTrack->GetPosition().x(),
"Length") <<
" "
317 << std::setw(8) <<
G4BestUnit(fTrack->GetPosition().y(),
"Length")
318 <<
" " << std::setw(8)
319 <<
G4BestUnit(fTrack->GetPosition().z(),
"Length") <<
" "
320 << std::setw(9) <<
G4BestUnit(fTrack->GetKineticEnergy(),
"Energy")
321 <<
" " << std::setw(8)
322 <<
G4BestUnit(fStep->GetTotalEnergyDeposit(),
"Energy") <<
" "
323 << std::setw(8) <<
G4BestUnit(fStep->GetStepLength(),
"Length")
324 <<
" " << std::setw(9)
325 <<
G4BestUnit(fTrack->GetTrackLength(),
"Length") <<
" ";
328 if(fTrack->GetNextVolume() != 0)
330 G4cout << std::setw(11) << fTrack->GetNextVolume()->GetName() <<
" ";
334 G4cout << std::setw(11) <<
"OutOfWorld" <<
" ";
336 if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != 0)
339 << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
347 if(fVerboseLevel == 2)
349 G4int tN2ndariesTot = fN2ndariesAtRestDoIt + fN2ndariesAlongStepDoIt
350 + fN2ndariesPostStepDoIt;
351 if(tN2ndariesTot > 0)
353 G4cout <<
" :----- List of 2ndaries - " <<
"#SpawnInStep="
354 << std::setw(3) << tN2ndariesTot <<
"(Rest=" << std::setw(2)
355 << fN2ndariesAtRestDoIt <<
",Along=" << std::setw(2)
356 << fN2ndariesAlongStepDoIt <<
",Post=" << std::setw(2)
357 << fN2ndariesPostStepDoIt <<
"), " <<
"#SpawnTotal="
358 << std::setw(3) << (*fSecondary).size() <<
" ---------------"
361 for(
size_t lp1=(*fSecondary).size()-tN2ndariesTot; lp1<(*fSecondary).size(); lp1++)
365 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().x() ,
"Length")<<
" "
367 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().y() ,
"Length")<<
" "
369 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().z() ,
"Length") <<
" "
371 <<
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy() ,
"Energy")<<
" "
373 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() <<
G4endl;
375 G4cout <<
" :-----------------------------" <<
"----------------------------------"
376 <<
"-- EndOf2ndaries Info ---------------" <<
G4endl;
386 if(fVerboseLevel < 2)
395 if(fVerboseLevel >= 4) VerboseTrack();
396 if(fVerboseLevel >= 3)
400 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
401 G4cout << std::setw( 5) <<
"#TrackID" <<
" "
402 << std::setw( 5) <<
"#Step#" <<
" "
403 << std::setw( 8) <<
"X" <<
" " << std::setw( 8) <<
"Y" <<
" "
404 << std::setw( 8) <<
"Z" <<
" "
405 << std::setw( 9) <<
"KineE" <<
" " << std::setw( 8) <<
"dE" <<
" "
406 << std::setw(12) <<
"StepLeng" <<
" " << std::setw(12) <<
"TrackLeng" <<
" "
407 << std::setw(12) <<
"NextVolume" <<
" " << std::setw( 8) <<
"ProcName" <<
G4endl;
409 G4cout << std::setw( 5) <<
"#TrackID" <<
" "
410 << std::setw( 5) <<
"#Step#" <<
" "
411 << std::setw( 8) <<
"X(mm)" <<
" " << std::setw( 8) <<
"Y(mm)" <<
" "
412 << std::setw( 8) <<
"Z(mm)" <<
" "
413 << std::setw( 9) <<
"KinE(MeV)" <<
" " << std::setw( 8) <<
"dE(MeV)" <<
" "
414 << std::setw( 8) <<
"StepLeng" <<
" " << std::setw( 9) <<
"TrackLeng" <<
" "
415 << std::setw(11) <<
"NextVolume" <<
" " << std::setw( 8) <<
"ProcName" <<
G4endl;
418 G4cout << std::setw(5) << fTrack->GetTrackID() <<
" " << std::setw(5)
419 << fTrack->GetCurrentStepNumber() <<
" " << std::setw(8)
420 <<
G4BestUnit(fTrack->GetPosition().x(),
"Length") <<
" "
421 << std::setw(8) <<
G4BestUnit(fTrack->GetPosition().y(),
"Length")
422 <<
" " << std::setw(8)
423 <<
G4BestUnit(fTrack->GetPosition().z(),
"Length") <<
" "
424 << std::setw(9) <<
G4BestUnit(fTrack->GetKineticEnergy(),
"Energy")
425 <<
" " << std::setw(8)
426 <<
G4BestUnit(fStep->GetTotalEnergyDeposit(),
"Energy") <<
" "
427 << std::setw(8) <<
G4BestUnit(fStep->GetStepLength(),
"Length") <<
" "
428 << std::setw(9) <<
G4BestUnit(fTrack->GetTrackLength(),
"Length")
432 if(fTrack->GetNextVolume() != 0)
434 G4cout << std::setw(11) << fTrack->GetNextVolume()->GetName() <<
" ";
438 G4cout << std::setw(11) <<
"OutOfWorld" <<
" ";
440 if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != 0)
443 << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
450 if(fVerboseLevel == 2)
452 G4int tN2ndariesTot = fN2ndariesAtRestDoIt + fN2ndariesAlongStepDoIt
453 + fN2ndariesPostStepDoIt;
454 if(tN2ndariesTot > 0)
456 G4cout <<
" :----- List of 2ndaries - " <<
"#SpawnInStep="
457 << std::setw(3) << tN2ndariesTot <<
"(Rest=" << std::setw(2)
458 << fN2ndariesAtRestDoIt <<
",Along=" << std::setw(2)
459 << fN2ndariesAlongStepDoIt <<
",Post=" << std::setw(2)
460 << fN2ndariesPostStepDoIt <<
"), " <<
"#SpawnTotal="
461 << std::setw(3) << (*fSecondary).size() <<
" ---------------"
464 for(
size_t lp1=(*fSecondary).size()-tN2ndariesTot; lp1<(*fSecondary).size(); lp1++)
468 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().x() ,
"Length")<<
" "
470 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().y() ,
"Length")<<
" "
472 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().z() ,
"Length") <<
" "
474 <<
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy() ,
"Energy")<<
" "
476 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() <<
G4endl;
478 G4cout <<
" :-----------------------------" <<
"----------------------------------"
479 <<
"-- EndOf2ndaries Info ---------------" <<
G4endl;
490 if(fVerboseLevel == 0)
496 if(fVerboseLevel > 5)
498 G4cout <<
G4endl<<
" >>DefinePhysicalStepLength (List of proposed StepLengths): " <<
G4endl;
505 if(fVerboseLevel == 0)
511 if(fVerboseLevel > 5)
514 G4cout <<
"=== Defined Physical Step Length (DPSL)" <<
G4endl;
515 G4cout <<
" ++ProposedStep(UserLimit) = " << std::setw( 9) << physIntLength
516 <<
" : ProcName = User defined maximum allowed Step" <<
G4endl;
523 if(fVerboseLevel == 0)
528 if(fVerboseLevel > 5)
532 G4cout <<
" ++ProposedStep(PostStep ) = " << std::setw(9)
533 << physIntLength <<
" : ProcName = "
534 << fCurrentProcess->GetProcessName() <<
" (";
547 else if(fCondition==
Forced)
561 if(fVerboseLevel == 0)
566 if(fVerboseLevel > 5)
570 G4cout <<
" ++ProposedStep(AlongStep) = " << std::setw(9)
571 <<
G4BestUnit(physIntLength,
"Length") <<
" : ProcName = "
572 << fCurrentProcess->GetProcessName() <<
" (";
592 if(fVerboseLevel <= 1)
598 if(fVerboseLevel > 0)
621 G4cout <<
"Start tracking : "
623 <<
" (" << fTrack->GetTrackID() <<
") from position "
625 <<
G4BestUnit(fTrack->GetPosition().x(),
"Length") <<
" "
627 <<
G4BestUnit(fTrack->GetPosition().y(),
"Length") <<
" "
629 <<
G4BestUnit(fTrack->GetPosition().z(),
"Length") <<
" ";
644 if(fTrack->GetNextVolume())
646 G4cout << std::setw(11) << fTrack->GetNextVolume()->GetName() <<
" ";
650 G4cout << std::setw(11) <<
"OutOfWorld" <<
" ";
661 if(fVerboseLevel <= 1)
return;
663 G4cout <<
" * End tracking : " <<
" Particle : "
679 if(fVerboseLevel < 4)
687 G4cout <<
" >>AlongStepDoIt (process by process): " <<
" Process Name = "
688 << fCurrentProcess->GetProcessName() <<
G4endl;
691 G4cout <<
" " <<
"!Note! Safety of PostStep is only valid "
692 <<
"after all DoIt invocations." <<
G4endl;
694 VerboseParticleChange();
697 G4cout <<
" ++List of secondaries generated " <<
"(x,y,z,kE,t,PID):"
698 <<
" No. of secodaries = " << fN2ndariesAlongStepDoIt <<
G4endl;
700 if(fN2ndariesAlongStepDoIt > 0)
702 for(
size_t lp1 = (*fSecondary).size() - fN2ndariesAlongStepDoIt;
703 lp1 < (*fSecondary).size(); lp1++)
705 G4cout <<
" " << std::setw(9)
706 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),
"Length")
707 <<
" " << std::setw(9)
708 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().y(),
"Length")
709 <<
" " << std::setw(9)
710 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().z(),
"Length")
711 <<
" " << std::setw(9)
712 <<
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),
"Energy")
713 <<
" " << std::setw(9)
714 <<
G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),
"Time") <<
" "
716 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() <<
G4endl;
724 if(fVerboseLevel < 4)
731 G4cout <<
" >>PostStepDoIt (process by process): " <<
" Process Name = "
732 << fCurrentProcess->GetProcessName() <<
G4endl;
736 VerboseParticleChange();
739 G4cout <<
" ++List of secondaries generated " <<
"(x,y,z,kE,t,PID):"
740 <<
" No. of secodaries = " << fN2ndariesPostStepDoIt <<
G4endl;
742 if(fN2ndariesPostStepDoIt > 0)
744 for(
size_t lp1 = (*fSecondary).size() - fN2ndariesPostStepDoIt;
745 lp1 < (*fSecondary).size(); lp1++)
747 G4cout <<
" " << std::setw(9)
748 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),
"Length")
749 <<
" " << std::setw(9)
750 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().y(),
"Length")
751 <<
" " << std::setw(9)
752 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().z(),
"Length")
753 <<
" " << std::setw(9)
754 <<
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),
"Energy")
755 <<
" " << std::setw(9)
756 <<
G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),
"Time") <<
" "
758 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() <<
G4endl;
767 if(fVerboseLevel == 0)
778 G4cout <<
" -----------------------------------------------" <<
G4endl;
779 G4cout <<
" G4Track Information " << std::setw(20) <<
G4endl;
780 G4cout <<
" -----------------------------------------------" <<
G4endl;
782 G4cout <<
" Step number : " << std::setw(20)
783 << fTrack->GetCurrentStepNumber() <<
G4endl;
784 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
785 G4cout <<
" Position - x : " << std::setw(20)
786 <<
G4BestUnit(fTrack->GetPosition().x(),
"Length") << G4endl;
787 G4cout <<
" Position - y : " << std::setw(20)
788 <<
G4BestUnit(fTrack->GetPosition().y(),
"Length") << G4endl;
789 G4cout <<
" Position - z : " << std::setw(20)
790 <<
G4BestUnit(fTrack->GetPosition().z(),
"Length") << G4endl;
791 G4cout <<
" Global Time : " << std::setw(20)
792 <<
G4BestUnit(fTrack->GetGlobalTime(),
"Time") << G4endl;
793 G4cout <<
" Local Time : " << std::setw(20)
794 <<
G4BestUnit(fTrack->GetLocalTime(),
"Time") << G4endl;
796 G4cout <<
" Position - x (mm) : " << std::setw(20)
797 << fTrack->GetPosition().x() /
mm <<
G4endl;
798 G4cout <<
" Position - y (mm) : " << std::setw(20)
799 << fTrack->GetPosition().y() /
mm <<
G4endl;
800 G4cout <<
" Position - z (mm) : " << std::setw(20)
801 << fTrack->GetPosition().z() /
mm <<
G4endl;
802 G4cout <<
" Global Time (ns) : " << std::setw(20)
803 << fTrack->GetGlobalTime() /
ns <<
G4endl;
804 G4cout <<
" Local Time (ns) : " << std::setw(20)
805 << fTrack->GetLocalTime() /
ns <<
G4endl;
807 G4cout <<
" Momentum Direct - x : " << std::setw(20)
808 << fTrack->GetMomentumDirection().x() <<
G4endl;
809 G4cout <<
" Momentum Direct - y : " << std::setw(20)
810 << fTrack->GetMomentumDirection().y() <<
G4endl;
811 G4cout <<
" Momentum Direct - z : " << std::setw(20)
812 << fTrack->GetMomentumDirection().z() <<
G4endl;
813 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
814 G4cout <<
" Kinetic Energy : "
816 G4cout <<
" Kinetic Energy (MeV): "
819 <<
G4BestUnit(fTrack->GetKineticEnergy(),
"Energy") << G4endl;
820 G4cout <<
" Polarization - x : " << std::setw(20)
821 << fTrack->GetPolarization().x() <<
G4endl;
822 G4cout <<
" Polarization - y : " << std::setw(20)
823 << fTrack->GetPolarization().y() <<
G4endl;
824 G4cout <<
" Polarization - z : " << std::setw(20)
825 << fTrack->GetPolarization().z() <<
G4endl;
826 G4cout <<
" Track Length : " << std::setw(20)
827 <<
G4BestUnit(fTrack->GetTrackLength(),
"Length") << G4endl;
828 G4cout <<
" Track ID # : " << std::setw(20)
829 << fTrack->GetTrackID() <<
G4endl;
830 G4cout <<
" Parent Track ID # : " << std::setw(20)
831 << fTrack->GetParentID() <<
G4endl;
832 G4cout <<
" Next Volume : " << std::setw(20);
833 if(fTrack->GetNextVolume() != 0)
835 G4cout << fTrack->GetNextVolume()->GetName() <<
" ";
839 G4cout <<
"OutOfWorld" <<
" ";
842 G4cout <<
" Track Status : " << std::setw(20);
843 if(fTrack->GetTrackStatus() ==
fAlive)
849 G4cout <<
" StopButAlive";
857 G4cout <<
" KillTrackAndSecondaries";
859 else if(fTrack->GetTrackStatus() ==
fSuspend)
865 G4cout <<
" PostponeToNextEvent";
868 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
869 G4cout <<
" Vertex - x : " << std::setw(20)
870 <<
G4BestUnit(fTrack->GetVertexPosition().x(),
"Length") << G4endl;
871 G4cout <<
" Vertex - y : " << std::setw(20)
872 <<
G4BestUnit(fTrack->GetVertexPosition().y(),
"Length") << G4endl;
873 G4cout <<
" Vertex - z : " << std::setw(20)
874 <<
G4BestUnit(fTrack->GetVertexPosition().z(),
"Length") << G4endl;
876 G4cout <<
" Vertex - x (mm) : " << std::setw(20)
877 << fTrack->GetVertexPosition().x() /
mm <<
G4endl;
878 G4cout <<
" Vertex - y (mm) : " << std::setw(20)
879 << fTrack->GetVertexPosition().y() /
mm <<
G4endl;
880 G4cout <<
" Vertex - z (mm) : " << std::setw(20)
881 << fTrack->GetVertexPosition().z() /
mm <<
G4endl;
883 G4cout <<
" Vertex - Px (MomDir): " << std::setw(20)
884 << fTrack->GetVertexMomentumDirection().x() <<
G4endl;
885 G4cout <<
" Vertex - Py (MomDir): " << std::setw(20)
886 << fTrack->GetVertexMomentumDirection().y() <<
G4endl;
887 G4cout <<
" Vertex - Pz (MomDir): " << std::setw(20)
888 << fTrack->GetVertexMomentumDirection().z() <<
G4endl;
889 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
890 G4cout <<
" Vertex - KineE : "
892 G4cout <<
" Vertex - KineE (MeV): "
895 <<
G4BestUnit(fTrack->GetVertexKineticEnergy(),
"Energy") << G4endl;
897 G4cout <<
" Creator Process : " << std::setw(20);
898 if(fTrack->GetCreatorProcess() == 0)
904 G4cout << fTrack->GetCreatorProcess()->GetProcessName() <<
G4endl;
907 G4cout <<
" -----------------------------------------------" <<
G4endl;
916 if(fVerboseLevel == 0)
923 fParticleChange->DumpInfo();
929 if(fVerboseLevel == 0)
940 oldprc =
G4cout.precision(16);
943 G4cout <<
" Address of G4Track : " << fStep->GetTrack() <<
G4endl;
944 G4cout <<
" Step Length (mm) : "
945 << fStep->GetTrack()->GetStepLength() <<
G4endl;
946 G4cout <<
" Energy Deposit (MeV) : " << fStep->GetTotalEnergyDeposit()
950 G4cout <<
" -------------------------------------------------------"
951 <<
"----------------" <<
G4endl;
952 G4cout <<
" StepPoint Information " << std::setw(20) <<
"PreStep"
953 << std::setw(20) <<
"PostStep" <<
G4endl;
954 G4cout <<
" -------------------------------------------------------"
955 <<
"----------------" <<
G4endl;
956 G4cout <<
" Position - x (mm) : " << std::setw(20)
957 << fStep->GetPreStepPoint()->GetPosition().x() << std::setw(20)
958 << fStep->GetPostStepPoint()->GetPosition().x() <<
G4endl;
959 G4cout <<
" Position - y (mm) : " << std::setw(20)
960 << fStep->GetPreStepPoint()->GetPosition().y() << std::setw(20)
961 << fStep->GetPostStepPoint()->GetPosition().y() <<
G4endl;
962 G4cout <<
" Position - z (mm) : " << std::setw(20)
963 << fStep->GetPreStepPoint()->GetPosition().z() << std::setw(20)
964 << fStep->GetPostStepPoint()->GetPosition().z() <<
G4endl;
965 G4cout <<
" Global Time (ns) : " << std::setw(20)
966 << fStep->GetPreStepPoint()->GetGlobalTime() << std::setw(20)
967 << fStep->GetPostStepPoint()->GetGlobalTime() <<
G4endl;
968 G4cout <<
" Local Time (ns) : " << std::setw(20)
969 << fStep->GetPreStepPoint()->GetLocalTime() << std::setw(20)
970 << fStep->GetPostStepPoint()->GetLocalTime() <<
G4endl;
971 G4cout <<
" Proper Time (ns) : " << std::setw(20)
972 << fStep->GetPreStepPoint()->GetProperTime() << std::setw(20)
973 << fStep->GetPostStepPoint()->GetProperTime() <<
G4endl;
974 G4cout <<
" Momentum Direct - x : " << std::setw(20)
975 << fStep->GetPreStepPoint()->GetMomentumDirection().x()
977 << fStep->GetPostStepPoint()->GetMomentumDirection().x() <<
G4endl;
978 G4cout <<
" Momentum Direct - y : " << std::setw(20)
979 << fStep->GetPreStepPoint()->GetMomentumDirection().y()
981 << fStep->GetPostStepPoint()->GetMomentumDirection().y() <<
G4endl;
982 G4cout <<
" Momentum Direct - z : " << std::setw(20)
983 << fStep->GetPreStepPoint()->GetMomentumDirection().z()
985 << fStep->GetPostStepPoint()->GetMomentumDirection().z() <<
G4endl;
986 G4cout <<
" Momentum - x (MeV/c): " << std::setw(20)
987 << fStep->GetPreStepPoint()->GetMomentum().x() << std::setw(20)
988 << fStep->GetPostStepPoint()->GetMomentum().x() <<
G4endl;
989 G4cout <<
" Momentum - y (MeV/c): " << std::setw(20)
990 << fStep->GetPreStepPoint()->GetMomentum().y() << std::setw(20)
991 << fStep->GetPostStepPoint()->GetMomentum().y() <<
G4endl;
992 G4cout <<
" Momentum - z (MeV/c): " << std::setw(20)
993 << fStep->GetPreStepPoint()->GetMomentum().z() << std::setw(20)
994 << fStep->GetPostStepPoint()->GetMomentum().z() <<
G4endl;
995 G4cout <<
" Total Energy (MeV) : " << std::setw(20)
996 << fStep->GetPreStepPoint()->GetTotalEnergy() << std::setw(20)
997 << fStep->GetPostStepPoint()->GetTotalEnergy() <<
G4endl;
998 G4cout <<
" Kinetic Energy (MeV): " << std::setw(20)
999 << fStep->GetPreStepPoint()->GetKineticEnergy() << std::setw(20)
1000 << fStep->GetPostStepPoint()->GetKineticEnergy() <<
G4endl;
1001 G4cout <<
" Velocity (mm/ns) : " << std::setw(20)
1002 << fStep->GetPreStepPoint()->GetVelocity() << std::setw(20)
1003 << fStep->GetPostStepPoint()->GetVelocity() <<
G4endl;
1004 G4cout <<
" Volume Name : " << std::setw(20)
1005 << fStep->GetPreStepPoint()->GetPhysicalVolume()->GetName();
1006 if(fStep->GetPostStepPoint()->GetPhysicalVolume())
1008 volName = fStep->GetPostStepPoint()->GetPhysicalVolume()->GetName();
1012 volName =
"OutOfWorld";
1015 G4cout <<
" Safety (mm) : " << std::setw(20)
1016 << fStep->GetPreStepPoint()->GetSafety() << std::setw(20)
1017 << fStep->GetPostStepPoint()->GetSafety() <<
G4endl;
1018 G4cout <<
" Polarization - x : " << std::setw(20)
1019 << fStep->GetPreStepPoint()->GetPolarization().x() << std::setw(20)
1020 << fStep->GetPostStepPoint()->GetPolarization().x() <<
G4endl;
1021 G4cout <<
" Polarization - y : " << std::setw(20)
1022 << fStep->GetPreStepPoint()->GetPolarization().y() << std::setw(20)
1023 << fStep->GetPostStepPoint()->GetPolarization().y() <<
G4endl;
1024 G4cout <<
" Polarization - Z : " << std::setw(20)
1025 << fStep->GetPreStepPoint()->GetPolarization().z() << std::setw(20)
1026 << fStep->GetPostStepPoint()->GetPolarization().z() <<
G4endl;
1027 G4cout <<
" Weight : " << std::setw(20)
1028 << fStep->GetPreStepPoint()->GetWeight() << std::setw(20)
1029 << fStep->GetPostStepPoint()->GetWeight() <<
G4endl;
1030 G4cout <<
" Step Status : ";
1031 G4StepStatus tStepStatus = fStep->GetPreStepPoint()->GetStepStatus();
1034 G4cout << std::setw(20) <<
"Geom Limit";
1038 G4cout << std::setw(20) <<
"AlongStep Proc.";
1042 G4cout << std::setw(20) <<
"PostStep Proc";
1046 G4cout << std::setw(20) <<
"AtRest Proc";
1050 G4cout << std::setw(20) <<
"Undefined";
1053 tStepStatus = fStep->GetPostStepPoint()->GetStepStatus();
1056 G4cout << std::setw(20) <<
"Geom Limit";
1060 G4cout << std::setw(20) <<
"AlongStep Proc.";
1064 G4cout << std::setw(20) <<
"PostStep Proc";
1068 G4cout << std::setw(20) <<
"AtRest Proc";
1072 G4cout << std::setw(20) <<
"Undefined";
1076 G4cout <<
" Process defined Step: ";
1077 if(fStep->GetPreStepPoint()->GetProcessDefinedStep() == 0)
1079 G4cout << std::setw(20) <<
"Undefined";
1085 << fStep->GetPreStepPoint()->GetProcessDefinedStep()->GetProcessName();
1087 if(fStep->GetPostStepPoint()->GetProcessDefinedStep() == 0)
1089 G4cout << std::setw(20) <<
"Undefined";
1095 << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
1097 G4cout.precision(oldprc);
1100 G4cout <<
" -------------------------------------------------------"
1101 <<
"----------------" <<
G4endl;
1106 if(fVerboseLevel <= 0)
return;
1113 G4cout << std::setw(18) <<
left <<
"#Name" << std::setw(15) <<
"trackID"
1114 << std::setw(35) <<
"Position" << std::setw(25) <<
"Pre step volume"
1115 << std::setw(25) <<
"Post step volume" << std::setw(22) <<
"Process"
1124 if(fVerboseLevel <= 0)
return;
1149 if(nextTouchable && (volume = nextTouchable->
GetVolume()))
1151 volumeName = volume->
GetName();
1161 volumeName =
"OutOfWorld";
1165 << track->
GetTrackID() << std::setprecision(3) << setw(35)
1167 << volumeName << setw(25) <<
"---" <<
G4endl;
1173 if(fVerboseLevel <= 0)
return;
1181 << track->
GetTrackID() << std::setprecision(3) << setw(35)
1188 if(nextTouchable && (volume = nextTouchable->
GetVolume()))
1198 G4cout << setw(25) << volumeName;
1202 G4cout << setw(25) <<
"OutOfWorld";
1217 if(fVerboseLevel > 2)
1222 if(secondaries->empty() ==
false)
1225 for(
size_t j = 0; j < secondaries->size(); ++j)
1228 << (*secondaries)[j]->GetTrackID() <<
")" <<
" ";
1242 G4cout <<
" Invoke at rest process : "
1243 << fCurrentProcess->GetProcessName()
void AtRestDoItOneByOne()
G4ParticleDefinition * GetDefinition() const
static constexpr double mm
virtual G4bool IsReplicated() const =0
void PostStepDoItAllDone()
const G4ThreeVector & GetPosition() const
void TrackingEnded(G4Track *)
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
virtual const G4String & GetName() const =0
const G4Step * GetStep() const
void PostStepDoItOneByOne()
const G4String & GetParticleName() const
G4VPhysicalVolume * GetNextVolume() const
void TrackingStarted(G4Track *)
void AlongStepDoItAllDone()
G4IT * GetIT(const G4Track *track)
G4GLOB_DLL std::ostream G4cout
const G4String & GetName() const
const G4TouchableHandle & GetNextTouchableHandle() const
G4double GetGlobalTime() const
const G4String & GetProcessName() const
virtual G4bool IsParameterised() const =0
void StepInfoForLeadingTrack()
const G4VProcess * GetProcessDefinedStep() const
void VerboseParticleChange()
void AlongStepDoItOneByOne()
std::vector< G4Track * > G4TrackVector
virtual G4VPhysicalVolume * GetVolume(G4int depth=0) const
G4StepPoint * GetPostStepPoint() const
virtual G4int GetReplicaNumber(G4int depth=0) const
void PostStepVerbose(G4Track *track)
const G4TrackVector * GetSecondary() const
void PreStepVerbose(G4Track *track)