File indexing completed on 2025-02-23 09:21:17
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035 #include "F03SteppingVerbose.hh"
0036
0037 #include "G4SteppingManager.hh"
0038 #include "G4UnitsTable.hh"
0039
0040
0041
0042 void F03SteppingVerbose::StepInfo()
0043 {
0044 CopyState();
0045
0046 G4int prec = G4cout.precision(8);
0047
0048 if (verboseLevel >= 1) {
0049 if (verboseLevel >= 4) VerboseTrack();
0050 if (verboseLevel >= 3) {
0051 G4cout << G4endl;
0052 G4cout << std::setw(5) << "#Step#"
0053 << " " << std::setw(10) << "X"
0054 << " " << std::setw(10) << "Y"
0055 << " " << std::setw(10) << "Z"
0056 << " " << std::setw(10) << "KineE"
0057 << " " << std::setw(10) << "dEStep"
0058 << " " << std::setw(10) << "StepLeng" << std::setw(10) << "TrakLeng" << std::setw(10)
0059 << "NextVolu" << std::setw(10) << "Process" << std::setw(10) << "Dir_x"
0060 << " " << std::setw(10) << "Dir_y"
0061 << " " << std::setw(10) << "Dir_z"
0062 << " " << G4endl;
0063 }
0064
0065 G4cout << std::setw(5) << fTrack->GetCurrentStepNumber() << " " << std::setw(10)
0066 << G4BestUnit(fTrack->GetPosition().x(), "Length") << std::setw(10)
0067 << G4BestUnit(fTrack->GetPosition().y(), "Length") << std::setw(10)
0068 << G4BestUnit(fTrack->GetPosition().z(), "Length") << std::setw(10)
0069 << G4BestUnit(fTrack->GetKineticEnergy(), "Energy") << std::setw(10)
0070 << G4BestUnit(fStep->GetTotalEnergyDeposit(), "Energy") << std::setw(10)
0071 << G4BestUnit(fStep->GetStepLength(), "Length") << std::setw(10)
0072 << G4BestUnit(fTrack->GetTrackLength(), "Length");
0073
0074 if (fTrack->GetNextVolume() != nullptr) {
0075 G4cout << std::setw(10) << fTrack->GetVolume()->GetName();
0076 }
0077 else {
0078 G4cout << std::setw(10) << "OutOfWorld";
0079 }
0080
0081 if (fStep->GetPostStepPoint()->GetProcessDefinedStep() != nullptr) {
0082 G4cout << " " << std::setw(10)
0083 << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
0084 }
0085 else {
0086 G4cout << " UserLimit";
0087 }
0088
0089 G4cout << std::setw(12) << G4BestUnit(fTrack->GetMomentumDirection().x(), "Length")
0090 << std::setw(12) << G4BestUnit(fTrack->GetMomentumDirection().y(), "Length")
0091 << std::setw(12) << G4BestUnit(fTrack->GetMomentumDirection().z(), "Length");
0092
0093 G4cout << G4endl;
0094
0095 if (verboseLevel == 2) {
0096 G4int tN2ndariesTot = fN2ndariesAtRestDoIt + fN2ndariesAlongStepDoIt + fN2ndariesPostStepDoIt;
0097 if (tN2ndariesTot > 0) {
0098 G4cout << " :----- List of 2ndaries - "
0099 << "#SpawnInStep=" << std::setw(3) << tN2ndariesTot << "(Rest=" << std::setw(2)
0100 << fN2ndariesAtRestDoIt << ",Along=" << std::setw(2) << fN2ndariesAlongStepDoIt
0101 << ",Post=" << std::setw(2) << fN2ndariesPostStepDoIt << "), "
0102 << "#SpawnTotal=" << std::setw(3) << (*fSecondary).size() << " ---------------"
0103 << G4endl;
0104
0105 for (size_t lp1 = (*fSecondary).size() - tN2ndariesTot; lp1 < (*fSecondary).size(); lp1++) {
0106 G4cout << " : " << std::setw(6)
0107 << G4BestUnit((*fSecondary)[lp1]->GetPosition().x(), "Length") << std::setw(6)
0108 << G4BestUnit((*fSecondary)[lp1]->GetPosition().y(), "Length") << std::setw(6)
0109 << G4BestUnit((*fSecondary)[lp1]->GetPosition().z(), "Length") << std::setw(6)
0110 << G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(), "Energy") << std::setw(10)
0111 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName();
0112 G4cout << G4endl;
0113 }
0114
0115 G4cout << " :-----------------------------"
0116 << "----------------------------------"
0117 << "-- EndOf2ndaries Info ---------------" << G4endl;
0118 }
0119 }
0120 }
0121 G4cout.precision(prec);
0122 }
0123
0124
0125
0126 void F03SteppingVerbose::TrackingStarted()
0127 {
0128 CopyState();
0129 G4int prec = G4cout.precision(3);
0130 if (verboseLevel > 0) {
0131 G4cout << std::setw(5) << "Step#"
0132 << " " << std::setw(6) << "X"
0133 << " " << std::setw(6) << "Y"
0134 << " " << std::setw(6) << "Z"
0135 << " " << std::setw(9) << "KineE"
0136 << " " << std::setw(9) << "dEStep"
0137 << " " << std::setw(10) << "StepLeng" << std::setw(10) << "TrakLeng" << std::setw(10)
0138 << "Volume"
0139 << " " << std::setw(10) << "Process" << G4endl;
0140
0141 G4cout << std::setw(5) << fTrack->GetCurrentStepNumber() << " " << std::setw(6)
0142 << G4BestUnit(fTrack->GetPosition().x(), "Length") << std::setw(6)
0143 << G4BestUnit(fTrack->GetPosition().y(), "Length") << std::setw(6)
0144 << G4BestUnit(fTrack->GetPosition().z(), "Length") << std::setw(6)
0145 << G4BestUnit(fTrack->GetKineticEnergy(), "Energy") << std::setw(6)
0146 << G4BestUnit(fStep->GetTotalEnergyDeposit(), "Energy") << std::setw(6)
0147 << G4BestUnit(fStep->GetStepLength(), "Length") << std::setw(6)
0148 << G4BestUnit(fTrack->GetTrackLength(), "Length");
0149
0150 if (fTrack->GetNextVolume()) {
0151 G4cout << std::setw(10) << fTrack->GetVolume()->GetName();
0152 }
0153 else {
0154 G4cout << std::setw(10) << "OutOfWorld";
0155 }
0156 G4cout << " initStep" << G4endl;
0157 }
0158 G4cout.precision(prec);
0159 }
0160
0161