CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MaterialBudgetAction.h
Go to the documentation of this file.
1 #ifndef _MaterialBudgetAction_h
2 #define _MaterialBudgetAction_h
3 #include <string>
4 #include <vector>
5 #include <map>
6 
7 // user include files
15 
18 
19 #include <CLHEP/Vector/LorentzVector.h>
20 
21 class BeginOfTrack;
22 class BeginOfRun;
23 class G4Step;
24 class EndOfTrack;
25 class EndOfEvent;
26 class G4StepPoint;
27 class G4VTouchable;
28 
30  public Observer<const BeginOfRun*>,
31  public Observer<const BeginOfTrack*>,
32  public Observer<const G4Step*>,
33  public Observer<const EndOfTrack*>,
34  public Observer<const EndOfEvent *>
35 {
36  public:
38  virtual ~MaterialBudgetAction();
39 
40  void produce(edm::Event&, const edm::EventSetup&);
41 
42 
43  private:
44  MaterialBudgetAction(const MaterialBudgetAction&); // stop default
45 
46  const MaterialBudgetAction& operator=(const MaterialBudgetAction&); // stop default
47 
48  void update(const BeginOfRun*);
49  void update(const BeginOfTrack*);
50  void update(const G4Step*);
51  void update(const EndOfTrack*);
52  void update(const EndOfEvent*);
53 
54  void initRun();
55  void processEvent( unsigned int nEv );
56  void endRun();
57 
58  bool CheckTouchableInSelectedVolumes( const G4VTouchable* touch );
59  bool StopAfterProcess( const G4Step* aStep );
60 
61  private:
62  void save( const G4Step* aStep );
63  std::string getSubDetectorName( G4StepPoint* aStepPoint );
64  std::string getPartName( G4StepPoint* aStepPoint );
71  bool storeDecay;
72  double Ekin;
74 
75  std::vector<G4String> theVolumeList;
76  G4String theProcessToStop;
77  std::string theHistoList;
78 
79 };
80 
81 #endif
bool CheckTouchableInSelectedVolumes(const G4VTouchable *touch)
void save(const G4Step *aStep)
MaterialBudgetAction(const edm::ParameterSet &)
void update(const BeginOfRun *)
This routine will be called when the appropriate signal arrives.
void processEvent(unsigned int nEv)
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 produce(edm::Event &, const edm::EventSetup &)
MaterialBudgetTree * theTree