G4VSteppingVerbose.cc

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 //
00027 // $Id: G4VSteppingVerbose.cc 67009 2013-01-29 16:00:21Z gcosmo $
00028 //
00029 //---------------------------------------------------------------
00030 //
00031 // G4VSteppingVerbose.cc
00032 //
00033 // Description:
00034 //   This class manages the vervose outputs in G4SteppingManager. 
00035 //   
00036 //
00037 // Contact:
00038 //   Questions and comments to this code should be sent to
00039 //     Katsuya Amako  (e-mail: Katsuya.Amako@kek.jp)
00040 //     Takashi Sasaki (e-mail: Takashi.Sasaki@kek.jp)
00041 //
00042 //---------------------------------------------------------------
00043 
00044 #include "G4VSteppingVerbose.hh"
00045 #include "G4SteppingManager.hh"
00046 #include "G4Track.hh"
00047 #include "G4ParticleDefinition.hh"
00048 
00049 G4VSteppingVerbose* G4VSteppingVerbose::fInstance = 0;
00050 G4int G4VSteppingVerbose::Silent = 0;
00051 G4int G4VSteppingVerbose::SilentStepInfo = 0;
00052 
00053 G4VSteppingVerbose::G4VSteppingVerbose()
00054   : fManager(0), fUserSteppingAction(0), 
00055     PhysicalStep(0.), GeometricalStep(0.), CorrectedStep(0.),
00056     PreStepPointIsGeom(false), FirstStep(false),
00057     TempInitVelocity(0.), TempVelocity(0.), Mass(0.), sumEnergyChange(0.),
00058     fParticleChange(0), fTrack(0), fSecondary(0), fStep(0), 
00059     fPreStepPoint(0), fPostStepPoint(0), fCurrentVolume(0),
00060     fSensitive(0), fCurrentProcess(0), fAtRestDoItVector(0),
00061     fAlongStepDoItVector(0), fPostStepDoItVector(0), fAtRestGetPhysIntVector(0),
00062     fAlongStepGetPhysIntVector(0), fPostStepGetPhysIntVector(0),
00063     MAXofAtRestLoops(0), MAXofAlongStepLoops(0), MAXofPostStepLoops(0),
00064     currentMinimumStep(0.), numberOfInteractionLengthLeft(0.),
00065     fAtRestDoItProcTriggered(0), fAlongStepDoItProcTriggered(0),
00066     fPostStepDoItProcTriggered(0), fN2ndariesAtRestDoIt(0),
00067     fN2ndariesAlongStepDoIt(0), fN2ndariesPostStepDoIt(0),
00068     fNavigator(0), verboseLevel(0), fSelectedAtRestDoItVector(0),
00069     fSelectedAlongStepDoItVector(0), fSelectedPostStepDoItVector(0),
00070     fPreviousStepSize(0.), physIntLength(0.)
00071 {
00072   if(fInstance!= 0)
00073   {
00074     G4Exception("G4VSteppingVerbose::G4VSteppingVerbose()",
00075                 "Tracking0014", FatalException,
00076                 "Only one SteppingVerbose class can be instantiated.");
00077   }
00078 }
00079 G4VSteppingVerbose::~G4VSteppingVerbose(){;}
00080 
00082 void G4VSteppingVerbose::SetManager(G4SteppingManager* const fMan)
00084 {
00085   fManager=fMan;
00086 }
00087 
00089 void G4VSteppingVerbose::CopyState()
00091 {
00092 
00093    fUserSteppingAction = fManager->GetUserAction();
00094    //   fVerbose = this;
00095 
00096    PhysicalStep = fManager->GetPhysicalStep();
00097    GeometricalStep = fManager->GetGeometricalStep();
00098    CorrectedStep = fManager->GetCorrectedStep();
00099    PreStepPointIsGeom = fManager->GetPreStepPointIsGeom();
00100    FirstStep = fManager->GetFirstStep();
00101    fStepStatus = fManager->GetfStepStatus();
00102 
00103    TempInitVelocity = fManager->GetTempInitVelocity();
00104    TempVelocity = fManager->GetTempVelocity();
00105    Mass = fManager->GetMass();
00106 
00107    sumEnergyChange = fManager->GetsumEnergyChange();
00108 
00109    fParticleChange = fManager->GetfParticleChange();
00110    fTrack = fManager->GetfTrack(); 
00111    fSecondary = fManager->GetfSecondary();
00112    fStep = fManager->GetfStep();
00113    fPreStepPoint = fManager->GetfPreStepPoint();
00114    fPostStepPoint = fManager->GetfPostStepPoint();
00115 
00116    fCurrentVolume = fManager->GetfCurrentVolume();
00117    fSensitive = fManager->GetfSensitive();
00118    fCurrentProcess = fManager->GetfCurrentProcess();
00119 
00120    fAtRestDoItVector = fManager->GetfAtRestDoItVector(); 
00121    fAlongStepDoItVector = fManager->GetfAlongStepDoItVector();
00122    fPostStepDoItVector = fManager->GetfPostStepDoItVector();
00123 
00124    fAtRestGetPhysIntVector = fManager->GetfAtRestGetPhysIntVector();
00125    fAlongStepGetPhysIntVector = fManager->GetfAlongStepGetPhysIntVector();
00126    fPostStepGetPhysIntVector = fManager->GetfPostStepGetPhysIntVector();
00127 
00128    MAXofAtRestLoops = fManager->GetMAXofAtRestLoops();
00129    MAXofAlongStepLoops = fManager->GetMAXofAlongStepLoops();
00130    MAXofPostStepLoops = fManager->GetMAXofPostStepLoops();
00131 
00132    fAtRestDoItProcTriggered = fManager->GetfAtRestDoItProcTriggered();
00133    fAlongStepDoItProcTriggered = fManager->GetfAlongStepDoItProcTriggered();
00134    fPostStepDoItProcTriggered = fManager->GetfPostStepDoItProcTriggered();
00135 
00136    fN2ndariesAtRestDoIt = fManager->GetfN2ndariesAtRestDoIt();
00137    fN2ndariesAlongStepDoIt = fManager->GetfN2ndariesAlongStepDoIt();
00138    fN2ndariesPostStepDoIt = fManager->GetfN2ndariesPostStepDoIt();
00139 
00140    fNavigator = fManager->GetfNavigator();
00141 
00142    verboseLevel = fManager->GetverboseLevel();
00143 
00144    fSelectedAtRestDoItVector = fManager->GetfSelectedAtRestDoItVector();
00145    fSelectedAlongStepDoItVector = fManager->GetfSelectedAlongStepDoItVector();
00146    fSelectedPostStepDoItVector = fManager->GetfSelectedPostStepDoItVector();
00147 
00148    fPreviousStepSize = fManager->GetfPreviousStepSize();
00149 
00150    fTouchableHandle = fManager->GetTouchableHandle();
00151 
00152    StepControlFlag = fManager->GetStepControlFlag();
00153 
00154    physIntLength = fManager->GetphysIntLength();
00155    fCondition = fManager->GetfCondition();
00156    fGPILSelection = fManager->GetfGPILSelection();
00157 }
00158 
00159 void G4VSteppingVerbose::SetInstance(G4VSteppingVerbose* Instance)
00160 {
00161   fInstance=Instance;
00162 }
00163 
00164 G4VSteppingVerbose* G4VSteppingVerbose::GetInstance()
00165 {
00166   return fInstance;
00167 }
00168 
00169 G4int G4VSteppingVerbose::GetSilent()
00170 {
00171   return Silent;
00172 }
00173 
00174 void G4VSteppingVerbose::SetSilent(G4int fSilent)
00175 {
00176   Silent=fSilent;
00177 }
00178 
00179 G4int G4VSteppingVerbose::GetSilentStepInfo()
00180 {
00181   return SilentStepInfo;
00182 }
00183 
00184 void G4VSteppingVerbose::SetSilentStepInfo(G4int fSilent)
00185 {
00186   SilentStepInfo=fSilent;
00187 }
00188 

Generated on Mon May 27 17:50:22 2013 for Geant4 by  doxygen 1.4.7