Geant4  10.02.p03
RE06SteppingVerbose Class Reference

#include <RE06SteppingVerbose.hh>

Inheritance diagram for RE06SteppingVerbose:
Collaboration diagram for RE06SteppingVerbose:

Public Member Functions

 RE06SteppingVerbose ()
 
virtual ~RE06SteppingVerbose ()
 
void InitializeTimers ()
 
void Report ()
 
virtual void NewStep ()
 
virtual void StepInfo ()
 
virtual void TrackBanner ()
 
virtual void AtRestDoItInvoked ()
 
virtual void AlongStepDoItAllDone ()
 
virtual void PostStepDoItAllDone ()
 
virtual void AlongStepDoItOneByOne ()
 
virtual void PostStepDoItOneByOne ()
 
virtual void TrackingStarted ()
 
virtual void DPSLStarted ()
 
virtual void DPSLUserLimit ()
 
virtual void DPSLPostStep ()
 
virtual void DPSLAlongStep ()
 
virtual void VerboseTrack ()
 
virtual void VerboseParticleChange ()
 
- Public Member Functions inherited from G4VSteppingVerbose
virtual ~G4VSteppingVerbose ()
 
void CopyState ()
 
void SetManager (G4SteppingManager *const)
 

Private Member Functions

G4int FindRegion (G4Region *)
 

Private Attributes

std::vector< G4SliceTimer * > fTimers
 
G4int fNofRegions
 
G4int fNofTimers
 
G4int fRegIdx
 
G4bool fEp
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VSteppingVerbose
static void SetInstance (G4VSteppingVerbose *Instance)
 
static G4VSteppingVerboseGetInstance ()
 
static G4int GetSilent ()
 
static void SetSilent (G4int fSilent)
 
static G4int GetSilentStepInfo ()
 
static void SetSilentStepInfo (G4int fSilent)
 
- Protected Types inherited from G4VSteppingVerbose
typedef std::vector< G4intG4SelectedAtRestDoItVector
 
typedef std::vector< G4intG4SelectedAlongStepDoItVector
 
typedef std::vector< G4intG4SelectedPostStepDoItVector
 
- Protected Member Functions inherited from G4VSteppingVerbose
 G4VSteppingVerbose ()
 
- Protected Attributes inherited from G4VSteppingVerbose
G4SteppingManagerfManager
 
G4UserSteppingActionfUserSteppingAction
 
G4double PhysicalStep
 
G4double GeometricalStep
 
G4double CorrectedStep
 
G4bool PreStepPointIsGeom
 
G4bool FirstStep
 
G4StepStatus fStepStatus
 
G4double TempInitVelocity
 
G4double TempVelocity
 
G4double Mass
 
G4double sumEnergyChange
 
G4VParticleChange * fParticleChange
 
G4Track * fTrack
 
G4TrackVector * fSecondary
 
G4Step * fStep
 
G4StepPoint * fPreStepPoint
 
G4StepPoint * fPostStepPoint
 
G4VPhysicalVolumefCurrentVolume
 
G4VSensitiveDetectorfSensitive
 
G4VProcessfCurrentProcess
 
G4ProcessVectorfAtRestDoItVector
 
G4ProcessVectorfAlongStepDoItVector
 
G4ProcessVectorfPostStepDoItVector
 
G4ProcessVectorfAtRestGetPhysIntVector
 
G4ProcessVectorfAlongStepGetPhysIntVector
 
G4ProcessVectorfPostStepGetPhysIntVector
 
size_t MAXofAtRestLoops
 
size_t MAXofAlongStepLoops
 
size_t MAXofPostStepLoops
 
G4double currentMinimumStep
 
G4double numberOfInteractionLengthLeft
 
size_t fAtRestDoItProcTriggered
 
size_t fAlongStepDoItProcTriggered
 
size_t fPostStepDoItProcTriggered
 
G4int fN2ndariesAtRestDoIt
 
G4int fN2ndariesAlongStepDoIt
 
G4int fN2ndariesPostStepDoIt
 
G4NavigatorfNavigator
 
G4int verboseLevel
 
G4SelectedAtRestDoItVectorfSelectedAtRestDoItVector
 
G4SelectedAlongStepDoItVectorfSelectedAlongStepDoItVector
 
G4SelectedPostStepDoItVectorfSelectedPostStepDoItVector
 
G4double fPreviousStepSize
 
G4TouchableHandle fTouchableHandle
 
G4SteppingControl StepControlFlag
 
G4double physIntLength
 
G4ForceCondition fCondition
 
G4GPILSelection fGPILSelection
 
- Static Protected Attributes inherited from G4VSteppingVerbose
static G4ThreadLocal G4VSteppingVerbosefInstance = 0
 
static G4ThreadLocal G4int Silent = 0
 
static G4ThreadLocal G4int SilentStepInfo = 0
 

Detailed Description

Definition at line 43 of file RE06SteppingVerbose.hh.

Constructor & Destructor Documentation

◆ RE06SteppingVerbose()

RE06SteppingVerbose::RE06SteppingVerbose ( )

Definition at line 45 of file RE06SteppingVerbose.cc.

47  fTimers(),
48  fNofTimers(0),
49  fRegIdx(-1),
50  fEp(false)
51 {}
std::vector< G4SliceTimer * > fTimers

◆ ~RE06SteppingVerbose()

RE06SteppingVerbose::~RE06SteppingVerbose ( )
virtual

Definition at line 55 of file RE06SteppingVerbose.cc.

56 {
57  for(G4int j=0;j<fNofTimers;j++)
58  { delete fTimers[j]; }
59  fTimers.clear();
60 }
int G4int
Definition: G4Types.hh:78
std::vector< G4SliceTimer * > fTimers

Member Function Documentation

◆ AlongStepDoItAllDone()

virtual void RE06SteppingVerbose::AlongStepDoItAllDone ( )
inlinevirtual

Implements G4VSteppingVerbose.

Definition at line 58 of file RE06SteppingVerbose.hh.

58 {}

◆ AlongStepDoItOneByOne()

virtual void RE06SteppingVerbose::AlongStepDoItOneByOne ( )
inlinevirtual

Implements G4VSteppingVerbose.

Definition at line 60 of file RE06SteppingVerbose.hh.

60 {}

◆ AtRestDoItInvoked()

virtual void RE06SteppingVerbose::AtRestDoItInvoked ( )
inlinevirtual

Implements G4VSteppingVerbose.

Definition at line 57 of file RE06SteppingVerbose.hh.

57 {}

◆ DPSLAlongStep()

virtual void RE06SteppingVerbose::DPSLAlongStep ( )
inlinevirtual

Implements G4VSteppingVerbose.

Definition at line 66 of file RE06SteppingVerbose.hh.

66 {}

◆ DPSLPostStep()

virtual void RE06SteppingVerbose::DPSLPostStep ( )
inlinevirtual

Implements G4VSteppingVerbose.

Definition at line 65 of file RE06SteppingVerbose.hh.

65 {}

◆ DPSLStarted()

virtual void RE06SteppingVerbose::DPSLStarted ( )
inlinevirtual

Implements G4VSteppingVerbose.

Definition at line 63 of file RE06SteppingVerbose.hh.

63 {}

◆ DPSLUserLimit()

virtual void RE06SteppingVerbose::DPSLUserLimit ( )
inlinevirtual

Implements G4VSteppingVerbose.

Definition at line 64 of file RE06SteppingVerbose.hh.

64 {}

◆ FindRegion()

G4int RE06SteppingVerbose::FindRegion ( G4Region rgn)
private

Definition at line 136 of file RE06SteppingVerbose.cc.

137 {
138  G4RegionStore* regionStore = G4RegionStore::GetInstance();
139  G4int sz = regionStore->size();
140  for(G4int i=0;i<sz;i++)
141  { if(rgn==(*regionStore)[i]) return i; }
142  return -1;
143 }
int G4int
Definition: G4Types.hh:78
static G4RegionStore * GetInstance()
Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitializeTimers()

void RE06SteppingVerbose::InitializeTimers ( )

Definition at line 64 of file RE06SteppingVerbose.cc.

65 {
67  fNofRegions = regionStore->size();
68  fNofTimers = 2 * fNofRegions;
69  G4int nEnt = fTimers.size();
70  if(nEnt<fNofTimers)
71  {
72  for(G4int i=nEnt;i<fNofTimers;i++)
73  { fTimers.push_back(new G4SliceTimer); }
74  }
75  for(G4int j=0;j<fNofTimers;j++)
76  { fTimers[j]->Clear(); }
77  fRegIdx = -1;
78  fEp = false;
79 
80  // Set verbosity for timing
82 #ifdef G4VERBOSE
84 #endif
85 }
void SetVerboseLevel(G4int vLevel)
int G4int
Definition: G4Types.hh:78
static G4RunManagerKernel * GetRunManagerKernel()
static G4RegionStore * GetInstance()
G4SteppingManager * fManager
G4TrackingManager * GetTrackingManager() const
void SetVerboseLevel(G4int vLevel)
std::vector< G4SliceTimer * > fTimers
Here is the call graph for this function:
Here is the caller graph for this function:

◆ NewStep()

void RE06SteppingVerbose::NewStep ( )
virtual

Implements G4VSteppingVerbose.

Definition at line 108 of file RE06SteppingVerbose.cc.

109 {
110  CopyState();
111  G4Region* reg = fTrack->GetStep()->GetPreStepPoint()
112  ->GetPhysicalVolume()->GetLogicalVolume()->GetRegion();
113  fRegIdx = FindRegion(reg);
114  fTimers[fRegIdx]->Start();
115  G4ParticleDefinition* pd = fTrack->GetDefinition();
116  if(pd==G4Electron::ElectronDefinition() ||
117  pd==G4Positron::PositronDefinition()) fEp = true;
118  if(fEp) fTimers[fNofRegions+fRegIdx]->Start();
119 }
static G4Electron * ElectronDefinition()
Definition: G4Electron.cc:89
static const G4double reg
static G4Positron * PositronDefinition()
Definition: G4Positron.cc:89
std::vector< G4SliceTimer * > fTimers
G4int FindRegion(G4Region *)
Here is the call graph for this function:

◆ PostStepDoItAllDone()

virtual void RE06SteppingVerbose::PostStepDoItAllDone ( )
inlinevirtual

Implements G4VSteppingVerbose.

Definition at line 59 of file RE06SteppingVerbose.hh.

59 {}

◆ PostStepDoItOneByOne()

virtual void RE06SteppingVerbose::PostStepDoItOneByOne ( )
inlinevirtual

Implements G4VSteppingVerbose.

Definition at line 61 of file RE06SteppingVerbose.hh.

61 {}

◆ Report()

void RE06SteppingVerbose::Report ( )

Definition at line 89 of file RE06SteppingVerbose.cc.

90 {
91  for(G4int i=0;i<fNofRegions;i++)
92  {
93  G4cout << G4endl;
94  G4cout << "Region <"
95  << (*G4RegionStore::GetInstance())[i]->GetName() << ">" << G4endl;
96  G4cout << " All particles : User=" << fTimers[i]->GetUserElapsed()
97  << " Real=" << fTimers[i]->GetRealElapsed()
98  << " Sys=" << fTimers[i]->GetSystemElapsed() << G4endl;
99  G4cout << " e+ / e- : User=" << fTimers[fNofRegions+i]->GetUserElapsed()
100  << " Real=" << fTimers[fNofRegions+i]->GetRealElapsed()
101  << " Sys=" << fTimers[fNofRegions+i]->GetSystemElapsed() << G4endl;
102  }
103  G4cout << G4endl;
104 }
int G4int
Definition: G4Types.hh:78
static G4RegionStore * GetInstance()
G4GLOB_DLL std::ostream G4cout
std::vector< G4SliceTimer * > fTimers
#define G4endl
Definition: G4ios.hh:61
Here is the call graph for this function:
Here is the caller graph for this function:

◆ StepInfo()

void RE06SteppingVerbose::StepInfo ( )
virtual

Implements G4VSteppingVerbose.

Definition at line 123 of file RE06SteppingVerbose.cc.

124 {
125  fTimers[fRegIdx]->Stop();
126  if(fEp)
127  {
128  fTimers[fNofRegions+fRegIdx]->Stop();
129  fEp = false;
130  }
131  fRegIdx = -1;
132 }
std::vector< G4SliceTimer * > fTimers

◆ TrackBanner()

virtual void RE06SteppingVerbose::TrackBanner ( )
inlinevirtual

Definition at line 56 of file RE06SteppingVerbose.hh.

56 {}

◆ TrackingStarted()

virtual void RE06SteppingVerbose::TrackingStarted ( )
inlinevirtual

Implements G4VSteppingVerbose.

Definition at line 62 of file RE06SteppingVerbose.hh.

62 {}

◆ VerboseParticleChange()

virtual void RE06SteppingVerbose::VerboseParticleChange ( )
inlinevirtual

Implements G4VSteppingVerbose.

Definition at line 68 of file RE06SteppingVerbose.hh.

68 {}
Here is the call graph for this function:

◆ VerboseTrack()

virtual void RE06SteppingVerbose::VerboseTrack ( )
inlinevirtual

Implements G4VSteppingVerbose.

Definition at line 67 of file RE06SteppingVerbose.hh.

67 {}

Member Data Documentation

◆ fEp

G4bool RE06SteppingVerbose::fEp
private

Definition at line 77 of file RE06SteppingVerbose.hh.

◆ fNofRegions

G4int RE06SteppingVerbose::fNofRegions
private

Definition at line 74 of file RE06SteppingVerbose.hh.

◆ fNofTimers

G4int RE06SteppingVerbose::fNofTimers
private

Definition at line 75 of file RE06SteppingVerbose.hh.

◆ fRegIdx

G4int RE06SteppingVerbose::fRegIdx
private

Definition at line 76 of file RE06SteppingVerbose.hh.

◆ fTimers

std::vector<G4SliceTimer*> RE06SteppingVerbose::fTimers
private

Definition at line 73 of file RE06SteppingVerbose.hh.


The documentation for this class was generated from the following files: