File indexing completed on 2023-10-25 09:32:09
0001
0002
0003
0004
0005
0006
0007
0008
0009 #include "Alignment/LaserAlignmentSimulation/interface/LaserSteppingVerbose.h"
0010 #include "G4UnitsTable.hh"
0011
0012 LaserSteppingVerbose::LaserSteppingVerbose() {}
0013
0014 LaserSteppingVerbose::~LaserSteppingVerbose() {}
0015
0016 void LaserSteppingVerbose::StepInfo() {
0017
0018
0019
0020 CopyState();
0021
0022 G4int precision = G4cout.precision(3);
0023
0024 if (verboseLevel >= 1) {
0025 if (verboseLevel >= 4)
0026 VerboseTrack();
0027 if (verboseLevel >= 3) {
0028 G4cout << G4endl;
0029 G4cout << std::setw(5) << "#Step#"
0030 << " " << std::setw(6) << "X"
0031 << " " << std::setw(6) << "Y"
0032 << " " << std::setw(6) << "Z"
0033 << " " << std::setw(9) << "KineE"
0034 << " " << std::setw(9) << "dEStep"
0035 << " " << std::setw(10) << "StepLength"
0036 << " " << std::setw(10) << "TrackLength"
0037 << " " << std::setw(10) << "Volume"
0038 << " " << std::setw(10) << "Process" << G4endl;
0039
0040 G4cout << std::setw(5) << fTrack->GetCurrentStepNumber() << " " << std::setw(6)
0041 << G4BestUnit(fTrack->GetPosition().x(), "Length") << std::setw(6)
0042 << G4BestUnit(fTrack->GetPosition().y(), "Length") << std::setw(6)
0043 << G4BestUnit(fTrack->GetPosition().z(), "Length") << std::setw(6)
0044 << G4BestUnit(fTrack->GetKineticEnergy(), "Energy") << std::setw(6)
0045 << G4BestUnit(fStep->GetTotalEnergyDeposit(), "Energy") << std::setw(6)
0046 << G4BestUnit(fStep->GetStepLength(), "Length") << std::setw(6)
0047 << G4BestUnit(fTrack->GetTrackLength(), "Length") << " ";
0048
0049 if (fTrack->GetNextVolume() != nullptr) {
0050 G4cout << std::setw(10) << fTrack->GetVolume()->GetName();
0051 } else {
0052 G4cout << std::setw(10) << "OutOfWorld";
0053 }
0054
0055 if (fStep->GetPostStepPoint()->GetProcessDefinedStep() != nullptr) {
0056 G4cout << " " << std::setw(10) << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
0057 } else {
0058 G4cout << " UserLimit";
0059 }
0060
0061 G4cout << G4endl;
0062
0063 if (verboseLevel == 2) {
0064
0065 G4int tN2ndariesTot = fN2ndariesAtRestDoIt + fN2ndariesAlongStepDoIt + fN2ndariesPostStepDoIt;
0066
0067 if (tN2ndariesTot > 0) {
0068 G4cout << " :---- List of Secondaries - "
0069 << "#SpawnInStep = " << std::setw(3) << tN2ndariesTot << "(Rest = " << std::setw(2)
0070 << fN2ndariesAtRestDoIt << ", Along = " << std::setw(2) << fN2ndariesAlongStepDoIt
0071 << ", Post = " << std::setw(2) << fN2ndariesPostStepDoIt << "), "
0072 << "#SpawnTotal = " << std::setw(3) << (*fSecondary).size() << " --------- " << G4endl;
0073
0074 for (size_t lp1 = (*fSecondary).size() - tN2ndariesTot; lp1 < (*fSecondary).size(); lp1++) {
0075 G4cout << " : " << std::setw(6) << G4BestUnit((*fSecondary)[lp1]->GetPosition().x(), "Length")
0076 << std::setw(6) << G4BestUnit((*fSecondary)[lp1]->GetPosition().y(), "Length") << std::setw(6)
0077 << G4BestUnit((*fSecondary)[lp1]->GetPosition().z(), "Length") << std::setw(6)
0078 << G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(), "Energy") << std::setw(10)
0079 << (*fSecondary)[lp1]->GetDefinition()->GetParticleName();
0080 G4cout << G4endl;
0081 }
0082
0083 G4cout << " :----------------------"
0084 << "--------------------------"
0085 << "-- End of Secondaries Info --------------------------------- " << G4endl;
0086 }
0087 }
0088 }
0089 }
0090 G4cout.precision(precision);
0091 }
0092
0093 void LaserSteppingVerbose::TrackingStarted() {
0094 CopyState();
0095
0096 G4int precision = G4cout.precision(3);
0097 if (verboseLevel > 0) {
0098 G4cout << std::setw(5) << "Step#"
0099 << " " << std::setw(6) << "X"
0100 << " " << std::setw(6) << "Y"
0101 << " " << std::setw(6) << "Z"
0102 << " " << std::setw(9) << "KineE"
0103 << " " << std::setw(9) << "dEStep"
0104 << " " << std::setw(10) << "StepLength"
0105 << " " << std::setw(10) << "TrackLength"
0106 << " " << std::setw(10) << "Volume"
0107 << " " << std::setw(10) << "Process " << G4endl;
0108
0109 G4cout << std::setw(5) << fTrack->GetCurrentStepNumber() << " " << std::setw(6)
0110 << G4BestUnit(fTrack->GetPosition().x(), "Length") << std::setw(6)
0111 << G4BestUnit(fTrack->GetPosition().y(), "Length") << std::setw(6)
0112 << G4BestUnit(fTrack->GetPosition().z(), "Length") << std::setw(6)
0113 << G4BestUnit(fTrack->GetKineticEnergy(), "Energy") << std::setw(6)
0114 << G4BestUnit(fStep->GetTotalEnergyDeposit(), "Energy") << std::setw(6)
0115 << G4BestUnit(fStep->GetStepLength(), "Length") << std::setw(6)
0116 << G4BestUnit(fTrack->GetTrackLength(), "Length") << " ";
0117
0118 if (fTrack->GetNextVolume() != nullptr) {
0119 G4cout << std::setw(10) << fTrack->GetVolume()->GetName();
0120 } else {
0121 G4cout << "OutOfWorld";
0122 }
0123
0124 G4cout << " initStep" << G4endl;
0125 }
0126 G4cout.precision(precision);
0127 }