32 #include "HGCal/TBStandaloneSimulator/interface/SteppingVerbose.hh"
34 #include "G4SteppingManager.hh"
35 #include "G4UnitsTable.hh"
39 SteppingVerbose::SteppingVerbose()
44 SteppingVerbose::~SteppingVerbose()
49 void SteppingVerbose::StepInfo()
53 G4int prec = G4cout.precision(3);
55 if( verboseLevel >= 1 ) {
56 if( verboseLevel >= 4 ) VerboseTrack();
57 if( verboseLevel >= 3 ) {
59 G4cout << std::setw( 5) <<
"#Step#" <<
" "
60 << std::setw( 6) <<
"X" <<
" "
61 << std::setw( 6) <<
"Y" <<
" "
62 << std::setw( 6) <<
"Z" <<
" "
63 << std::setw( 9) <<
"KineE" <<
" "
64 << std::setw( 9) <<
"dEStep" <<
" "
65 << std::setw(10) <<
"StepLeng"
66 << std::setw(10) <<
"TrakLeng"
67 << std::setw(10) <<
"Volume" <<
" "
68 << std::setw(10) <<
"Process" << G4endl;
71 G4cout << std::setw( 5) << fTrack->GetCurrentStepNumber() <<
" "
72 << std::setw(6) << G4BestUnit(fTrack->GetPosition().x(),
"Length")
73 << std::setw(6) << G4BestUnit(fTrack->GetPosition().y(),
"Length")
74 << std::setw(6) << G4BestUnit(fTrack->GetPosition().z(),
"Length")
75 << std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),
"Energy")
76 << std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),
"Energy")
77 << std::setw(6) << G4BestUnit(fStep->GetStepLength(),
"Length")
78 << std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),
"Length")
79 << std::setw(10) << fTrack->GetVolume()->GetName();
81 const G4VProcess* process
82 = fStep->GetPostStepPoint()->GetProcessDefinedStep();
83 G4String procName =
" UserLimit";
84 if (process) procName = process->GetProcessName();
85 if (fStepStatus == fWorldBoundary) procName =
"OutOfWorld";
86 G4cout <<
" " << std::setw(10) << procName;
89 if( verboseLevel == 2 ) {
90 G4int tN2ndariesTot = fN2ndariesAtRestDoIt +
91 fN2ndariesAlongStepDoIt +
92 fN2ndariesPostStepDoIt;
93 if(tN2ndariesTot > 0) {
94 G4cout <<
"\n :----- List of secondaries ----------------"
97 for(
size_t lp1 = (*fSecondary).size() - tN2ndariesTot;
98 lp1 < (*fSecondary).size(); lp1++) {
101 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName()
104 << G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),
"Energy")
107 << G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),
"Time");
111 G4cout <<
" :------------------------------------------\n"
117 G4cout.precision(prec);
122 void SteppingVerbose::TrackingStarted()
126 G4int prec = G4cout.precision(3);
127 if( verboseLevel > 0 ) {
129 G4cout << std::setw( 5) <<
"Step#" <<
" "
130 << std::setw( 6) <<
"X" <<
" "
131 << std::setw( 6) <<
"Y" <<
" "
132 << std::setw( 6) <<
"Z" <<
" "
133 << std::setw( 9) <<
"KineE" <<
" "
134 << std::setw( 9) <<
"dEStep" <<
" "
135 << std::setw(10) <<
"StepLeng"
136 << std::setw(10) <<
"TrakLeng"
137 << std::setw(10) <<
"Volume" <<
" "
138 << std::setw(10) <<
"Process" << G4endl;
140 G4cout << std::setw(5) << fTrack->GetCurrentStepNumber() <<
" "
141 << std::setw(6) << G4BestUnit(fTrack->GetPosition().x(),
"Length")
142 << std::setw(6) << G4BestUnit(fTrack->GetPosition().y(),
"Length")
143 << std::setw(6) << G4BestUnit(fTrack->GetPosition().z(),
"Length")
144 << std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),
"Energy")
145 << std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),
"Energy")
146 << std::setw(6) << G4BestUnit(fStep->GetStepLength(),
"Length")
147 << std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),
"Length")
148 << std::setw(10) << fTrack->GetVolume()->GetName()
149 <<
" initStep" << G4endl;
151 G4cout.precision(prec);