CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ZdcTestAnalysis.h
Go to the documentation of this file.
1 // File: ZdcTestAnalysis.h
3 // Date: 03.06 Edmundo Garcia
4 // Description: simulation analysis steering code
5 //
7 #undef debug
8 #ifndef ZdcTestAnalysis_h
9 #define ZdcTestAnalysis_h
10 
16 
17 #include "G4SDManager.hh"
18 #include "G4Step.hh"
19 #include "G4Track.hh"
20 #include "G4Event.hh"
21 #include "G4PrimaryVertex.hh"
22 #include "G4VProcess.hh"
23 #include "G4HCofThisEvent.hh"
24 #include "G4UserEventAction.hh"
25 #include "CLHEP/Units/GlobalSystemOfUnits.h"
26 #include "CLHEP/Units/GlobalPhysicalConstants.h"
27 
31 
32 #include <cassert>
33 #include <iostream>
34 #include <string>
35 #include <map>
36 #include <cmath>
37 #include <memory>
38 #include <vector>
39 
40 #include <CLHEP/Random/Randomize.h>
41 
42 #include "TROOT.h"
43 #include "TFile.h"
44 #include "TH1.h"
45 #include "TH2.h"
46 #include "TProfile.h"
47 #include "TNtuple.h"
48 #include "TRandom.h"
49 #include "TLorentzVector.h"
50 #include "TUnixSystem.h"
51 #include "TSystem.h"
52 #include "TMath.h"
53 #include "TF1.h"
54 
55 
56 
57 
58 class G4Step;
59 class BeginOfJob;
60 class BeginOfRun;
61 class EndOfRun;
62 class BeginOfEvent;
63 class EndOfEvent;
64 
65 class ZdcTestAnalysis : public SimWatcher,
66  public Observer<const BeginOfJob *>,
67  public Observer<const BeginOfRun *>,
68  public Observer<const EndOfRun *>,
69  public Observer<const BeginOfEvent *>,
70  public Observer<const EndOfEvent *>,
71  public Observer<const G4Step *> {
72 
73 public:
75  virtual ~ZdcTestAnalysis();
76 
77 private:
78  // observer classes
79  void update(const BeginOfJob * run);
80  void update(const BeginOfRun * run);
81  void update(const EndOfRun * run);
82  void update(const BeginOfEvent * evt);
83  void update(const EndOfEvent * evt);
84  void update(const G4Step * step);
85 
86 private:
87 
88  void finish();
89 
90  int verbosity;
95 
98 
99  TNtuple* zdcstepntuple;
100  TNtuple* zdceventntuple;
101 
104 
105  Float_t zdcsteparray[18];
106  Float_t zdceventarray[16];
107 
108 };
109 
110 #endif // ZdcTestAnalysis_h
Float_t zdceventarray[16]
TFile * zdcOutputEventFile
virtual ~ZdcTestAnalysis()
std::string stepNtFileName
TFile * zdcOutputStepFile
void update(const BeginOfJob *run)
This routine will be called when the appropriate signal arrives.
TNtuple * zdceventntuple
TNtuple * zdcstepntuple
ZdcTestAnalysis(const edm::ParameterSet &p)
std::string eventNtFileName
Float_t zdcsteparray[18]