CMS 3D CMS Logo

HFShowerParam.h
Go to the documentation of this file.
1 #ifndef SimG4CMS_HFShowerParam_h
2 #define SimG4CMS_HFShowerParam_h
3 // File: HFShowerParam.h
5 // Description: Generates hits for HF with some parametrized information
7 
15 
16 #include "G4ParticleTable.hh"
17 #include "G4ThreeVector.hh"
18 
19 class DDCompactView;
20 class G4Step;
21 
22 #include <TH1F.h>
23 #include <TH2F.h>
24 #include <string>
25 #include <vector>
26 
28 
29 public:
30 
32  edm::ParameterSet const & p);
33  virtual ~HFShowerParam();
34 
35 public:
36 
37  struct Hit {
38  Hit() {}
39  G4ThreeVector position;
40  int depth;
41  double time;
42  double edep;
43  };
44 
45  void initRun(G4ParticleTable *, HcalDDDSimConstants*);
46  std::vector<Hit> getHits(G4Step * aStep, double weight);
47 
48 private:
49 
50  std::vector<double> getDDDArray(const std::string&, const DDsvalues_type&);
51 
57  G4int emPDG, epPDG, gammaPDG;
58  std::vector<double> gpar;
59  bool fillHisto;
62  TH1F *em_long_sl;
63  TH2F *em_2d_1, *em_2d_2;
64 };
65 
66 
67 #endif // HFShowerParam_h
double attLMeanInv
Definition: HFShowerParam.h:55
bool parametrizeLast
Definition: HFShowerParam.h:56
virtual ~HFShowerParam()
std::vector< double > gpar
Definition: HFShowerParam.h:58
Definition: weight.py:1
HFShowerLibrary * showerLibrary
Definition: HFShowerParam.h:52
HFShowerParam(std::string &name, const DDCompactView &cpv, edm::ParameterSet const &p)
type of data representation of DDCompactView
Definition: DDCompactView.h:90
TH1F * em_lateral_2
Definition: HFShowerParam.h:60
HFFibre * fibre
Definition: HFShowerParam.h:53
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
std::maps an index to a DDValue. The index corresponds to the index assigned to the name of the std::...
Definition: DDsvalues.h:20
HFGflash * gflash
Definition: HFShowerParam.h:54
std::vector< double > getDDDArray(const std::string &, const DDsvalues_type &)
G4ThreeVector position
Definition: HFShowerParam.h:39
double ref_index
Definition: HFShowerParam.h:55
std::vector< Hit > getHits(G4Step *aStep, double weight)
void initRun(G4ParticleTable *, HcalDDDSimConstants *)
TH1F * em_long_gflash
Definition: HFShowerParam.h:61
TH1F * em_long_sl
Definition: HFShowerParam.h:62
TH1F * em_long_1
Definition: HFShowerParam.h:60
TH1F * em_long_1_tuned
Definition: HFShowerParam.h:61
TH1F * em_lateral_1
Definition: HFShowerParam.h:60
TH1F * em_long_2
Definition: HFShowerParam.h:60