CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
GflashG4Watcher.h
Go to the documentation of this file.
4 
5 #include "G4ThreeVector.hh"
6 #include "globals.hh"
7 #include <TFile.h>
8 #include <TH1F.h>
9 #include <TH2F.h>
10 #include <TProfile.h>
11 #include <TTree.h>
12 #include <string>
13 
14 //
15 // class decleration
16 //
17 
18 class BeginOfEvent;
19 class EndOfEvent;
20 class G4Step;
21 
22 class GflashG4Watcher : public SimWatcher,
23  public Observer<const BeginOfEvent *>,
24  public Observer<const EndOfEvent *>,
25  public Observer<const G4Step *> {
26 public:
28  ~GflashG4Watcher() override;
29 
30 private:
31  G4bool inc_flag;
32  G4double inc_energy;
33  G4double out_energy;
34  G4ThreeVector inc_vertex;
35  G4ThreeVector inc_direction;
36  G4ThreeVector inc_position;
37 
38  void update(const BeginOfEvent *) override;
39  void update(const EndOfEvent *) override;
40  void update(const G4Step *) override;
41 
42  // histograms for GflashG4Watcher
43 
47 
48  TFile *histFile_;
49 
50  TH1F *em_incE;
51  TH1F *em_vtx_rho;
52  TH1F *em_vtx_z;
53 
54  TH1F *eb_ssp_rho;
55  TH1F *eb_hit_long;
56  TH1F *eb_hit_lat;
57  TH2F *eb_hit_rz;
60  TH2F *eb_hit_rz_sd;
61 
62  TH1F *ee_ssp_z;
63  TH1F *ee_hit_long;
64  TH1F *ee_hit_lat;
65  TH2F *ee_hit_rz;
68  TH2F *ee_hit_rz_sd;
69 };
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_