47 #define G4_USE_G4BESTUNIT_FOR_VERBOSE 1 
   49 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE 
   52 #define G4BestUnit(a,b) a 
   61 #ifdef G4_TRACKING_DEBUG 
   62   G4cout << 
"G4ITSteppingVerbose has instantiated" << 
G4endl;
 
   82   if(fVerboseLevel == 0)
 
   90   if(fVerboseLevel >= 3)
 
   94     for(
size_t np = 0; np < MAXofAtRestLoops; np++)
 
   96       size_t npGPIL = MAXofAtRestLoops - np - 1;
 
   97       if((*fSelectedAtRestDoItVector)[npGPIL] == 2)
 
  100         ptProcManager = (*fAtRestDoItVector)[np];
 
  104       else if ( (*fSelectedAtRestDoItVector)[npGPIL] == 1 )
 
  107         ptProcManager = (*fAtRestDoItVector)[np];
 
  113     G4cout << 
"   Generated secondries # : " << fN2ndariesAtRestDoIt << 
G4endl;
 
  115     if(fN2ndariesAtRestDoIt > 0)
 
  117       G4cout << 
"   -- List of secondaries generated : " 
  118              << 
"(x,y,z,kE,t,PID) --" << 
G4endl;
 
  119       for( 
size_t lp1=(*fSecondary).size()-fN2ndariesAtRestDoIt;
 
  120           lp1<(*fSecondary).size(); lp1++)
 
  124         << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().
x(),
"Length") << 
" " 
  126         << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().y(),
"Length") << 
" " 
  128         << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().
z(),
"Length") << 
" " 
  130         << 
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),
"Energy") << 
" " 
  132         << 
G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),
"Time") << 
" " 
  134         << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() << 
G4endl;
 
  139   if(fVerboseLevel >= 4)
 
  149   if(fVerboseLevel == 0)
 
  158   if(fVerboseLevel >= 3)
 
  161     G4cout << 
" >>AlongStepDoIt (after all invocations):" << 
G4endl;
 
  164     for(
size_t ci=0; ci<MAXofAlongStepLoops; ci++)
 
  166       ptProcManager = (*fAlongStepDoItVector)(ci);
 
  167       G4cout << 
"      " << ci+1 << 
") ";
 
  168       if(ptProcManager != 0)
 
  176     G4cout << 
"    ++List of secondaries generated " 
  177     << 
"(x,y,z,kE,t,PID):" 
  178     << 
"  No. of secodaries = " 
  179     << (*fSecondary).size() << 
G4endl;
 
  181     if((*fSecondary).size()>0)
 
  183       for(
size_t lp1=0; lp1<(*fSecondary).size(); lp1++)
 
  187         << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().
x(),
"Length") << 
" " 
  189         << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().y(),
"Length") << 
" " 
  191         << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().
z(),
"Length") << 
" " 
  193         << 
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),
"Energy") << 
" " 
  195         << 
G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(),
"Time") << 
" " 
  197         << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() << 
G4endl;
 
  206   if(fVerboseLevel == 0)
 
  215   if(fVerboseLevel >= 3)
 
  225       G4cout << 
" **PostStepDoIt (after all invocations):" << 
G4endl;
 
  228       for(
size_t np = 0; np < MAXofPostStepLoops; np++)
 
  230         size_t npGPIL = MAXofPostStepLoops - np - 1;
 
  231         if((*fSelectedPostStepDoItVector)[npGPIL] == 2)
 
  234           ptProcManager = (*fPostStepDoItVector)[np];
 
  238         else if ( (*fSelectedPostStepDoItVector)[npGPIL] == 1)
 
  241           ptProcManager = (*fPostStepDoItVector)[np];
 
  242           G4cout << 
"      " << npt << 
") " 
  249       G4cout << 
"    ++List of secondaries generated " << 
"(x,y,z,kE,t,PID):" 
  250              << 
"  No. of secodaries = " << (*fSecondary).size() << 
G4endl;
 
  251       G4cout << 
"      [Note]Secondaries from AlongStepDoIt included." << 
G4endl;
 
  253       if((*fSecondary).size() > 0)
 
  255         for(
size_t lp1 = 0; lp1 < (*fSecondary).size(); lp1++)
 
  257           G4cout << 
"      " << std::setw(9)
 
  258                  << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().
x(), 
"Length")
 
  259                  << 
" " << std::setw(9)
 
  260                  << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().y(), 
"Length")
 
  261                  << 
" " << std::setw(9)
 
  262                  << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().
z(), 
"Length")
 
  263                  << 
" " << std::setw(9)
 
  264                  << 
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(), 
"Energy")
 
  265                  << 
" " << std::setw(9)
 
  266                  << 
G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(), 
"Time")
 
  267                  << 
" " << std::setw(18)
 
  268                  << (*fSecondary)[lp1]->GetDefinition()->GetParticleName()
 
  280   if(fVerboseLevel == 0)
 
  285   if(fVerboseLevel < 2)
 
  291     if(fVerboseLevel >= 4) VerboseTrack();
 
  292     if(fVerboseLevel >= 3)
 
  296 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE 
  297       G4cout << std::setw( 5) << 
"#TrackID" << 
" " 
  298       << std::setw( 5) << 
"#Step#" << 
" " 
  299       << std::setw( 8) << 
"X" << 
"     " << std::setw( 8) << 
"Y" << 
"     " 
  300       << std::setw( 8) << 
"Z" << 
"     " 
  301       << std::setw( 9) << 
"KineE" << 
"     " << std::setw( 8) << 
"dE" << 
"     " 
  302       << std::setw(12) << 
"StepLeng" << 
" " << std::setw(12) << 
"TrackLeng" << 
" " 
  303       << std::setw(12) << 
"NextVolume" << 
" " << std::setw( 8) << 
"ProcName" << 
G4endl;
 
  305       G4cout << std::setw( 5) << 
"#TrackID" << 
" " 
  306       << std::setw( 5) << 
"#Step#" << 
" " 
  307       << std::setw( 8) << 
"X(mm)" << 
" " << std::setw( 8) << 
"Y(mm)" << 
" " 
  308       << std::setw( 8) << 
"Z(mm)" << 
" " 
  309       << std::setw( 9) << 
"KinE(MeV)" << 
" " << std::setw( 8) << 
"dE(MeV)" << 
" " 
  310       << std::setw( 8) << 
"StepLeng" << 
" " << std::setw( 9) << 
"TrackLeng" << 
" " 
  311       << std::setw(11) << 
"NextVolume" << 
" " << std::setw( 8) << 
"ProcName" << 
G4endl;
 
  314     G4cout << std::setw(5) << fTrack->GetTrackID() << 
" " << std::setw(5)
 
  315            << fTrack->GetCurrentStepNumber() << 
" " << std::setw(8)
 
  316            << 
G4BestUnit(fTrack->GetPosition().x(), 
"Length") << 
" " 
  317            << std::setw(8) << 
G4BestUnit(fTrack->GetPosition().y(), 
"Length")
 
  318            << 
" " << std::setw(8)
 
  319            << 
G4BestUnit(fTrack->GetPosition().z(), 
"Length") << 
" " 
  320            << std::setw(9) << 
G4BestUnit(fTrack->GetKineticEnergy(), 
"Energy")
 
  321            << 
" " << std::setw(8)
 
  322            << 
G4BestUnit(fStep->GetTotalEnergyDeposit(), 
"Energy") << 
" " 
  323            << std::setw(8) << 
G4BestUnit(fStep->GetStepLength(), 
"Length")
 
  324            << 
" " << std::setw(9)
 
  325            << 
G4BestUnit(fTrack->GetTrackLength(), 
"Length") << 
" ";
 
  328     if(fTrack->GetNextVolume() != 0)
 
  330       G4cout << std::setw(11) << fTrack->GetNextVolume()->GetName() << 
" ";
 
  334       G4cout << std::setw(11) << 
"OutOfWorld" << 
" ";
 
  336     if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != 0)
 
  339           << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
 
  347     if(fVerboseLevel == 2)
 
  349       G4int tN2ndariesTot = fN2ndariesAtRestDoIt + fN2ndariesAlongStepDoIt
 
  350                             + fN2ndariesPostStepDoIt;
 
  351       if(tN2ndariesTot > 0)
 
  353         G4cout << 
"    :----- List of 2ndaries - " << 
"#SpawnInStep=" 
  354                << std::setw(3) << tN2ndariesTot << 
"(Rest=" << std::setw(2)
 
  355                << fN2ndariesAtRestDoIt << 
",Along=" << std::setw(2)
 
  356                << fN2ndariesAlongStepDoIt << 
",Post=" << std::setw(2)
 
  357                << fN2ndariesPostStepDoIt << 
"), " << 
"#SpawnTotal=" 
  358                << std::setw(3) << (*fSecondary).size() << 
" ---------------" 
  361         for(
size_t lp1=(*fSecondary).size()-tN2ndariesTot; lp1<(*fSecondary).size(); lp1++)
 
  365           << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().
x() , 
"Length")<< 
" " 
  367           << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().y() , 
"Length")<< 
" " 
  369           << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().
z() , 
"Length") << 
" " 
  371           << 
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy() , 
"Energy")<< 
" " 
  373           << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() << 
G4endl;
 
  375         G4cout << 
"    :-----------------------------" << 
"----------------------------------" 
  376         << 
"-- EndOf2ndaries Info ---------------" << 
G4endl;
 
  386   if(fVerboseLevel < 2)
 
  395   if(fVerboseLevel >= 4) VerboseTrack();
 
  396   if(fVerboseLevel >= 3)
 
  400 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE       
  401     G4cout << std::setw( 5) << 
"#TrackID" << 
" " 
  402     << std::setw( 5) << 
"#Step#" << 
" " 
  403     << std::setw( 8) << 
"X" << 
"     " << std::setw( 8) << 
"Y" << 
"     " 
  404     << std::setw( 8) << 
"Z" << 
"     " 
  405     << std::setw( 9) << 
"KineE" << 
"     " << std::setw( 8) << 
"dE" << 
"     " 
  406     << std::setw(12) << 
"StepLeng" << 
" " << std::setw(12) << 
"TrackLeng" << 
" " 
  407     << std::setw(12) << 
"NextVolume" << 
" " << std::setw( 8) << 
"ProcName" << 
G4endl;
 
  409     G4cout << std::setw( 5) << 
"#TrackID" << 
" " 
  410     << std::setw( 5) << 
"#Step#" << 
" " 
  411     << std::setw( 8) << 
"X(mm)" << 
" " << std::setw( 8) << 
"Y(mm)" << 
" " 
  412     << std::setw( 8) << 
"Z(mm)" << 
" " 
  413     << std::setw( 9) << 
"KinE(MeV)" << 
" " << std::setw( 8) << 
"dE(MeV)" << 
" " 
  414     << std::setw( 8) << 
"StepLeng" << 
" " << std::setw( 9) << 
"TrackLeng" << 
" " 
  415     << std::setw(11) << 
"NextVolume" << 
" " << std::setw( 8) << 
"ProcName" << 
G4endl;
 
  418   G4cout << std::setw(5) << fTrack->GetTrackID() << 
" " << std::setw(5)
 
  419          << fTrack->GetCurrentStepNumber() << 
" " << std::setw(8)
 
  420          << 
G4BestUnit(fTrack->GetPosition().x(), 
"Length") << 
" " 
  421          << std::setw(8) << 
G4BestUnit(fTrack->GetPosition().y(), 
"Length")
 
  422          << 
" " << std::setw(8)
 
  423          << 
G4BestUnit(fTrack->GetPosition().z(), 
"Length") << 
" " 
  424          << std::setw(9) << 
G4BestUnit(fTrack->GetKineticEnergy(), 
"Energy")
 
  425          << 
" " << std::setw(8)
 
  426          << 
G4BestUnit(fStep->GetTotalEnergyDeposit(), 
"Energy") << 
" " 
  427          << std::setw(8) << 
G4BestUnit(fStep->GetStepLength(), 
"Length") << 
" " 
  428          << std::setw(9) << 
G4BestUnit(fTrack->GetTrackLength(), 
"Length")
 
  432   if(fTrack->GetNextVolume() != 0)
 
  434     G4cout << std::setw(11) << fTrack->GetNextVolume()->GetName() << 
" ";
 
  438     G4cout << std::setw(11) << 
"OutOfWorld" << 
" ";
 
  440   if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != 0)
 
  443         << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
 
  450   if(fVerboseLevel == 2)
 
  452     G4int tN2ndariesTot = fN2ndariesAtRestDoIt + fN2ndariesAlongStepDoIt
 
  453                           + fN2ndariesPostStepDoIt;
 
  454     if(tN2ndariesTot > 0)
 
  456       G4cout << 
"    :----- List of 2ndaries - " << 
"#SpawnInStep=" 
  457              << std::setw(3) << tN2ndariesTot << 
"(Rest=" << std::setw(2)
 
  458              << fN2ndariesAtRestDoIt << 
",Along=" << std::setw(2)
 
  459              << fN2ndariesAlongStepDoIt << 
",Post=" << std::setw(2)
 
  460              << fN2ndariesPostStepDoIt << 
"), " << 
"#SpawnTotal=" 
  461              << std::setw(3) << (*fSecondary).size() << 
" ---------------" 
  464       for(
size_t lp1=(*fSecondary).size()-tN2ndariesTot; lp1<(*fSecondary).size(); lp1++)
 
  468         << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().
x() , 
"Length")<< 
" " 
  470         << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().y() , 
"Length")<< 
" " 
  472         << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().
z() , 
"Length") << 
" " 
  474         << 
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy() , 
"Energy")<< 
" " 
  476         << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() << 
G4endl;
 
  478       G4cout << 
"    :-----------------------------" << 
"----------------------------------" 
  479       << 
"-- EndOf2ndaries Info ---------------" << 
G4endl;
 
  490   if(fVerboseLevel == 0)
 
  496   if(fVerboseLevel > 5)
 
  498     G4cout << 
G4endl<< 
" >>DefinePhysicalStepLength (List of proposed StepLengths): " << 
G4endl;
 
  505   if(fVerboseLevel == 0)
 
  511   if(fVerboseLevel > 5)
 
  514     G4cout << 
"=== Defined Physical Step Length (DPSL)" << 
G4endl;
 
  515     G4cout << 
"    ++ProposedStep(UserLimit) = " << std::setw( 9) << physIntLength
 
  516     << 
" : ProcName = User defined maximum allowed Step" << 
G4endl;
 
  523   if(fVerboseLevel == 0)
 
  528   if(fVerboseLevel > 5)
 
  532     G4cout << 
"    ++ProposedStep(PostStep ) = " << std::setw(9)
 
  533            << physIntLength << 
" : ProcName = " 
  534            << fCurrentProcess->GetProcessName() << 
" (";
 
  547     else if(fCondition==
Forced)
 
  561   if(fVerboseLevel == 0)
 
  566   if(fVerboseLevel > 5)
 
  570     G4cout << 
"    ++ProposedStep(AlongStep) = " << std::setw(9)
 
  571            << 
G4BestUnit(physIntLength, 
"Length") << 
" : ProcName = " 
  572            << fCurrentProcess->GetProcessName() << 
" (";
 
  592   if(fVerboseLevel <= 1)
 
  598   if(fVerboseLevel > 0)
 
  621     G4cout << 
"Start tracking : " 
  623            << 
" (" << fTrack->GetTrackID() << 
") from position " 
  625            << 
G4BestUnit(fTrack->GetPosition().x(), 
"Length") << 
" " 
  627            << 
G4BestUnit(fTrack->GetPosition().y(), 
"Length") << 
" " 
  629            << 
G4BestUnit(fTrack->GetPosition().z(), 
"Length") << 
" ";
 
  644     if(fTrack->GetNextVolume())
 
  646       G4cout << std::setw(11) << fTrack->GetNextVolume()->GetName() << 
" ";
 
  650       G4cout << std::setw(11) << 
"OutOfWorld" << 
" ";
 
  661   if(fVerboseLevel <= 1) 
return;
 
  663   G4cout << 
" * End tracking : " << 
"   Particle : " 
  679   if(fVerboseLevel < 4)
 
  687   G4cout << 
" >>AlongStepDoIt (process by process): " << 
"   Process Name = " 
  688          << fCurrentProcess->GetProcessName() << 
G4endl;
 
  691   G4cout << 
"          " << 
"!Note! Safety of PostStep is only valid " 
  692          << 
"after all DoIt invocations." << 
G4endl;
 
  694   VerboseParticleChange();
 
  697   G4cout << 
"    ++List of secondaries generated " << 
"(x,y,z,kE,t,PID):" 
  698          << 
"  No. of secodaries = " << fN2ndariesAlongStepDoIt << 
G4endl;
 
  700   if(fN2ndariesAlongStepDoIt > 0)
 
  702     for(
size_t lp1 = (*fSecondary).size() - fN2ndariesAlongStepDoIt;
 
  703         lp1 < (*fSecondary).size(); lp1++)
 
  705       G4cout << 
"      " << std::setw(9)
 
  706              << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().
x(), 
"Length")
 
  707              << 
" " << std::setw(9)
 
  708              << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().y(), 
"Length")
 
  709              << 
" " << std::setw(9)
 
  710              << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().
z(), 
"Length")
 
  711              << 
" " << std::setw(9)
 
  712              << 
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(), 
"Energy")
 
  713              << 
" " << std::setw(9)
 
  714              << 
G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(), 
"Time") << 
" " 
  716              << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() << 
G4endl;
 
  724   if(fVerboseLevel < 4)
 
  731   G4cout << 
" >>PostStepDoIt (process by process): " << 
"   Process Name = " 
  732          << fCurrentProcess->GetProcessName() << 
G4endl;
 
  736   VerboseParticleChange();
 
  739   G4cout << 
"    ++List of secondaries generated " << 
"(x,y,z,kE,t,PID):" 
  740          << 
"  No. of secodaries = " << fN2ndariesPostStepDoIt << 
G4endl;
 
  742   if(fN2ndariesPostStepDoIt > 0)
 
  744     for(
size_t lp1 = (*fSecondary).size() - fN2ndariesPostStepDoIt;
 
  745         lp1 < (*fSecondary).size(); lp1++)
 
  747       G4cout << 
"      " << std::setw(9)
 
  748              << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().
x(), 
"Length")
 
  749              << 
" " << std::setw(9)
 
  750              << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().y(), 
"Length")
 
  751              << 
" " << std::setw(9)
 
  752              << 
G4BestUnit((*fSecondary)[lp1]->GetPosition().
z(), 
"Length")
 
  753              << 
" " << std::setw(9)
 
  754              << 
G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(), 
"Energy")
 
  755              << 
" " << std::setw(9)
 
  756              << 
G4BestUnit((*fSecondary)[lp1]->GetGlobalTime(), 
"Time") << 
" " 
  758              << (*fSecondary)[lp1]->GetDefinition()->GetParticleName() << 
G4endl;
 
  767   if(fVerboseLevel == 0)
 
  778   G4cout << 
"      -----------------------------------------------" << 
G4endl;
 
  779   G4cout << 
"        G4Track Information  " << std::setw(20) << 
G4endl;
 
  780   G4cout << 
"      -----------------------------------------------" << 
G4endl;
 
  782   G4cout << 
"        Step number         : " << std::setw(20)
 
  783          << fTrack->GetCurrentStepNumber() << 
G4endl;
 
  784 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE 
  785   G4cout << 
"        Position - x        : " << std::setw(20)
 
  786          << 
G4BestUnit(fTrack->GetPosition().x(), 
"Length") << G4endl;
 
  787   G4cout << 
"        Position - y        : " << std::setw(20)
 
  788          << 
G4BestUnit(fTrack->GetPosition().y(), 
"Length") << G4endl;
 
  789   G4cout << 
"        Position - z        : " << std::setw(20)
 
  790          << 
G4BestUnit(fTrack->GetPosition().z(), 
"Length") << G4endl;
 
  791   G4cout << 
"        Global Time         : " << std::setw(20)
 
  792          << 
G4BestUnit(fTrack->GetGlobalTime(), 
"Time") << G4endl;
 
  793   G4cout << 
"        Local Time          : " << std::setw(20)
 
  794          << 
G4BestUnit(fTrack->GetLocalTime(), 
"Time") << G4endl;
 
  796   G4cout << 
"        Position - x (mm)   : " << std::setw(20)
 
  797   << fTrack->GetPosition().x() / 
mm << 
G4endl;
 
  798   G4cout << 
"        Position - y (mm)   : " << std::setw(20)
 
  799   << fTrack->GetPosition().y() / 
mm << 
G4endl;
 
  800   G4cout << 
"        Position - z (mm)   : " << std::setw(20)
 
  801   << fTrack->GetPosition().z() / 
mm << 
G4endl;
 
  802   G4cout << 
"        Global Time (ns)    : " << std::setw(20)
 
  803   << fTrack->GetGlobalTime() / 
ns << 
G4endl;
 
  804   G4cout << 
"        Local Time (ns)     : " << std::setw(20)
 
  805   << fTrack->GetLocalTime() / 
ns << 
G4endl;
 
  807   G4cout << 
"        Momentum Direct - x : " << std::setw(20)
 
  808          << fTrack->GetMomentumDirection().x() << 
G4endl;
 
  809   G4cout << 
"        Momentum Direct - y : " << std::setw(20)
 
  810          << fTrack->GetMomentumDirection().y() << 
G4endl;
 
  811   G4cout << 
"        Momentum Direct - z : " << std::setw(20)
 
  812          << fTrack->GetMomentumDirection().z() << 
G4endl;
 
  813 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE 
  814   G4cout << 
"        Kinetic Energy      : " 
  816          G4cout << 
"        Kinetic Energy (MeV): " 
  819          << 
G4BestUnit(fTrack->GetKineticEnergy(), 
"Energy") << G4endl;
 
  820   G4cout << 
"        Polarization - x    : " << std::setw(20)
 
  821          << fTrack->GetPolarization().x() << 
G4endl;
 
  822   G4cout << 
"        Polarization - y    : " << std::setw(20)
 
  823          << fTrack->GetPolarization().y() << 
G4endl;
 
  824   G4cout << 
"        Polarization - z    : " << std::setw(20)
 
  825          << fTrack->GetPolarization().z() << 
G4endl;
 
  826   G4cout << 
"        Track Length        : " << std::setw(20)
 
  827          << 
G4BestUnit(fTrack->GetTrackLength(), 
"Length") << G4endl;
 
  828   G4cout << 
"        Track ID #          : " << std::setw(20)
 
  829          << fTrack->GetTrackID() << 
G4endl;
 
  830   G4cout << 
"        Parent Track ID #   : " << std::setw(20)
 
  831          << fTrack->GetParentID() << 
G4endl;
 
  832   G4cout << 
"        Next Volume         : " << std::setw(20);
 
  833   if(fTrack->GetNextVolume() != 0)
 
  835     G4cout << fTrack->GetNextVolume()->GetName() << 
" ";
 
  839     G4cout << 
"OutOfWorld" << 
" ";
 
  842   G4cout << 
"        Track Status        : " << std::setw(20);
 
  843   if(fTrack->GetTrackStatus() == 
fAlive)
 
  849     G4cout << 
" StopButAlive";
 
  857     G4cout << 
" KillTrackAndSecondaries";
 
  859   else if(fTrack->GetTrackStatus() == 
fSuspend)
 
  865     G4cout << 
" PostponeToNextEvent";
 
  868 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE 
  869   G4cout << 
"        Vertex - x          : " << std::setw(20)
 
  870          << 
G4BestUnit(fTrack->GetVertexPosition().x(), 
"Length") << G4endl;
 
  871   G4cout << 
"        Vertex - y          : " << std::setw(20)
 
  872          << 
G4BestUnit(fTrack->GetVertexPosition().y(), 
"Length") << G4endl;
 
  873   G4cout << 
"        Vertex - z          : " << std::setw(20)
 
  874          << 
G4BestUnit(fTrack->GetVertexPosition().z(), 
"Length") << G4endl;
 
  876   G4cout << 
"        Vertex - x (mm)     : " << std::setw(20)
 
  877   << fTrack->GetVertexPosition().x() / 
mm << 
G4endl;
 
  878   G4cout << 
"        Vertex - y (mm)     : " << std::setw(20)
 
  879   << fTrack->GetVertexPosition().y() / 
mm << 
G4endl;
 
  880   G4cout << 
"        Vertex - z (mm)     : " << std::setw(20)
 
  881   << fTrack->GetVertexPosition().z() / 
mm << 
G4endl;
 
  883   G4cout << 
"        Vertex - Px (MomDir): " << std::setw(20)
 
  884          << fTrack->GetVertexMomentumDirection().x() << 
G4endl;
 
  885   G4cout << 
"        Vertex - Py (MomDir): " << std::setw(20)
 
  886          << fTrack->GetVertexMomentumDirection().y() << 
G4endl;
 
  887   G4cout << 
"        Vertex - Pz (MomDir): " << std::setw(20)
 
  888          << fTrack->GetVertexMomentumDirection().z() << 
G4endl;
 
  889 #ifdef G4_USE_G4BESTUNIT_FOR_VERBOSE 
  890   G4cout << 
"        Vertex - KineE      : " 
  892          G4cout << 
"        Vertex - KineE (MeV): " 
  895          << 
G4BestUnit(fTrack->GetVertexKineticEnergy(), 
"Energy") << G4endl;
 
  897   G4cout << 
"        Creator Process     : " << std::setw(20);
 
  898   if(fTrack->GetCreatorProcess() == 0)
 
  904     G4cout << fTrack->GetCreatorProcess()->GetProcessName() << 
G4endl;
 
  907   G4cout << 
"      -----------------------------------------------" << 
G4endl;
 
  916   if(fVerboseLevel == 0)
 
  923   fParticleChange->DumpInfo();
 
  929   if(fVerboseLevel == 0)
 
  940   oldprc = 
G4cout.precision(16);
 
  943   G4cout << 
"      Address of G4Track    : " << fStep->GetTrack() << 
G4endl;
 
  944   G4cout << 
"      Step Length (mm)      : " 
  945          << fStep->GetTrack()->GetStepLength() << 
G4endl;
 
  946   G4cout << 
"      Energy Deposit (MeV)  : " << fStep->GetTotalEnergyDeposit()
 
  950   G4cout << 
"      -------------------------------------------------------" 
  951          << 
"----------------" << 
G4endl;
 
  952   G4cout << 
"        StepPoint Information  " << std::setw(20) << 
"PreStep" 
  953          << std::setw(20) << 
"PostStep" << 
G4endl;
 
  954   G4cout << 
"      -------------------------------------------------------" 
  955          << 
"----------------" << 
G4endl;
 
  956   G4cout << 
"         Position - x (mm)   : " << std::setw(20)
 
  957          << fStep->GetPreStepPoint()->GetPosition().x() << std::setw(20)
 
  958          << fStep->GetPostStepPoint()->GetPosition().x() << 
G4endl;
 
  959   G4cout << 
"         Position - y (mm)   : " << std::setw(20)
 
  960          << fStep->GetPreStepPoint()->GetPosition().y() << std::setw(20)
 
  961          << fStep->GetPostStepPoint()->GetPosition().y() << 
G4endl;
 
  962   G4cout << 
"         Position - z (mm)   : " << std::setw(20)
 
  963          << fStep->GetPreStepPoint()->GetPosition().z() << std::setw(20)
 
  964          << fStep->GetPostStepPoint()->GetPosition().z() << 
G4endl;
 
  965   G4cout << 
"         Global Time (ns)    : " << std::setw(20)
 
  966          << fStep->GetPreStepPoint()->GetGlobalTime() << std::setw(20)
 
  967          << fStep->GetPostStepPoint()->GetGlobalTime() << 
G4endl;
 
  968   G4cout << 
"         Local Time (ns)     : " << std::setw(20)
 
  969          << fStep->GetPreStepPoint()->GetLocalTime() << std::setw(20)
 
  970          << fStep->GetPostStepPoint()->GetLocalTime() << 
G4endl;
 
  971   G4cout << 
"         Proper Time (ns)    : " << std::setw(20)
 
  972          << fStep->GetPreStepPoint()->GetProperTime() << std::setw(20)
 
  973          << fStep->GetPostStepPoint()->GetProperTime() << 
G4endl;
 
  974   G4cout << 
"         Momentum Direct - x : " << std::setw(20)
 
  975          << fStep->GetPreStepPoint()->GetMomentumDirection().x()
 
  977          << fStep->GetPostStepPoint()->GetMomentumDirection().x() << 
G4endl;
 
  978   G4cout << 
"         Momentum Direct - y : " << std::setw(20)
 
  979          << fStep->GetPreStepPoint()->GetMomentumDirection().y()
 
  981          << fStep->GetPostStepPoint()->GetMomentumDirection().y() << 
G4endl;
 
  982   G4cout << 
"         Momentum Direct - z : " << std::setw(20)
 
  983          << fStep->GetPreStepPoint()->GetMomentumDirection().z()
 
  985          << fStep->GetPostStepPoint()->GetMomentumDirection().z() << 
G4endl;
 
  986   G4cout << 
"         Momentum - x (MeV/c): " << std::setw(20)
 
  987          << fStep->GetPreStepPoint()->GetMomentum().x() << std::setw(20)
 
  988          << fStep->GetPostStepPoint()->GetMomentum().x() << 
G4endl;
 
  989   G4cout << 
"         Momentum - y (MeV/c): " << std::setw(20)
 
  990          << fStep->GetPreStepPoint()->GetMomentum().y() << std::setw(20)
 
  991          << fStep->GetPostStepPoint()->GetMomentum().y() << 
G4endl;
 
  992   G4cout << 
"         Momentum - z (MeV/c): " << std::setw(20)
 
  993          << fStep->GetPreStepPoint()->GetMomentum().z() << std::setw(20)
 
  994          << fStep->GetPostStepPoint()->GetMomentum().z() << 
G4endl;
 
  995   G4cout << 
"         Total Energy (MeV)  : " << std::setw(20)
 
  996          << fStep->GetPreStepPoint()->GetTotalEnergy() << std::setw(20)
 
  997          << fStep->GetPostStepPoint()->GetTotalEnergy() << 
G4endl;
 
  998   G4cout << 
"         Kinetic Energy (MeV): " << std::setw(20)
 
  999          << fStep->GetPreStepPoint()->GetKineticEnergy() << std::setw(20)
 
 1000          << fStep->GetPostStepPoint()->GetKineticEnergy() << 
G4endl;
 
 1001   G4cout << 
"         Velocity (mm/ns)    : " << std::setw(20)
 
 1002          << fStep->GetPreStepPoint()->GetVelocity() << std::setw(20)
 
 1003          << fStep->GetPostStepPoint()->GetVelocity() << 
G4endl;
 
 1004   G4cout << 
"         Volume Name         : " << std::setw(20)
 
 1005          << fStep->GetPreStepPoint()->GetPhysicalVolume()->GetName();
 
 1006   if(fStep->GetPostStepPoint()->GetPhysicalVolume())
 
 1008     volName = fStep->GetPostStepPoint()->GetPhysicalVolume()->GetName();
 
 1012     volName = 
"OutOfWorld";
 
 1015   G4cout << 
"         Safety (mm)         : " << std::setw(20)
 
 1016          << fStep->GetPreStepPoint()->GetSafety() << std::setw(20)
 
 1017          << fStep->GetPostStepPoint()->GetSafety() << 
G4endl;
 
 1018   G4cout << 
"         Polarization - x    : " << std::setw(20)
 
 1019          << fStep->GetPreStepPoint()->GetPolarization().x() << std::setw(20)
 
 1020          << fStep->GetPostStepPoint()->GetPolarization().x() << 
G4endl;
 
 1021   G4cout << 
"         Polarization - y    : " << std::setw(20)
 
 1022          << fStep->GetPreStepPoint()->GetPolarization().y() << std::setw(20)
 
 1023          << fStep->GetPostStepPoint()->GetPolarization().y() << 
G4endl;
 
 1024   G4cout << 
"         Polarization - Z    : " << std::setw(20)
 
 1025          << fStep->GetPreStepPoint()->GetPolarization().z() << std::setw(20)
 
 1026          << fStep->GetPostStepPoint()->GetPolarization().z() << 
G4endl;
 
 1027   G4cout << 
"         Weight              : " << std::setw(20)
 
 1028          << fStep->GetPreStepPoint()->GetWeight() << std::setw(20)
 
 1029          << fStep->GetPostStepPoint()->GetWeight() << 
G4endl;
 
 1030   G4cout << 
"         Step Status         : ";
 
 1031   G4StepStatus tStepStatus = fStep->GetPreStepPoint()->GetStepStatus();
 
 1034     G4cout << std::setw(20) << 
"Geom Limit";
 
 1038     G4cout << std::setw(20) << 
"AlongStep Proc.";
 
 1042     G4cout << std::setw(20) << 
"PostStep Proc";
 
 1046     G4cout << std::setw(20) << 
"AtRest Proc";
 
 1050     G4cout << std::setw(20) << 
"Undefined";
 
 1053   tStepStatus = fStep->GetPostStepPoint()->GetStepStatus();
 
 1056     G4cout << std::setw(20) << 
"Geom Limit";
 
 1060     G4cout << std::setw(20) << 
"AlongStep Proc.";
 
 1064     G4cout << std::setw(20) << 
"PostStep Proc";
 
 1068     G4cout << std::setw(20) << 
"AtRest Proc";
 
 1072     G4cout << std::setw(20) << 
"Undefined";
 
 1076   G4cout << 
"         Process defined Step: ";
 
 1077   if(fStep->GetPreStepPoint()->GetProcessDefinedStep() == 0)
 
 1079     G4cout << std::setw(20) << 
"Undefined";
 
 1085         << fStep->GetPreStepPoint()->GetProcessDefinedStep()->GetProcessName();
 
 1087   if(fStep->GetPostStepPoint()->GetProcessDefinedStep() == 0)
 
 1089     G4cout << std::setw(20) << 
"Undefined";
 
 1095         << fStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
 
 1097   G4cout.precision(oldprc);
 
 1100   G4cout << 
"      -------------------------------------------------------" 
 1101          << 
"----------------" << 
G4endl;
 
 1106   if(fVerboseLevel <= 0) 
return;
 
 1113   G4cout << std::setw(18) << 
left << 
"#Name" << std::setw(15) << 
"trackID" 
 1114          << std::setw(35) << 
"Position" << std::setw(25) << 
"Pre step volume" 
 1115          << std::setw(25) << 
"Post step volume" << std::setw(22) << 
"Process" 
 1124   if(fVerboseLevel <= 0) 
return;
 
 1149   if(nextTouchable && (volume = nextTouchable->
GetVolume()))
 
 1151     volumeName = volume->
GetName();
 
 1161     volumeName = 
"OutOfWorld";
 
 1165          << track->
GetTrackID() << std::setprecision(3) << setw(35)
 
 1167          << volumeName << setw(25) << 
"---" << 
G4endl;
 
 1173   if(fVerboseLevel <= 0) 
return;
 
 1181          << track->
GetTrackID() << std::setprecision(3) << setw(35)
 
 1188   if(nextTouchable && (volume = nextTouchable->
GetVolume()))
 
 1198     G4cout << setw(25) << volumeName;
 
 1202     G4cout << setw(25) << 
"OutOfWorld";
 
 1217   if(fVerboseLevel > 2)
 
 1222       if(secondaries->empty() == 
false)
 
 1225         for(
size_t j = 0; j < secondaries->size(); ++j)
 
 1228                  << (*secondaries)[j]->GetTrackID() << 
")" << 
" ";
 
 1242   G4cout << 
" Invoke at rest process : " 
 1243           << fCurrentProcess->GetProcessName()
 
void AtRestDoItOneByOne()
 
G4ParticleDefinition * GetDefinition() const 
 
static constexpr double mm
 
virtual G4bool IsReplicated() const =0
 
void PostStepDoItAllDone()
 
const G4ThreeVector & GetPosition() const 
 
void TrackingEnded(G4Track *)
 
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1 
 
virtual const G4String & GetName() const =0
 
const G4ThreeVector const G4double const
 
const G4Step * GetStep() const 
 
void PostStepDoItOneByOne()
 
const G4String & GetParticleName() const 
 
G4VPhysicalVolume * GetNextVolume() const 
 
void TrackingStarted(G4Track *)
 
void AlongStepDoItAllDone()
 
G4IT * GetIT(const G4Track *track)
 
G4GLOB_DLL std::ostream G4cout
 
const G4String & GetName() const 
 
const G4TouchableHandle & GetNextTouchableHandle() const 
 
G4double GetGlobalTime() const 
 
const G4String & GetProcessName() const 
 
virtual G4bool IsParameterised() const =0
 
void StepInfoForLeadingTrack()
 
const G4VProcess * GetProcessDefinedStep() const 
 
void VerboseParticleChange()
 
void AlongStepDoItOneByOne()
 
std::vector< G4Track * > G4TrackVector
 
virtual G4VPhysicalVolume * GetVolume(G4int depth=0) const 
 
G4StepPoint * GetPostStepPoint() const 
 
virtual G4int GetReplicaNumber(G4int depth=0) const 
 
void PostStepVerbose(G4Track *track)
 
const G4TrackVector * GetSecondary() const 
 
void PreStepVerbose(G4Track *track)