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 "G4ThreeVector.hh"
17 
18 class G4Step;
19 
20 #include <TH1F.h>
21 #include <TH2F.h>
22 #include <string>
23 #include <vector>
24 
26 public:
28  const HcalDDDSimConstants* hcons,
29  const HcalSimulationParameters* hps,
30  edm::ParameterSet const& p);
31  virtual ~HFShowerParam();
32 
33 public:
34  struct Hit {
35  Hit() {}
36  G4ThreeVector position;
37  int depth;
38  double time;
39  double edep;
40  };
41  std::vector<Hit> getHits(const G4Step* aStep, double weight, bool& isKilled);
42 
43 private:
45  std::unique_ptr<HFShowerLibrary> showerLibrary_;
46  std::unique_ptr<HFFibre> fibre_;
47  std::unique_ptr<HFGflash> gflash_;
48  bool fillHisto_;
52  std::vector<double> gpar_;
55  TH1F* em_long_sl_;
56  TH2F *em_2d_1_, *em_2d_2_;
57 };
58 
59 #endif // HFShowerParam_h
std::unique_ptr< HFGflash > gflash_
Definition: HFShowerParam.h:47
HFShowerParam(const std::string &name, const HcalDDDSimConstants *hcons, const HcalSimulationParameters *hps, edm::ParameterSet const &p)
double aperture_
Definition: HFShowerParam.h:49
TH1F * em_long_sl_
Definition: HFShowerParam.h:55
double attLMeanInv_
Definition: HFShowerParam.h:49
virtual ~HFShowerParam()
double pePerGeV_
Definition: HFShowerParam.h:49
TH1F * em_long_2_
Definition: HFShowerParam.h:53
Definition: weight.py:1
TH1F * em_long_1_tuned_
Definition: HFShowerParam.h:54
TH1F * em_long_1_
Definition: HFShowerParam.h:53
TH1F * em_long_gflash_
Definition: HFShowerParam.h:54
TH1F * em_lateral_2_
Definition: HFShowerParam.h:53
std::vector< double > gpar_
Definition: HFShowerParam.h:52
std::unique_ptr< HFFibre > fibre_
Definition: HFShowerParam.h:46
std::vector< Hit > getHits(const G4Step *aStep, double weight, bool &isKilled)
TH1F * em_lateral_1_
Definition: HFShowerParam.h:53
G4ThreeVector position
Definition: HFShowerParam.h:36
bool equalizeTimeShift_
Definition: HFShowerParam.h:50
bool parametrizeLast_
Definition: HFShowerParam.h:50
std::unique_ptr< HFShowerLibrary > showerLibrary_
Definition: HFShowerParam.h:45
double ref_index_
Definition: HFShowerParam.h:49
const HcalDDDSimConstants * hcalConstants_
Definition: HFShowerParam.h:44