CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/Alignment/LaserAlignmentSimulation/src/LaserSteppingVerbose.cc

Go to the documentation of this file.
00001 
00009 #include "Alignment/LaserAlignmentSimulation/interface/LaserSteppingVerbose.h"
00010 #include "G4UnitsTable.hh"
00011 
00012 LaserSteppingVerbose::LaserSteppingVerbose()
00013 {
00014 }
00015 
00016 LaserSteppingVerbose::~LaserSteppingVerbose()
00017 {
00018 }
00019 
00020 void LaserSteppingVerbose::StepInfo()
00021 {
00022   //  G4cout << "<LaserSteppingVerbose::StepInfo()>: verboseLevel = " << verboseLevel << endl;
00023 
00024   CopyState();
00025 
00026   G4int precision = G4cout.precision(3);
00027 
00028   if ( verboseLevel >= 1 )
00029     {
00030       if ( verboseLevel >= 4 ) VerboseTrack();
00031       if ( verboseLevel >= 3 )
00032         {
00033           G4cout << G4endl;
00034           G4cout << std::setw( 5) << "#Step#"      << " "
00035                  << std::setw( 6) << "X"           << "   "
00036                  << std::setw( 6) << "Y"           << "   "
00037                  << std::setw( 6) << "Z"           << "   "
00038                  << std::setw( 9) << "KineE"       << "   "
00039                  << std::setw( 9) << "dEStep"      << "   "
00040                  << std::setw(10) << "StepLength"  << " "
00041                  << std::setw(10) << "TrackLength" << " "
00042                  << std::setw(10) << "Volume"      << " "
00043                  << std::setw(10) << "Process"     << G4endl;
00044 
00045           G4cout << std::setw( 5) << fTrack->GetCurrentStepNumber() << " "
00046                  << std::setw( 6) << G4BestUnit(fTrack->GetPosition().x(),"Length")
00047                  << std::setw( 6) << G4BestUnit(fTrack->GetPosition().y(),"Length")
00048                  << std::setw( 6) << G4BestUnit(fTrack->GetPosition().z(),"Length")
00049                  << std::setw( 6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy")
00050                  << std::setw( 6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy")
00051                  << std::setw( 6) << G4BestUnit(fStep->GetStepLength(),"Length")
00052                  << std::setw( 6) << G4BestUnit(fTrack->GetTrackLength(),"Length")
00053                  << " ";
00054 
00055           if ( fTrack->GetNextVolume() != 0 )
00056             {
00057               G4cout << std::setw(10) << fTrack->GetVolume()->GetName();
00058             }
00059           else
00060             {
00061               G4cout << std::setw(10) << "OutOfWorld";
00062             }
00063 
00064           if ( fStep->GetPostStepPoint()->GetProcessDefinedStep() != 0 )
00065             {
00066               G4cout << " " << std::setw(10) << fStep->GetPostStepPoint()->GetProcessDefinedStep()
00067                 ->GetProcessName();
00068             }
00069           else
00070             {
00071               G4cout << "    UserLimit";
00072             }
00073 
00074           G4cout << G4endl;
00075 
00076           if ( verboseLevel == 2 )
00077             {
00078               // total number of secondaries
00079               G4int tN2ndariesTot = fN2ndariesAtRestDoIt +
00080                 fN2ndariesAlongStepDoIt + fN2ndariesPostStepDoIt;
00081 
00082               if ( tN2ndariesTot > 0 ) 
00083                 {
00084                   G4cout << "   :---- List of Secondaries - "
00085                          << "#SpawnInStep = " << std::setw(3) << tN2ndariesTot
00086                          << "(Rest = " << std::setw(2) << fN2ndariesAtRestDoIt
00087                          << ", Along = " << std::setw(2) << fN2ndariesAlongStepDoIt
00088                          << ", Post = " << std::setw(2) << fN2ndariesPostStepDoIt
00089                          << "), "
00090                          << "#SpawnTotal = " << std::setw(3) << (*fSecondary).size()
00091                          << " --------- " << G4endl;
00092 
00093                   for ( size_t lp1 = (*fSecondary).size() - tN2ndariesTot; lp1 < (*fSecondary).size(); lp1++)
00094                     {
00095                       G4cout << "   : " 
00096                              << std::setw(6) 
00097                              << G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),"Length")
00098                              << std::setw(6)
00099                              << G4BestUnit((*fSecondary)[lp1]->GetPosition().y(),"Length")
00100                              << std::setw(6)
00101                              << G4BestUnit((*fSecondary)[lp1]->GetPosition().z(),"Length")
00102                              << std::setw(6)
00103                              << G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),"Energy")
00104                              << std::setw(10)
00105                              << (*fSecondary)[lp1]->GetDefinition()->GetParticleName();
00106                       G4cout << G4endl;
00107                     }
00108 
00109                   G4cout << "   :----------------------"
00110                          << "--------------------------"
00111                          << "-- End of Secondaries Info --------------------------------- "
00112                          << G4endl;
00113                 }
00114             }
00115         }
00116     }
00117   G4cout.precision(precision);
00118 }
00119 
00120 void LaserSteppingVerbose::TrackingStarted()
00121 {
00122   CopyState();
00123   
00124   G4int precision = G4cout.precision(3);
00125   if ( verboseLevel > 0 )
00126     {
00127       G4cout << std::setw( 5) << "Step#"       << " " 
00128              << std::setw( 6) << "X"           << "     "
00129              << std::setw( 6) << "Y"           << "     "
00130              << std::setw( 6) << "Z"           << "     "
00131              << std::setw( 9) << "KineE"       << " "
00132              << std::setw( 9) << "dEStep"      << " "
00133              << std::setw(10) << "StepLength"  << " "
00134              << std::setw(10) << "TrackLength" << " "
00135              << std::setw(10) << "Volume"      << "  "
00136              << std::setw(10) << "Process "    << G4endl;
00137       
00138       G4cout << std::setw( 5) << fTrack->GetCurrentStepNumber() << " "
00139              << std::setw( 6) << G4BestUnit(fTrack->GetPosition().x(),"Length")
00140              << std::setw( 6) << G4BestUnit(fTrack->GetPosition().y(),"Length")
00141              << std::setw( 6) << G4BestUnit(fTrack->GetPosition().z(),"Length")
00142              << std::setw( 6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy")
00143              << std::setw( 6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy")
00144              << std::setw( 6) << G4BestUnit(fStep->GetStepLength(),"Length")
00145              << std::setw( 6) << G4BestUnit(fTrack->GetTrackLength(),"Length") << "   ";
00146       
00147       if (fTrack->GetNextVolume() != 0)
00148         {
00149           G4cout << std::setw(10) << fTrack->GetVolume()->GetName();
00150         }
00151       else
00152         {
00153           G4cout << "OutOfWorld";
00154         }
00155       
00156       G4cout << "     initStep" << G4endl;
00157     }
00158   G4cout.precision(precision);
00159 }