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 
16 
20 
21 #include <CLHEP/Vector/LorentzVector.h>
22 
23 class BeginOfTrack;
24 class BeginOfRun;
25 class BeginOfEvent;
26 class EndOfEvent;
27 class G4Step;
28 class EndOfTrack;
29 class EndOfRun;
30 class G4StepPoint;
31 class G4VTouchable;
32 
34  public Observer<const BeginOfRun*>,
35  public Observer<const BeginOfTrack*>,
36  public Observer<const G4Step*>,
37  public Observer<const EndOfTrack*>,
38  public Observer<const EndOfRun*> {
39 public:
41  ~MaterialBudgetAction() override;
42 
43 private:
44  MaterialBudgetAction(const MaterialBudgetAction&); // stop default
45 
46  const MaterialBudgetAction& operator=(const MaterialBudgetAction&); // stop default
47 
48  void update(const BeginOfRun*) override;
49  void update(const BeginOfTrack*) override;
50  void update(const G4Step*) override;
51  void update(const EndOfTrack*) override;
52  void update(const EndOfRun*) override;
53 
54  bool CheckTouchableInSelectedVolumes(const G4VTouchable* touch);
55  bool StopAfterProcess(const G4Step* aStep);
56 
57  void save(const G4Step* aStep);
58  std::string getSubDetectorName(G4StepPoint* aStepPoint);
59  std::string getPartName(G4StepPoint* aStepPoint);
60 
61  std::shared_ptr<MaterialBudgetData> theData;
62  std::shared_ptr<MaterialBudgetTree> theTree;
63  std::shared_ptr<MaterialBudgetFormat> theHistos;
64  std::shared_ptr<MaterialBudgetTxt> theTxt;
65  std::shared_ptr<TestHistoMgr> theHistoMgr;
66 
68  bool storeDecay;
69  double Ekin;
71 
72  std::vector<G4String> theVolumeList;
73  G4String theProcessToStop;
75 };
76 
77 #endif
bool CheckTouchableInSelectedVolumes(const G4VTouchable *touch)
void save(const G4Step *aStep)
std::shared_ptr< MaterialBudgetFormat > theHistos
MaterialBudgetAction(const edm::ParameterSet &)
std::shared_ptr< TestHistoMgr > theHistoMgr
std::shared_ptr< MaterialBudgetTxt > theTxt
std::shared_ptr< MaterialBudgetTree > theTree
const MaterialBudgetAction & operator=(const MaterialBudgetAction &)
bool StopAfterProcess(const G4Step *aStep)
std::string getPartName(G4StepPoint *aStepPoint)
std::vector< G4String > theVolumeList
std::string getSubDetectorName(G4StepPoint *aStepPoint)
std::shared_ptr< MaterialBudgetData > theData
void update(const BeginOfRun *) override
This routine will be called when the appropriate signal arrives.