CMS 3D CMS Logo

MaterialBudget.h
Go to the documentation of this file.
1 #ifndef Validation_Geometry_MaterialBudget_h
2 #define Validation_Geometry_MaterialBudget_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 
24 class MaterialBudget : public SimWatcher,
25  public Observer<const BeginOfRun*>,
26  public Observer<const BeginOfTrack*>,
27  public Observer<const G4Step*>,
28  public Observer<const EndOfTrack*> {
29 public:
31  MaterialBudget(const MaterialBudget&) = delete; // stop default
32  ~MaterialBudget() override;
33 
34  const MaterialBudget& operator=(const MaterialBudget&) = 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  std::vector<TProfile*> me100, me200, me300, me400, me500, me600;
50  std::vector<double> stepLen, radLen, intLen;
51  double eta_, phi_, stepT;
52 };
53 
54 #endif
MaterialBudget::me300
std::vector< TProfile * > me300
Definition: MaterialBudget.h:49
Observer
Definition: Observer.h:23
MaterialBudget
Definition: MaterialBudget.h:24
MaterialBudget::operator=
const MaterialBudget & operator=(const MaterialBudget &)=delete
MaterialBudget::book
void book(const edm::ParameterSet &)
Definition: MaterialBudget.cc:198
MaterialBudget::~MaterialBudget
~MaterialBudget() override
Definition: MaterialBudget.cc:53
MaterialBudget::radLen
std::vector< double > radLen
Definition: MaterialBudget.h:50
MaterialBudget::constituents
std::vector< int > constituents
Definition: MaterialBudget.h:46
MaterialBudget::me100
std::vector< TProfile * > me100
Definition: MaterialBudget.h:49
MaterialBudget::boundaries
std::vector< double > boundaries
Definition: MaterialBudget.h:47
MaterialBudget::logVolumes
std::vector< G4LogicalVolume * > logVolumes
Definition: MaterialBudget.h:48
MaterialBudget::stepLen
std::vector< double > stepLen
Definition: MaterialBudget.h:50
EndOfTrack
Definition: EndOfTrack.h:6
Observer.h
SimWatcher.h
MaterialBudget::me200
std::vector< TProfile * > me200
Definition: MaterialBudget.h:49
BeginOfTrack
Definition: BeginOfTrack.h:6
MaterialBudget::me600
std::vector< TProfile * > me600
Definition: MaterialBudget.h:49
MaterialBudget::regionTypes
std::vector< int > regionTypes
Definition: MaterialBudget.h:46
MaterialBudget::detLevels
std::vector< int > detLevels
Definition: MaterialBudget.h:46
edm::ParameterSet
Definition: ParameterSet.h:47
MaterialBudget::me400
std::vector< TProfile * > me400
Definition: MaterialBudget.h:49
MaterialBudget::MaterialBudget
MaterialBudget(const edm::ParameterSet &)
Definition: MaterialBudget.cc:19
MaterialBudget::intLen
std::vector< double > intLen
Definition: MaterialBudget.h:50
MaterialBudget::stackOrder
std::vector< int > stackOrder
Definition: MaterialBudget.h:46
BeginOfRun
Definition: BeginOfRun.h:6
SimWatcher
Definition: SimWatcher.h:33
MaterialBudget::stopAfter
bool stopAfter(const G4Step *)
Definition: MaterialBudget.cc:247
MaterialBudget::detTypes
std::vector< std::string > detTypes
Definition: MaterialBudget.h:45
MaterialBudget::eta_
double eta_
Definition: MaterialBudget.h:51
MaterialBudget::phi_
double phi_
Definition: MaterialBudget.h:51
MaterialBudget::me500
std::vector< TProfile * > me500
Definition: MaterialBudget.h:49
MaterialBudget::detNames
std::vector< std::string > detNames
Definition: MaterialBudget.h:45
ParameterSet.h
MaterialBudget::etaRegions
std::vector< double > etaRegions
Definition: MaterialBudget.h:47
MaterialBudget::stepT
double stepT
Definition: MaterialBudget.h:51
MaterialBudget::update
void update(const BeginOfRun *) override
This routine will be called when the appropriate signal arrives.
Definition: MaterialBudget.cc:55