45{
46 CopyState();
47
48 G4int prec = G4cout.precision(8);
49
50 if (fTrack->GetDefinition()->GetParticleName() == "proton") return;
51
52
53 if (fTrack->GetDefinition()->GetParticleName() == "e+") return;
54
55 if( verboseLevel >= 1 ){
56 if( verboseLevel >= 4 ) VerboseTrack();
57 if( verboseLevel >= 3 ){
58 G4cout << G4endl;
59 G4cout << std::setw( 5) << "#Step#" << " "
60 << std::setw(10) << "X" << " "
61 << std::setw(10) << "Y" << " "
62 << std::setw(10) << "Z" << " "
63 << std::setw(10) << "KineE" << " "
64 << std::setw(10) << "dEStep" << " "
65 << std::setw(10) << "StepLeng"
66 << std::setw(10) << "TrakLeng"
67 << std::setw(10) << "NextVolu"
68 << std::setw(10) << "Process"
69 << std::setw(10) << "Dir_x" << " "
70 << std::setw(10) << "Dir_y" << " "
71 << std::setw(10) << "Dir_z" << " "
72 << G4endl;
73 }
74
75 G4cout << std::setw( 5) << fTrack->GetCurrentStepNumber() << " "
76 << std::setw(10) <<
G4BestUnit(fTrack->GetPosition().x(),
"Length")
77 << std::setw(10) <<
G4BestUnit(fTrack->GetPosition().y(),
"Length")
78 << std::setw(10) <<
G4BestUnit(fTrack->GetPosition().z(),
"Length")
79 << std::setw(10) <<
G4BestUnit(fTrack->GetKineticEnergy(),
"Energy")
81 GetTotalEnergyDeposit(),"Energy")
82 << std::setw(10) <<
G4BestUnit(fStep->GetStepLength(),
"Length")
83 << std::setw(10) <<
G4BestUnit(fTrack->GetTrackLength(),
"Length");
84
85 if( fTrack->GetNextVolume() != nullptr ) {
86 G4cout << std::setw(10) << fTrack->GetVolume()->GetName();
87 } else {
88 G4cout << std::setw(10) << "OutOfWorld";
89 }
90
91 if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != nullptr){
92 G4cout << " "
93 << std::setw(10) << fStep->GetPostStepPoint()->
94 GetProcessDefinedStep()->GetProcessName();
95 } else {
96 G4cout << " UserLimit";
97 }
98
99
100
101
102
103
104
105
106 G4cout << G4endl;
107
108 if( verboseLevel == 2 ){
109 G4int tN2ndariesTot = fN2ndariesAtRestDoIt +
110 fN2ndariesAlongStepDoIt +
111 fN2ndariesPostStepDoIt;
112 if(tN2ndariesTot>0){
113 G4cout << " :----- List of 2ndaries - "
114 << "#SpawnInStep=" << std::setw(3) << tN2ndariesTot
115 << "(Rest=" << std::setw(2) << fN2ndariesAtRestDoIt
116 << ",Along=" << std::setw(2) << fN2ndariesAlongStepDoIt
117 << ",Post=" << std::setw(2) << fN2ndariesPostStepDoIt
118 << "), "
119 << "#SpawnTotal=" << std::setw(3) << (*fSecondary).size()
120 << " ---------------"
121 << G4endl;
122
123 for(size_t lp1=(*fSecondary).size()-tN2ndariesTot;
124 lp1<(*fSecondary).size(); lp1++){
125 G4cout << " : "
126 << std::setw(6)
127 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),
"Length")
128 << std::setw(6)
129 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().y(),
"Length")
130 << std::setw(6)
131 <<
G4BestUnit((*fSecondary)[lp1]->GetPosition().z(),
"Length")
132 << std::setw(6)
133 <<
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),
"Energy")
134 << std::setw(10)
135 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName();
136 G4cout << G4endl;
137 }
138
139 G4cout << " :-----------------------------"
140 << "----------------------------------"
141 << "-- EndOf2ndaries Info ---------------"
142 << G4endl;
143 }
144 }
145
146 }
147 G4cout.precision(prec);
148}