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 
19 
20 #include <CLHEP/Vector/LorentzVector.h>
21 
22 class BeginOfTrack;
23 class BeginOfRun;
24 class G4Step;
25 class EndOfTrack;
26 class EndOfEvent;
27 class G4StepPoint;
28 class G4VTouchable;
29 
31  public Observer<const BeginOfRun*>,
32  public Observer<const BeginOfTrack*>,
33  public Observer<const G4Step*>,
34  public Observer<const EndOfTrack*>,
35  public Observer<const EndOfEvent *>
36 {
37  public:
39  virtual ~MaterialBudgetAction();
40 
41  void produce(edm::Event&, const edm::EventSetup&);
42 
43 
44  private:
45  MaterialBudgetAction(const MaterialBudgetAction&); // stop default
46 
47  const MaterialBudgetAction& operator=(const MaterialBudgetAction&); // stop default
48 
49  void update(const BeginOfRun*);
50  void update(const BeginOfTrack*);
51  void update(const G4Step*);
52  void update(const EndOfTrack*);
53  void update(const EndOfEvent*);
54 
55  void initRun();
56  void processEvent( unsigned int nEv );
57  void endRun();
58 
59  bool CheckTouchableInSelectedVolumes( const G4VTouchable* touch );
60  bool StopAfterProcess( const G4Step* aStep );
61 
62  private:
63  void save( const G4Step* aStep );
64  std::string getSubDetectorName( G4StepPoint* aStepPoint );
65  std::string getPartName( G4StepPoint* aStepPoint );
72  bool storeDecay;
73  double Ekin;
75 
76  std::vector<G4String> theVolumeList;
77  G4String theProcessToStop;
79 
80 };
81 
82 #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