CMS 3D CMS Logo

GflashG4Watcher.h
Go to the documentation of this file.
4 
5 #include <TFile.h>
6 #include <TTree.h>
7 #include <TH1F.h>
8 #include <TH2F.h>
9 #include <TProfile.h>
10 
11 #include <string>
12 
13 //
14 // class decleration
15 //
16 
17 class BeginOfEvent;
18 class EndOfEvent;
19 class G4Step;
20 
21 
22 class GflashG4Watcher : public SimWatcher,
23  public Observer<const BeginOfEvent*>,
24  public Observer<const EndOfEvent*>,
25  public Observer<const G4Step*> {
26 
27  public:
29  ~GflashG4Watcher() override;
30 
31  private:
32 
33  G4bool inc_flag;
34  G4double inc_energy;
35  G4double out_energy;
36  G4ThreeVector inc_vertex;
37  G4ThreeVector inc_direction;
38  G4ThreeVector inc_position;
39 
40  void update(const BeginOfEvent* ) override;
41  void update(const EndOfEvent* ) override;
42  void update(const G4Step* ) override;
43 
44  // histograms for GflashG4Watcher
45 
49 
50  TFile* histFile_;
51 
52  TH1F* em_incE;
53  TH1F* em_vtx_rho;
54  TH1F* em_vtx_z;
55 
56  TH1F* eb_ssp_rho;
57  TH1F* eb_hit_long;
58  TH1F* eb_hit_lat;
59  TH2F* eb_hit_rz;
62  TH2F* eb_hit_rz_sd;
63 
64  TH1F* ee_ssp_z;
65  TH1F* ee_hit_long;
66  TH1F* ee_hit_lat;
67  TH2F* ee_hit_rz;
70  TH2F* ee_hit_rz_sd;
71 
72 };
73 
G4ThreeVector inc_position
G4ThreeVector inc_direction
GflashG4Watcher(const edm::ParameterSet &p)
double recoEnergyScaleEE_
std::string histFileName_
~GflashG4Watcher() override
G4ThreeVector inc_vertex
void update(const BeginOfEvent *) override
This routine will be called when the appropriate signal arrives.
double recoEnergyScaleEB_