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 
15 
19 
20 #include <CLHEP/Vector/LorentzVector.h>
21 
22 class BeginOfTrack;
23 class BeginOfRun;
24 class BeginOfEvent;
25 class EndOfEvent;
26 class G4Step;
27 class EndOfTrack;
28 class EndOfRun;
29 class G4StepPoint;
30 class G4VTouchable;
31 
33  public Observer<const BeginOfRun*>,
34  public Observer<const BeginOfTrack*>,
35  public Observer<const G4Step*>,
36  public Observer<const EndOfTrack*>,
37  public Observer<const EndOfRun*>
38 {
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.