1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
/** \file LaserSteppingVerbose.cc
*
*
* $Date: 2007/03/20 12:01:01 $
* $Revision: 1.2 $
* \author Maarten Thomas
*/
#include "Alignment/LaserAlignmentSimulation/interface/LaserSteppingVerbose.h"
#include "G4UnitsTable.hh"
LaserSteppingVerbose::LaserSteppingVerbose() {}
LaserSteppingVerbose::~LaserSteppingVerbose() {}
void LaserSteppingVerbose::StepInfo() {
// G4cout << "<LaserSteppingVerbose::StepInfo()>: verboseLevel = " <<
// verboseLevel << endl;
CopyState();
G4int precision = G4cout.precision(3);
if (verboseLevel >= 1) {
if (verboseLevel >= 4)
VerboseTrack();
if (verboseLevel >= 3) {
G4cout << G4endl;
G4cout << std::setw(5) << "#Step#"
<< " " << std::setw(6) << "X"
<< " " << std::setw(6) << "Y"
<< " " << std::setw(6) << "Z"
<< " " << std::setw(9) << "KineE"
<< " " << std::setw(9) << "dEStep"
<< " " << std::setw(10) << "StepLength"
<< " " << std::setw(10) << "TrackLength"
<< " " << std::setw(10) << "Volume"
<< " " << std::setw(10) << "Process" << G4endl;
G4cout << std::setw(5) << fTrack->GetCurrentStepNumber() << " " << std::setw(6)
<< G4BestUnit(fTrack->GetPosition().x(), "Length") << std::setw(6)
<< G4BestUnit(fTrack->GetPosition().y(), "Length") << std::setw(6)
<< G4BestUnit(fTrack->GetPosition().z(), "Length") << std::setw(6)
<< G4BestUnit(fTrack->GetKineticEnergy(), "Energy") << std::setw(6)
<< G4BestUnit(fStep->GetTotalEnergyDeposit(), "Energy") << std::setw(6)
<< G4BestUnit(fStep->GetStepLength(), "Length") << std::setw(6)
<< G4BestUnit(fTrack->GetTrackLength(), "Length") << " ";
if (fTrack->GetNextVolume() != nullptr) {
G4cout << std::setw(10) << fTrack->GetVolume()->GetName();
} else {
G4cout << std::setw(10) << "OutOfWorld";
}
if (fStep->GetPostStepPoint()->GetProcessDefinedStep() != nullptr) {
G4cout << " " << std::setw(10) << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
} else {
G4cout << " UserLimit";
}
G4cout << G4endl;
if (verboseLevel == 2) {
// total number of secondaries
G4int tN2ndariesTot = fN2ndariesAtRestDoIt + fN2ndariesAlongStepDoIt + fN2ndariesPostStepDoIt;
if (tN2ndariesTot > 0) {
G4cout << " :---- List of Secondaries - "
<< "#SpawnInStep = " << std::setw(3) << tN2ndariesTot << "(Rest = " << std::setw(2)
<< fN2ndariesAtRestDoIt << ", Along = " << std::setw(2) << fN2ndariesAlongStepDoIt
<< ", Post = " << std::setw(2) << fN2ndariesPostStepDoIt << "), "
<< "#SpawnTotal = " << std::setw(3) << (*fSecondary).size() << " --------- " << G4endl;
for (size_t lp1 = (*fSecondary).size() - tN2ndariesTot; lp1 < (*fSecondary).size(); lp1++) {
G4cout << " : " << std::setw(6) << G4BestUnit((*fSecondary)[lp1]->GetPosition().x(), "Length")
<< std::setw(6) << G4BestUnit((*fSecondary)[lp1]->GetPosition().y(), "Length") << std::setw(6)
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().z(), "Length") << std::setw(6)
<< G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(), "Energy") << std::setw(10)
<< (*fSecondary)[lp1]->GetDefinition()->GetParticleName();
G4cout << G4endl;
}
G4cout << " :----------------------"
<< "--------------------------"
<< "-- End of Secondaries Info --------------------------------- " << G4endl;
}
}
}
}
G4cout.precision(precision);
}
void LaserSteppingVerbose::TrackingStarted() {
CopyState();
G4int precision = G4cout.precision(3);
if (verboseLevel > 0) {
G4cout << std::setw(5) << "Step#"
<< " " << std::setw(6) << "X"
<< " " << std::setw(6) << "Y"
<< " " << std::setw(6) << "Z"
<< " " << std::setw(9) << "KineE"
<< " " << std::setw(9) << "dEStep"
<< " " << std::setw(10) << "StepLength"
<< " " << std::setw(10) << "TrackLength"
<< " " << std::setw(10) << "Volume"
<< " " << std::setw(10) << "Process " << G4endl;
G4cout << std::setw(5) << fTrack->GetCurrentStepNumber() << " " << std::setw(6)
<< G4BestUnit(fTrack->GetPosition().x(), "Length") << std::setw(6)
<< G4BestUnit(fTrack->GetPosition().y(), "Length") << std::setw(6)
<< G4BestUnit(fTrack->GetPosition().z(), "Length") << std::setw(6)
<< G4BestUnit(fTrack->GetKineticEnergy(), "Energy") << std::setw(6)
<< G4BestUnit(fStep->GetTotalEnergyDeposit(), "Energy") << std::setw(6)
<< G4BestUnit(fStep->GetStepLength(), "Length") << std::setw(6)
<< G4BestUnit(fTrack->GetTrackLength(), "Length") << " ";
if (fTrack->GetNextVolume() != nullptr) {
G4cout << std::setw(10) << fTrack->GetVolume()->GetName();
} else {
G4cout << "OutOfWorld";
}
G4cout << " initStep" << G4endl;
}
G4cout.precision(precision);
}
|