42#ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
45#define G4BestUnit(a,b) a
52#ifdef G4_TRACKING_DEBUG
53 G4cout <<
"G4SteppingVerbose has instantiated" <<
G4endl;
88 ptProcManager = (*fAtRestDoItVector)[np];
89 G4cout <<
" # " << npt <<
" : "
96 ptProcManager = (*fAtRestDoItVector)[np];
106 G4cout <<
" -- List of secondaries generated : "
107 <<
"(x,y,z,kE,t,PID) --" <<
G4endl;
109 lp1<(*fSecondary).size(); ++lp1)
114 <<
" " << std::setw( 9)
116 <<
" " << std::setw( 9)
118 <<
" " << std::setw( 9)
120 <<
" " << std::setw( 9)
122 <<
" " << std::setw(18)
123 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName()
149 G4cout <<
" >>AlongStepDoIt (after all invocations):" <<
G4endl;
154 ptProcManager = (*fAlongStepDoItVector)(ci);
155 G4cout <<
" " << ci+1 <<
") ";
156 if(ptProcManager !=
nullptr)
164 G4cout <<
" ++List of secondaries generated "
165 <<
"(x,y,z,kE,t,PID):"
166 <<
" No. of secondaries = "
167 << (*fSecondary).size() <<
G4endl;
169 if((*fSecondary).size()>0)
171 for(std::size_t lp1=0; lp1<(*fSecondary).size(); ++lp1)
176 <<
" " << std::setw( 9)
178 <<
" " << std::setw( 9)
180 <<
" " << std::setw( 9)
182 <<
" " << std::setw( 9)
184 <<
" " << std::setw(18)
185 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName()
212 G4cout <<
" **PostStepDoIt (after all invocations):" <<
G4endl;
221 ptProcManager = (*fPostStepDoItVector)[np];
222 G4cout <<
" " << npt <<
") "
229 ptProcManager = (*fPostStepDoItVector)[np];
237 G4cout <<
" ++List of secondaries generated "
238 <<
"(x,y,z,kE,t,PID):"
239 <<
" No. of secodaries = "
240 << (*fSecondary).size() <<
G4endl;
241 G4cout <<
" [Note]Secondaries from AlongStepDoIt included."
244 if((*fSecondary).size()>0)
246 for(std::size_t lp1=0; lp1<(*fSecondary).size(); ++lp1)
251 <<
" " << std::setw( 9)
253 <<
" " << std::setw( 9)
255 <<
" " << std::setw( 9)
257 <<
" " << std::setw( 9)
259 <<
" " << std::setw(18)
260 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName()
285#ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
286 G4cout << std::setw( 5) <<
"#Step#" <<
" "
287 << std::setw( 8) <<
"X" <<
" "
288 << std::setw( 8) <<
"Y" <<
" "
289 << std::setw( 8) <<
"Z" <<
" "
290 << std::setw( 9) <<
"KineE" <<
" "
291 << std::setw( 8) <<
"dE" <<
" "
292 << std::setw(12) <<
"StepLeng" <<
" "
293 << std::setw(12) <<
"TrackLeng" <<
" "
294 << std::setw(12) <<
"NextVolume" <<
" "
295 << std::setw( 8) <<
"ProcName" <<
G4endl;
297 G4cout << std::setw( 5) <<
"#Step#" <<
" "
298 << std::setw( 8) <<
"X(mm)" <<
" "
299 << std::setw( 8) <<
"Y(mm)" <<
" "
300 << std::setw( 8) <<
"Z(mm)" <<
" "
301 << std::setw( 9) <<
"KinE(MeV)" <<
" "
302 << std::setw( 8) <<
"dE(MeV)" <<
" "
303 << std::setw( 8) <<
"StepLeng" <<
" "
304 << std::setw( 9) <<
"TrackLeng" <<
" "
305 << std::setw(11) <<
"NextVolume" <<
" "
306 << std::setw( 8) <<
"ProcName" <<
G4endl;
331 G4cout << std::setw(11) <<
"OutOfWorld" <<
" ";
349 G4cout <<
" :----- List of 2ndaries - "
350 <<
"#SpawnInStep=" << std::setw(3) << tN2ndariesTot
355 <<
"#SpawnTotal=" << std::setw(3) << (*fSecondary).size()
356 <<
" ---------------"
359 for(std::size_t lp1=(*fSecondary).size()-tN2ndariesTot;
360 lp1<(*fSecondary).size(); ++lp1)
365 <<
" " << std::setw( 9)
367 <<
" " << std::setw( 9)
369 <<
" " << std::setw( 9)
371 <<
" " << std::setw(18)
372 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName()
375 G4cout <<
" :-----------------------------"
376 <<
"----------------------------------"
377 <<
"-- EndOf2ndaries Info ---------------" <<
G4endl;
394 <<
" >>DefinePhysicalStepLength (List of proposed StepLengths): "
409 G4cout <<
"=== Defined Physical Step Length (DPSL)" <<
G4endl;
410 G4cout <<
" ++ProposedStep(UserLimit) = "
412 <<
" : ProcName = User defined maximum allowed Step" <<
G4endl;
425 G4cout <<
" ++ProposedStep(PostStep ) = "
460 G4cout <<
" ++ProposedStep(AlongStep) = "
491#ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
492 G4cout << std::setw( 5) <<
"Step#" <<
" "
493 << std::setw( 8) <<
"X" <<
" "
494 << std::setw( 8) <<
"Y" <<
" "
495 << std::setw( 8) <<
"Z" <<
" "
496 << std::setw( 9) <<
"KineE" <<
" "
497 << std::setw( 8) <<
"dE" <<
" "
498 << std::setw(12) <<
"StepLeng" <<
" "
499 << std::setw(12) <<
"TrackLeng" <<
" "
500 << std::setw(12) <<
"NextVolume" <<
" "
501 << std::setw( 8) <<
"ProcName" <<
G4endl;
503 G4cout << std::setw( 5) <<
"Step#" <<
" "
504 << std::setw( 8) <<
"X(mm)" <<
" "
505 << std::setw( 8) <<
"Y(mm)" <<
" "
506 << std::setw( 8) <<
"Z(mm)" <<
" "
507 << std::setw( 9) <<
"KinE(MeV)" <<
" "
508 << std::setw( 8) <<
"dE(MeV)" <<
" "
509 << std::setw( 8) <<
"StepLeng" <<
" "
510 << std::setw( 9) <<
"TrackLeng" <<
" "
511 << std::setw(11) <<
"NextVolume" <<
" "
512 << std::setw( 8) <<
"ProcName" <<
G4endl;
537 G4cout << std::setw(11) <<
"OutOfWorld" <<
" ";
555 G4cout <<
" >>AlongStepDoIt (process by process): "
556 <<
" Process Name = "
561 <<
"!Note! Safety of PostStep is only valid "
562 <<
"after all DoIt invocations."
568 G4cout <<
" ++List of secondaries generated "
569 <<
"(x,y,z,kE,t,PID):"
570 <<
" No. of secodaries = "
576 lp1<(*fSecondary).size(); ++lp1)
581 <<
" " << std::setw( 9)
583 <<
" " << std::setw( 9)
585 <<
" " << std::setw( 9)
587 <<
" " << std::setw( 9)
589 <<
" " << std::setw(18)
590 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName()
608 G4cout <<
" >>PostStepDoIt (process by process): "
609 <<
" Process Name = "
617 G4cout <<
" ++List of secondaries generated "
618 <<
"(x,y,z,kE,t,PID):"
619 <<
" No. of secodaries = "
625 lp1<(*fSecondary).size(); ++lp1)
630 <<
" " << std::setw( 9)
632 <<
" " << std::setw( 9)
634 <<
" " << std::setw( 9)
636 <<
" " << std::setw( 9)
638 <<
" " << std::setw(18)
639 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName()
659 G4cout <<
" -----------------------------------------------"
661 G4cout <<
" G4Track Information " << std::setw(20) <<
G4endl;
662 G4cout <<
" -----------------------------------------------"
665 G4cout <<
" Step number : "
668#ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
669 G4cout <<
" Position - x : "
672 G4cout <<
" Position - y : "
675 G4cout <<
" Position - z : "
678 G4cout <<
" Global Time : "
681 G4cout <<
" Local Time : "
685 G4cout <<
" Position - x (mm) : "
688 G4cout <<
" Position - y (mm) : "
691 G4cout <<
" Position - z (mm) : "
694 G4cout <<
" Global Time (ns) : "
697 G4cout <<
" Local Time (ns) : "
701 G4cout <<
" Momentum Direct - x : "
704 G4cout <<
" Momentum Direct - y : "
707 G4cout <<
" Momentum Direct - z : "
710#ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
711 G4cout <<
" Kinetic Energy : "
713 G4cout <<
" Kinetic Energy (MeV): "
717 G4cout <<
" Polarization - x : "
720 G4cout <<
" Polarization - y : "
723 G4cout <<
" Polarization - z : "
726 G4cout <<
" Track Length : "
729 G4cout <<
" Track ID # : "
732 G4cout <<
" Parent Track ID # : "
735 G4cout <<
" Next Volume : "
743 G4cout <<
"OutOfWorld" <<
" ";
746 G4cout <<
" Track Status : "
754 G4cout <<
" StopButAlive";
762 G4cout <<
" KillTrackAndSecondaries";
770 G4cout <<
" PostponeToNextEvent";
773#ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
774 G4cout <<
" Vertex - x : "
778 G4cout <<
" Vertex - y : "
782 G4cout <<
" Vertex - z : "
787 G4cout <<
" Vertex - x (mm) : "
790 G4cout <<
" Vertex - y (mm) : "
793 G4cout <<
" Vertex - z (mm) : "
797 G4cout <<
" Vertex - Px (MomDir): "
800 G4cout <<
" Vertex - Py (MomDir): "
803 G4cout <<
" Vertex - Pz (MomDir): "
806#ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE
807 G4cout <<
" Vertex - KineE : "
809 G4cout <<
" Vertex - KineE (MeV): "
815 G4cout <<
" Creator Process : "
826 G4cout <<
" -----------------------------------------------"
853 oldprc =
G4cout.precision(16);
856 G4cout <<
" Address of G4Track : "
858 G4cout <<
" Step Length (mm) : "
860 G4cout <<
" Energy Deposit (MeV) : "
864 G4cout <<
" -------------------------------------------------------"
865 <<
"----------------" <<
G4endl;
866 G4cout <<
" StepPoint Information "
867 << std::setw(20) <<
"PreStep"
868 << std::setw(20) <<
"PostStep" <<
G4endl;
869 G4cout <<
" -------------------------------------------------------"
870 <<
"----------------" <<
G4endl;
871 G4cout <<
" Position - x (mm) : "
875 G4cout <<
" Position - y (mm) : "
879 G4cout <<
" Position - z (mm) : "
883 G4cout <<
" Global Time (ns) : "
887 G4cout <<
" Local Time (ns) : "
891 G4cout <<
" Proper Time (ns) : "
895 G4cout <<
" Momentum Direct - x : "
899 G4cout <<
" Momentum Direct - y : "
903 G4cout <<
" Momentum Direct - z : "
907 G4cout <<
" Momentum - x (MeV/c): "
911 G4cout <<
" Momentum - y (MeV/c): "
915 G4cout <<
" Momentum - z (MeV/c): "
919 G4cout <<
" Total Energy (MeV) : "
923 G4cout <<
" Kinetic Energy (MeV): "
927 G4cout <<
" Velocity (mm/ns) : "
931 G4cout <<
" Volume Name : "
940 volName =
"OutOfWorld";
943 G4cout <<
" Safety (mm) : "
947 G4cout <<
" Polarization - x : "
951 G4cout <<
" Polarization - y : "
955 G4cout <<
" Polarization - Z : "
963 G4cout <<
" Step Status : " ;
967 G4cout << std::setw(20) <<
"Geom Limit";
971 G4cout << std::setw(20) <<
"AlongStep Proc.";
975 G4cout << std::setw(20) <<
"PostStep Proc";
979 G4cout << std::setw(20) <<
"AtRest Proc";
983 G4cout << std::setw(20) <<
"Undefined";
989 G4cout << std::setw(20) <<
"Geom Limit";
993 G4cout << std::setw(20) <<
"AlongStep Proc.";
997 G4cout << std::setw(20) <<
"PostStep Proc";
1001 G4cout << std::setw(20) <<
"AtRest Proc";
1005 G4cout << std::setw(20) <<
"Undefined";
1009 G4cout <<
" Process defined Step: " ;
1012 G4cout << std::setw(20) <<
"Undefined";
1022 G4cout << std::setw(20) <<
"Undefined";
1030 G4cout.precision(oldprc);
1033 G4cout <<
" -------------------------------------------------------"
1034 <<
"----------------" <<
G4endl;
@ NotCandidateForSelection
@ fKillTrackAndSecondaries
G4GLOB_DLL std::ostream G4cout
G4double GetTotalEnergy() const
G4StepStatus GetStepStatus() const
G4double GetVelocity() const
G4double GetProperTime() const
G4double GetGlobalTime() const
G4double GetSafety() const
const G4VProcess * GetProcessDefinedStep() const
G4ThreeVector GetMomentum() const
const G4ThreeVector & GetPosition() const
const G4ThreeVector & GetMomentumDirection() const
G4double GetLocalTime() const
G4VPhysicalVolume * GetPhysicalVolume() const
const G4ThreeVector & GetPolarization() const
G4double GetKineticEnergy() const
G4double GetWeight() const
G4Track * GetTrack() const
G4StepPoint * GetPreStepPoint() const
G4double GetStepLength() const
G4double GetTotalEnergyDeposit() const
G4StepPoint * GetPostStepPoint() const
void PostStepDoItAllDone()
void PostStepDoItOneByOne()
void AlongStepDoItAllDone()
void AlongStepDoItOneByOne()
void VerboseParticleChange()
G4TrackStatus GetTrackStatus() const
G4double GetVertexKineticEnergy() const
const G4VProcess * GetCreatorProcess() const
G4VPhysicalVolume * GetNextVolume() const
const G4ThreeVector & GetPosition() const
G4double GetTrackLength() const
const G4ThreeVector & GetVertexMomentumDirection() const
G4double GetGlobalTime() const
G4int GetCurrentStepNumber() const
const G4ThreeVector & GetVertexPosition() const
G4double GetLocalTime() const
const G4ThreeVector & GetMomentumDirection() const
G4double GetKineticEnergy() const
const G4ThreeVector & GetPolarization() const
G4double GetStepLength() const
G4int GetParentID() const
virtual void DumpInfo() const
const G4String & GetName() const
const G4String & GetProcessName() const
std::size_t MAXofAlongStepLoops
G4int fN2ndariesPostStepDoIt
G4ForceCondition fCondition
G4GPILSelection fGPILSelection
G4VParticleChange * fParticleChange
G4int fN2ndariesAtRestDoIt
G4int fN2ndariesAlongStepDoIt
G4SelectedPostStepDoItVector * fSelectedPostStepDoItVector
std::size_t MAXofAtRestLoops
G4SelectedAtRestDoItVector * fSelectedAtRestDoItVector
G4VProcess * fCurrentProcess
static G4ThreadLocal G4int SilentStepInfo
static G4ThreadLocal G4int Silent
std::size_t MAXofPostStepLoops
G4TrackVector * fSecondary