CMS 3D CMS Logo

DBremWatcher.h
Go to the documentation of this file.
1 #ifndef SimG4Core_DBremWatcher_H
2 #define SimG4Core_DBremWatcher_H
3 
12 #include "G4ThreeVector.hh"
13 
14 #include <vector>
15 #include <tuple>
16 
17 class DBremWatcher : public SimProducer,
18  public Observer<const BeginOfTrack *>,
19  public Observer<const BeginOfEvent *>,
20  public Observer<const BeginOfRun *>,
21  public Observer<const EndOfEvent *>,
22  public Observer<const EndOfTrack *> {
23 public:
25  ~DBremWatcher() override;
26  void update(const BeginOfTrack *trk) override;
27  void update(const BeginOfEvent *event) override;
28  void update(const EndOfEvent *event) override;
29  void update(const BeginOfRun *run) override;
30  void update(const EndOfTrack *trk) override;
31  void produce(edm::Event &, const edm::EventSetup &) override;
32 
33 private:
34  std::vector<int> pdgs_;
35  int MotherId;
36  float m_weight;
37  double biasFactor;
38  bool foundbrem;
39  G4ThreeVector aPrimeTraj;
40  G4ThreeVector finaltraj;
41  G4ThreeVector VertexPos;
42  float f_energy;
43 };
44 
45 #endif
double biasFactor
Definition: DBremWatcher.h:37
DBremWatcher(edm::ParameterSet const &p)
Definition: DBremWatcher.cc:28
void produce(edm::Event &, const edm::EventSetup &) override
G4ThreeVector aPrimeTraj
Definition: DBremWatcher.h:39
G4ThreeVector VertexPos
Definition: DBremWatcher.h:41
float m_weight
Definition: DBremWatcher.h:36
G4ThreeVector finaltraj
Definition: DBremWatcher.h:40
void update(const BeginOfTrack *trk) override
This routine will be called when the appropriate signal arrives.
Definition: DBremWatcher.cc:55
float f_energy
Definition: DBremWatcher.h:42
std::vector< int > pdgs_
Definition: DBremWatcher.h:34
~DBremWatcher() override
Definition: DBremWatcher.cc:53
Definition: event.py:1