CMS 3D CMS Logo

HFShower.h
Go to the documentation of this file.
1 #ifndef SimG4CMS_HFShower_h
2 #define SimG4CMS_HFShower_h
3 // File: HFShower.h
5 // Description: Generates hits for HF with Cerenkov photon code
7 
13 
14 #include "G4ThreeVector.hh"
15 #include "G4String.hh"
16 
17 class DDCompactView;
18 class G4Step;
19 
20 #include <vector>
21 
22 class HFShower {
23 public:
24  HFShower(const std::string &name, const DDCompactView &cpv, edm::ParameterSet const &p, int chk = 0);
25  virtual ~HFShower();
26 
27 public:
28  struct Hit {
29  Hit() {}
30  int depth;
31  double time;
32  double wavelength;
33  double momentum;
34  G4ThreeVector position;
35  };
36 
37  void initRun(const HcalDDDSimConstants *);
38  std::vector<Hit> getHits(const G4Step *aStep, double weight);
39  std::vector<Hit> getHits(const G4Step *aStep, bool forLibrary);
40  std::vector<Hit> getHits(const G4Step *aStep, bool forLibraryProducer, double zoffset);
41 
42 private:
43  std::vector<double> getDDDArray(const std::string &, const DDsvalues_type &, int &);
45 
46 private:
49 
50  int chkFibre;
51  double probMax;
52  std::vector<double> gpar;
53 };
54 
55 #endif // HFShower_h
double wavelength
Definition: HFShower.h:32
HFFibre * fibre
Definition: HFShower.h:48
double momentum
Definition: HFShower.h:33
bool applyFidCut
Definition: HFShower.h:44
G4ThreeVector position
Definition: HFShower.h:34
Definition: weight.py:1
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
std::vector< Hit > getHits(const G4Step *aStep, double weight)
Definition: HFShower.cc:45
HFCherenkov * cherenkov
Definition: HFShower.h:47
int chkFibre
Definition: HFShower.h:50
virtual ~HFShower()
Definition: HFShower.h:41
double probMax
Definition: HFShower.h:51
std::vector< double > gpar
Definition: HFShower.h:52
double time
Definition: HFShower.h:31
HFShower(const RandomEngineAndDistribution *engine, HDShowerParametrization *myParam, EcalHitMaker *myGrid, HcalHitMaker *myHcalHitMaker, int onECAL, double epart)
Definition: HFShower.cc:30
void initRun(const HcalDDDSimConstants *)
Definition: HFShower.cc:424
std::vector< double > getDDDArray(const std::string &, const DDsvalues_type &, int &)
Definition: HFShower.cc:392
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
Definition: DDsvalues.h:12