ATLAS Offline Software
StepHelper.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef SIMHELPERS_StepHelper_H
6 #define SIMHELPERS_StepHelper_H
7 
8 #include "G4Step.hh"
9 #include "G4EmProcessSubType.hh"
10 #include "G4HadronicProcessType.hh"
11 #include "G4DecayProcessType.hh"
12 #include <string>
13 #include <vector>
14 
15 class G4LogicalVolume;
16 class G4VPhysicalVolume;
17 class G4VProcess;
18 
24 namespace G4StepHelper {
26  G4ThreeVector preStepPosition(const G4Step* theStep);
28  G4ThreeVector postStepPosition(const G4Step* theStep);
30  std::string particleName(const G4Step* theStep);
32  int particlePDGCode(const G4Step* theStep);
34  double depositedEnergy(const G4Step* theStep);
36  G4LogicalVolume* getPreStepLogicalVolume(const G4Step* theStep, int iLevel=0);
38  std::string getPreStepLogicalVolumeName(const G4Step* theStep, int iLevel=0);
40  G4VPhysicalVolume* getPreStepPhysicalVolume(const G4Step* theStep, int iLevel=0);
42  G4LogicalVolume* getPostStepLogicalVolume(const G4Step* theStep, int iLevel=0);
44  std::string getPostStepLogicalVolumeName(const G4Step* theStep, int iLevel=0);
46  G4VPhysicalVolume* getPostStepPhysicalVolume(const G4Step* theStep, int iLevel=0);
48  int preStepBranchDepth(const G4Step* theStep);
50  int postStepBranchDepth(const G4Step* theStep);
52  const G4VProcess* getProcess(const G4Step* theStep);
54  std::string getProcessName(const G4Step* theStep);
56  G4int getProcessSubType(const G4Step* theStep);
57 }
58 
59 #endif
G4StepHelper::getProcess
const G4VProcess * getProcess(const G4Step *theStep)
TODO.
Definition: StepHelper.cxx:87
G4StepHelper::getPreStepLogicalVolume
G4LogicalVolume * getPreStepLogicalVolume(const G4Step *theStep, int iLevel=0)
TODO.
Definition: StepHelper.cxx:39
G4StepHelper::getPreStepPhysicalVolume
G4VPhysicalVolume * getPreStepPhysicalVolume(const G4Step *theStep, int iLevel=0)
TODO.
Definition: StepHelper.cxx:47
G4StepHelper::preStepBranchDepth
int preStepBranchDepth(const G4Step *theStep)
TODO.
Definition: StepHelper.cxx:77
G4StepHelper::postStepBranchDepth
int postStepBranchDepth(const G4Step *theStep)
TODO.
Definition: StepHelper.cxx:82
G4StepHelper::particleName
std::string particleName(const G4Step *theStep)
TODO.
Definition: StepHelper.cxx:24
G4StepHelper::getPreStepLogicalVolumeName
std::string getPreStepLogicalVolumeName(const G4Step *theStep, int iLevel=0)
TODO.
Definition: StepHelper.cxx:43
G4StepHelper::getProcessName
std::string getProcessName(const G4Step *theStep)
TODO.
Definition: StepHelper.cxx:92
G4StepHelper::getProcessSubType
G4int getProcessSubType(const G4Step *theStep)
TODO.
Definition: StepHelper.cxx:97
G4StepHelper::getPostStepLogicalVolume
G4LogicalVolume * getPostStepLogicalVolume(const G4Step *theStep, int iLevel=0)
TODO.
Definition: StepHelper.cxx:58
G4StepHelper::getPostStepPhysicalVolume
G4VPhysicalVolume * getPostStepPhysicalVolume(const G4Step *theStep, int iLevel=0)
TODO.
Definition: StepHelper.cxx:66
G4StepHelper
helper functions to avoid having to play with the G4Step to retrieve relevant quantities.
Definition: StepHelper.h:24
G4StepHelper::getPostStepLogicalVolumeName
std::string getPostStepLogicalVolumeName(const G4Step *theStep, int iLevel=0)
TODO.
Definition: StepHelper.cxx:62
G4StepHelper::particlePDGCode
int particlePDGCode(const G4Step *theStep)
TODO.
Definition: StepHelper.cxx:29
G4StepHelper::preStepPosition
G4ThreeVector preStepPosition(const G4Step *theStep)
TODO.
Definition: StepHelper.cxx:14
G4StepHelper::postStepPosition
G4ThreeVector postStepPosition(const G4Step *theStep)
TODO.
Definition: StepHelper.cxx:19
G4StepHelper::depositedEnergy
double depositedEnergy(const G4Step *theStep)
TODO.
Definition: StepHelper.cxx:34