musrSteppingVerbose.cc

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

Generated on Mon Mar 27 12:19:54 2006 for MUSR by  doxygen 1.4.6