57 fmessenger =
new G4GenericMessenger(
this,
"/tracking/",
"precision of verbose output");
59 fmessenger->
DeclareProperty(
"setVerbosePrecision", fprec,
"set precision of verbose output");
73 G4cout << std::setw(5) <<
"Step#"
74 <<
" " << std::setw(fprec + 3) <<
"X"
75 <<
" " << std::setw(fprec + 3) <<
"Y"
76 <<
" " << std::setw(fprec + 3) <<
"Z"
77 <<
" " << std::setw(fprec + 6) <<
"KineE"
78 <<
" " << std::setw(fprec + 10) <<
"dEStep"
79 <<
" " << std::setw(fprec + 7) <<
"StepLeng" << std::setw(fprec + 7) <<
"TrakLeng"
80 << std::setw(10) <<
"Volume"
81 <<
" " << std::setw(10) <<
"Process" <<
G4endl;
107 G4cout << std::setw(5) <<
"#Step#"
108 <<
" " << std::setw(fprec + 3) <<
"X"
109 <<
" " << std::setw(fprec + 3) <<
"Y"
110 <<
" " << std::setw(fprec + 3) <<
"Z"
111 <<
" " << std::setw(fprec + 6) <<
"KineE"
112 <<
" " << std::setw(fprec + 10) <<
"dEStep"
113 <<
" " << std::setw(fprec + 7) <<
"StepLeng" << std::setw(fprec + 7) <<
"TrakLeng"
114 << std::setw(10) <<
"Volume"
115 <<
" " << std::setw(10) <<
"Process" <<
G4endl;
132 G4cout <<
" " << std::setw(9) << procName;
137 if (! secondary->empty()) {
138 G4cout <<
"\n :----- List of secondaries ----------------" <<
G4endl;
140 for (
auto lp : *secondary) {
141 G4cout <<
" " << std::setw(13) << lp->GetDefinition()->GetParticleName()
142 <<
": energy =" << std::setw(6) <<
G4BestUnit(lp->GetKineticEnergy(),
"Energy")
143 <<
" time =" << std::setw(6) <<
G4BestUnit(lp->GetGlobalTime(),
"Time");
147 G4cout <<
" :------------------------------------------\n" <<
G4endl;
151 G4cout.precision(oldprec);
168 ptProcManager = (*fAtRestDoItVector)[(
G4int)np];
174 ptProcManager = (*fAtRestDoItVector)[(
G4int)np];
182 G4cout <<
" -- List of secondaries generated : "
183 <<
"(x,y,z,kE,t,PID) --" <<
G4endl;
185 lp1 < (*fSecondary).size(); ++lp1)
187 G4cout <<
" " << std::setw(9)
193 << std::setw(18) << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() <<
G4endl;
214 G4cout <<
" >>AlongStepDoIt (after all invocations):" <<
G4endl;
218 ptProcManager = (*fAlongStepDoItVector)((
G4int)ci);
219 G4cout <<
" " << ci + 1 <<
") ";
220 if (ptProcManager !=
nullptr) {
227 G4cout <<
" ++List of secondaries generated "
228 <<
"(x,y,z,kE,t,PID):"
229 <<
" No. of secondaries = " << (*fSecondary).size() <<
G4endl;
231 if (! (*fSecondary).empty()) {
233 G4cout <<
" " << std::setw(9) <<
G4BestUnit(lp1->GetPosition().x(),
"Length") <<
" "
234 << std::setw(9) <<
G4BestUnit(lp1->GetPosition().y(),
"Length") <<
" "
235 << std::setw(9) <<
G4BestUnit(lp1->GetPosition().z(),
"Length") <<
" "
236 << std::setw(9) <<
G4BestUnit(lp1->GetKineticEnergy(),
"Energy") <<
" "
237 << std::setw(9) <<
G4BestUnit(lp1->GetGlobalTime(),
"Time") <<
" " << std::setw(18)
238 << lp1->GetDefinition()->GetParticleName() <<
G4endl;
260 G4cout <<
" **PostStepDoIt (after all invocations):" <<
G4endl;
267 ptProcManager = (*fPostStepDoItVector)[(
G4int)np];
273 ptProcManager = (*fPostStepDoItVector)[(
G4int)np];
280 G4cout <<
" ++List of secondaries generated "
281 <<
"(x,y,z,kE,t,PID):"
282 <<
" No. of secondaries = " << (*fSecondary).size() <<
G4endl;
283 G4cout <<
" [Note]Secondaries from AlongStepDoIt included." <<
G4endl;
285 if (! (*fSecondary).empty()) {
287 G4cout <<
" " << std::setw(9) <<
G4BestUnit(lp1->GetPosition().x(),
"Length") <<
" "
288 << std::setw(9) <<
G4BestUnit(lp1->GetPosition().y(),
"Length") <<
" "
289 << std::setw(9) <<
G4BestUnit(lp1->GetPosition().z(),
"Length") <<
" "
290 << std::setw(9) <<
G4BestUnit(lp1->GetKineticEnergy(),
"Energy") <<
" "
291 << std::setw(9) <<
G4BestUnit(lp1->GetGlobalTime(),
"Time") <<
" " << std::setw(18)
292 << lp1->GetDefinition()->GetParticleName() <<
G4endl;
306 G4cout <<
G4endl <<
" >>DefinePhysicalStepLength (List of proposed StepLengths): " <<
G4endl;
318 G4cout <<
"=== Defined Physical Step Length (DPSL)" <<
G4endl;
319 G4cout <<
" ++ProposedStep(UserLimit) = " << std::setw(9)
321 <<
" : ProcName = User defined maximum allowed Step" <<
G4endl;
332 G4cout <<
" ++ProposedStep(PostStep ) = " << std::setw(9)
360 G4cout <<
" ++ProposedStep(AlongStep) = " << std::setw(9)
383 G4cout <<
" >>AlongStepDoIt (process by process): "
388 <<
"!Note! Safety of PostStep is only valid "
389 <<
"after all DoIt invocations." <<
G4endl;
394 G4cout <<
" ++List of secondaries generated "
395 <<
"(x,y,z,kE,t,PID):"
400 lp1 < (*fSecondary).size(); ++lp1)
402 G4cout <<
" " << std::setw(9)
408 << std::setw(18) << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() <<
G4endl;
422 G4cout <<
" >>PostStepDoIt (process by process): "
430 G4cout <<
" ++List of secondaries generated "
431 <<
"(x,y,z,kE,t,PID):"
436 lp1 < (*fSecondary).size(); ++lp1)
438 G4cout <<
" " << std::setw(9)
444 << std::setw(18) << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() <<
G4endl;
460 G4cout <<
" -----------------------------------------------" <<
G4endl;
461 G4cout <<
" G4Track Information " << std::setw(20) <<
G4endl;
462 G4cout <<
" -----------------------------------------------" <<
G4endl;
466 G4cout <<
" Position - x : " << std::setw(20)
468 G4cout <<
" Position - y : " << std::setw(20)
470 G4cout <<
" Position - z : " << std::setw(20)
472 G4cout <<
" Global Time : " << std::setw(20)
474 G4cout <<
" Local Time : " << std::setw(20)
482 G4cout <<
" Kinetic Energy : " << std::setw(20)
490 G4cout <<
" Track Length : " << std::setw(20)
494 G4cout <<
" Next Volume : " << std::setw(20);
501 G4cout <<
" Track Status : " << std::setw(20);
505 G4cout <<
" StopButAlive";
509 G4cout <<
" KillTrackAndSecondaries";
513 G4cout <<
" PostponeToNextEvent";
515 G4cout <<
" Vertex - x : " << std::setw(20)
517 G4cout <<
" Vertex - y : " << std::setw(20)
519 G4cout <<
" Vertex - z : " << std::setw(20)
521 G4cout <<
" Vertex - Px (MomDir): " << std::setw(20)
523 G4cout <<
" Vertex - Py (MomDir): " << std::setw(20)
525 G4cout <<
" Vertex - Pz (MomDir): " << std::setw(20)
527 G4cout <<
" Vertex - KineE : " << std::setw(20)
530 G4cout <<
" Creator Process : " << std::setw(20);
536 G4cout <<
" -----------------------------------------------" <<
G4endl;
537 G4cout.precision(oldprec);
560 G4cout <<
" Step Length : "
566 G4cout <<
" -------------------------------------------------------"
567 <<
"----------------" <<
G4endl;
568 G4cout <<
" StepPoint Information " << std::setw(20) <<
"PreStep" << std::setw(20)
570 G4cout <<
" -------------------------------------------------------"
571 <<
"----------------" <<
G4endl;
572 G4cout <<
" Position - x : " << std::setw(17)
575 G4cout <<
" Position - y : " << std::setw(17)
578 G4cout <<
" Position - z : " << std::setw(17)
581 G4cout <<
" Global Time : " << std::setw(17)
584 G4cout <<
" Local Time : " << std::setw(17)
587 G4cout <<
" Proper Time : " << std::setw(17)
590 G4cout <<
" Momentum Direct - x : " << std::setw(20)
593 G4cout <<
" Momentum Direct - y : " << std::setw(20)
596 G4cout <<
" Momentum Direct - z : " << std::setw(20)
599 G4cout <<
" Momentum - x : " << std::setw(14)
602 G4cout <<
" Momentum - y : " << std::setw(14)
605 G4cout <<
" Momentum - z : " << std::setw(14)
608 G4cout <<
" Total Energy : " << std::setw(16)
611 G4cout <<
" Kinetic Energy : " << std::setw(16)
614 G4cout <<
" Velocity : " << std::setw(14)
617 G4cout <<
" Volume Name : " << std::setw(20)
623 G4cout <<
" Safety : " << std::setw(17)
626 G4cout <<
" Polarization - x : " << std::setw(20)
629 G4cout <<
" Polarization - y : " << std::setw(20)
632 G4cout <<
" Polarization - Z : " << std::setw(20)
635 G4cout <<
" Weight : " << std::setw(20)
638 G4cout <<
" Step Status : ";
641 G4cout << std::setw(20) <<
"Geom Limit";
644 G4cout << std::setw(20) <<
"AlongStep Proc.";
647 G4cout << std::setw(20) <<
"PostStep Proc";
650 G4cout << std::setw(20) <<
"AtRest Proc";
653 G4cout << std::setw(20) <<
"Undefined";
658 G4cout << std::setw(20) <<
"Geom Limit";
661 G4cout << std::setw(20) <<
"AlongStep Proc.";
664 G4cout << std::setw(20) <<
"PostStep Proc";
667 G4cout << std::setw(20) <<
"AtRest Proc";
670 G4cout << std::setw(20) <<
"Undefined";
674 G4cout <<
" Process defined Step: ";
676 G4cout << std::setw(20) <<
"Undefined";
682 G4cout << std::setw(20) <<
"Undefined";
690 G4cout <<
" -------------------------------------------------------"
691 <<
"----------------" <<
G4endl;
@ NotCandidateForSelection
Definition of the G4SteppingVerboseWithUnits class.
@ fKillTrackAndSecondaries
G4GLOB_DLL std::ostream G4cout
Command & DeclareProperty(const G4String &name, const G4AnyType &variable, const G4String &doc="")
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
const std::vector< const G4Track * > * GetSecondaryInCurrentStep() const
G4StepPoint * GetPreStepPoint() const
G4double GetStepLength() const
G4double GetTotalEnergyDeposit() const
G4StepPoint * GetPostStepPoint() const
void PostStepDoItAllDone() override
void SetManager(G4SteppingManager *const) override
void AtRestDoItInvoked() override
void AlongStepDoItAllDone() override
~G4SteppingVerboseWithUnits() override
void DPSLUserLimit() override
void DPSLPostStep() override
void AlongStepDoItOneByOne() override
void DPSLAlongStep() override
void ShowStep() const override
void TrackingStarted() override
void VerboseParticleChange() override
void VerboseTrack() override
void DPSLStarted() override
void PostStepDoItOneByOne() override
G4SteppingVerboseWithUnits(G4int precision=4)
G4TrackStatus GetTrackStatus() const
G4double GetVertexKineticEnergy() const
G4VPhysicalVolume * GetVolume() 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
G4SteppingManager * fManager
std::size_t MAXofPostStepLoops
G4TrackVector * fSecondary
Command & SetStates(G4ApplicationState s0)