Belle II Software  release-05-02-19
StepTiming.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Martin Ritter *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #include <simulation/kernel/StepTiming.h>
12 #include <framework/utilities/Utils.h>
13 #include <G4SteppingManager.hh>
14 
15 namespace Belle2 {
20  namespace Simulation {
21  void StepTiming::NewStep()
22  {
23  //Start timing the step
25  }
27  {
28  //Step is done, get track and volume
29  fTrack = fManager->GetfTrack();
30  G4LogicalVolume* volume = fTrack->GetStep()->GetPreStepPoint()->GetPhysicalVolume()->GetLogicalVolume();
31  //calculate elapsed time
32  const double time = Utils::getClock() - m_startTime;
33  //call callback function
34  m_callback(fTrack, volume, time);
35  }
36 
37  }
39 } //Belle2 namespace
Belle2::Simulation::StepTiming::NewStep
virtual void NewStep()
Start timing a new step.
Definition: StepTiming.cc:29
Belle2::Simulation::StepTiming::StepInfo
virtual void StepInfo()
Step finished, call callback function.
Definition: StepTiming.cc:34
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::Utils::getClock
double getClock()
Return current value of the real-time clock.
Definition: Utils.cc:58
Belle2::Simulation::StepTiming::m_startTime
double m_startTime
start time of the step
Definition: StepTiming.h:74
Belle2::Simulation::StepTiming::m_callback
callbackType m_callback
callback function to call
Definition: StepTiming.h:69