CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
30 public:
31 
33  virtual ~MaterialBudgetForward();
34 
35 private:
36 
37  MaterialBudgetForward(const MaterialBudgetForward&); // stop default
39 
40  void update(const BeginOfRun*);
41  void update(const BeginOfTrack*);
42  void update(const G4Step*);
43  void update(const EndOfTrack*);
44 
45  void book(const edm::ParameterSet&);
46  bool stopAfter(const G4Step*);
47 
48  std::vector<std::string> detTypes, detNames;
50  std::vector<double> etaRegions, boundaries;
51  std::vector<G4LogicalVolume*> logVolumes;
52  static const int maxSet = 25;
53  TH1F *me400[maxSet];
54  TH2F *me800[maxSet];
55  TProfile *me100[maxSet], *me200[maxSet], *me300[maxSet];
56  TProfile2D *me500[maxSet], *me600[maxSet], *me700[maxSet];
57  std::vector<double> stepLen, radLen, intLen;
58  double eta, phi, stepT;
59 };
60 
61 #endif
TProfile2D * me700[maxSet]
TProfile * me100[maxSet]
MaterialBudgetForward(const edm::ParameterSet &)
const MaterialBudgetForward & operator=(const MaterialBudgetForward &)
TProfile2D * me600[maxSet]
std::vector< double > etaRegions
std::vector< int > detLevels
std::vector< double > radLen
std::vector< int > stackOrder
void update(const BeginOfRun *)
This routine will be called when the appropriate signal arrives.
TProfile * me200[maxSet]
std::vector< double > intLen
std::vector< double > stepLen
std::vector< G4LogicalVolume * > logVolumes
std::vector< std::string > detNames
std::vector< int > constituents
bool stopAfter(const G4Step *)
void book(const edm::ParameterSet &)
std::vector< int > regionTypes
TProfile * me300[maxSet]
std::vector< double > boundaries
TProfile2D * me500[maxSet]
std::vector< std::string > detTypes