CMS 3D CMS Logo

MaterialBudgetAction.h
Go to the documentation of this file.
1 #ifndef Validation_Geometry_MaterialBudgetAction_h
2 #define Validation_Geometry_MaterialBudgetAction_h
3 
4 #include <string>
5 #include <vector>
6 
14 
18 
19 #include <CLHEP/Vector/LorentzVector.h>
20 
21 class BeginOfTrack;
22 class BeginOfRun;
23 class BeginOfEvent;
24 class EndOfEvent;
25 class G4Step;
26 class EndOfTrack;
27 class EndOfRun;
28 class G4StepPoint;
29 class G4VTouchable;
30 
32  public Observer<const BeginOfRun*>,
33  public Observer<const BeginOfTrack*>,
34  public Observer<const G4Step*>,
35  public Observer<const EndOfTrack*>,
36  public Observer<const EndOfRun*>
37 {
38  public:
40  ~MaterialBudgetAction() override;
41 
42  private:
43  MaterialBudgetAction(const MaterialBudgetAction&); // stop default
44 
45  const MaterialBudgetAction& operator=(const MaterialBudgetAction&); // stop default
46 
47  void update(const BeginOfRun*) override;
48  void update(const BeginOfTrack*) override;
49  void update(const G4Step*) override;
50  void update(const EndOfTrack*) override;
51  void update(const EndOfRun*) override;
52 
53  bool CheckTouchableInSelectedVolumes( const G4VTouchable* touch );
54  bool StopAfterProcess( const G4Step* aStep );
55 
56  void save( const G4Step* aStep );
57  std::string getSubDetectorName( G4StepPoint* aStepPoint );
58  std::string getPartName( G4StepPoint* aStepPoint );
65  bool storeDecay;
66  double Ekin;
68 
69  std::vector<G4String> theVolumeList;
70  G4String theProcessToStop;
72 };
73 
74 #endif
bool CheckTouchableInSelectedVolumes(const G4VTouchable *touch)
void save(const G4Step *aStep)
MaterialBudgetAction(const edm::ParameterSet &)
MaterialBudgetTxt * theTxt
const MaterialBudgetAction & operator=(const MaterialBudgetAction &)
MaterialBudgetFormat * theHistos
MaterialBudgetData * theData
bool StopAfterProcess(const G4Step *aStep)
std::string getPartName(G4StepPoint *aStepPoint)
std::vector< G4String > theVolumeList
std::string getSubDetectorName(G4StepPoint *aStepPoint)
void update(const BeginOfRun *) override
This routine will be called when the appropriate signal arrives.
MaterialBudgetTree * theTree