CMS 3D CMS Logo

MaterialBudgetForward.h
Go to the documentation of this file.
1 #ifndef Validation_Geometry_MaterialBudgetForward_h
2 #define Validation_Geometry_MaterialBudgetForward_h
3 
7 
8 #include <CLHEP/Vector/LorentzVector.h>
9 
10 class BeginOfRun;
11 class BeginOfTrack;
12 class G4Step;
13 class EndOfTrack;
14 #include "G4LogicalVolume.hh"
15 
16 #include <TH1F.h>
17 #include <TH2F.h>
18 #include <TProfile.h>
19 #include <TProfile2D.h>
20 
21 #include <string>
22 #include <vector>
23 
25  public Observer<const BeginOfRun *>,
26  public Observer<const BeginOfTrack *>,
27  public Observer<const G4Step *>,
28  public Observer<const EndOfTrack *> {
29 public:
31  MaterialBudgetForward(const MaterialBudgetForward &) = delete; // stop default
32  ~MaterialBudgetForward() override;
33 
34  const MaterialBudgetForward &operator=(const MaterialBudgetForward &) = delete; // ...
35 
36 private:
37  void update(const BeginOfRun *) override;
38  void update(const BeginOfTrack *) override;
39  void update(const G4Step *) override;
40  void update(const EndOfTrack *) override;
41 
42  void book(const edm::ParameterSet &);
43  bool stopAfter(const G4Step *);
44 
45  std::vector<std::string> detTypes, detNames;
47  std::vector<double> etaRegions, boundaries;
48  std::vector<G4LogicalVolume *> logVolumes;
49  static const int maxSet = 25;
50  TH1F *me400[maxSet];
51  TH2F *me800[maxSet];
52  TProfile *me100[maxSet], *me200[maxSet], *me300[maxSet];
53  TProfile2D *me500[maxSet], *me600[maxSet], *me700[maxSet];
54  std::vector<double> stepLen, radLen, intLen;
55  double eta_, phi_, stepT;
56 };
57 
58 #endif
Observer
Definition: Observer.h:23
MaterialBudgetForward::detNames
std::vector< std::string > detNames
Definition: MaterialBudgetForward.h:45
MaterialBudgetForward::me200
TProfile * me200[maxSet]
Definition: MaterialBudgetForward.h:52
MaterialBudgetForward::logVolumes
std::vector< G4LogicalVolume * > logVolumes
Definition: MaterialBudgetForward.h:48
MaterialBudgetForward::constituents
std::vector< int > constituents
Definition: MaterialBudgetForward.h:46
MaterialBudgetForward::maxSet
static const int maxSet
Definition: MaterialBudgetForward.h:49
MaterialBudgetForward::stepT
double stepT
Definition: MaterialBudgetForward.h:55
EndOfTrack
Definition: EndOfTrack.h:6
Observer.h
MaterialBudgetForward::me300
TProfile * me300[maxSet]
Definition: MaterialBudgetForward.h:52
MaterialBudgetForward::boundaries
std::vector< double > boundaries
Definition: MaterialBudgetForward.h:47
MaterialBudgetForward::me100
TProfile * me100[maxSet]
Definition: MaterialBudgetForward.h:52
SimWatcher.h
MaterialBudgetForward::me400
TH1F * me400[maxSet]
Definition: MaterialBudgetForward.h:50
BeginOfTrack
Definition: BeginOfTrack.h:6
MaterialBudgetForward::regionTypes
std::vector< int > regionTypes
Definition: MaterialBudgetForward.h:46
MaterialBudgetForward::update
void update(const BeginOfRun *) override
This routine will be called when the appropriate signal arrives.
Definition: MaterialBudgetForward.cc:56
MaterialBudgetForward::operator=
const MaterialBudgetForward & operator=(const MaterialBudgetForward &)=delete
edm::ParameterSet
Definition: ParameterSet.h:36
MaterialBudgetForward::eta_
double eta_
Definition: MaterialBudgetForward.h:55
MaterialBudgetForward::phi_
double phi_
Definition: MaterialBudgetForward.h:55
MaterialBudgetForward::stopAfter
bool stopAfter(const G4Step *)
Definition: MaterialBudgetForward.cc:257
MaterialBudgetForward::radLen
std::vector< double > radLen
Definition: MaterialBudgetForward.h:54
MaterialBudgetForward::stackOrder
std::vector< int > stackOrder
Definition: MaterialBudgetForward.h:46
BeginOfRun
Definition: BeginOfRun.h:6
SimWatcher
Definition: SimWatcher.h:33
MaterialBudgetForward::me800
TH2F * me800[maxSet]
Definition: MaterialBudgetForward.h:51
MaterialBudgetForward::~MaterialBudgetForward
~MaterialBudgetForward() override
Definition: MaterialBudgetForward.cc:54
MaterialBudgetForward::me500
TProfile2D * me500[maxSet]
Definition: MaterialBudgetForward.h:53
MaterialBudgetForward::me600
TProfile2D * me600[maxSet]
Definition: MaterialBudgetForward.h:53
MaterialBudgetForward::detLevels
std::vector< int > detLevels
Definition: MaterialBudgetForward.h:46
MaterialBudgetForward::detTypes
std::vector< std::string > detTypes
Definition: MaterialBudgetForward.h:45
MaterialBudgetForward::stepLen
std::vector< double > stepLen
Definition: MaterialBudgetForward.h:54
MaterialBudgetForward::MaterialBudgetForward
MaterialBudgetForward(const edm::ParameterSet &)
Definition: MaterialBudgetForward.cc:20
MaterialBudgetForward::book
void book(const edm::ParameterSet &)
Definition: MaterialBudgetForward.cc:202
ParameterSet.h
MaterialBudgetForward
Definition: MaterialBudgetForward.h:24
MaterialBudgetForward::etaRegions
std::vector< double > etaRegions
Definition: MaterialBudgetForward.h:47
MaterialBudgetForward::intLen
std::vector< double > intLen
Definition: MaterialBudgetForward.h:54
MaterialBudgetForward::me700
TProfile2D * me700[maxSet]
Definition: MaterialBudgetForward.h:53