CMS 3D CMS Logo

ZdcShowerLibrary.h
Go to the documentation of this file.
1 #ifndef SimG4CMS_ZdcShowerLibrary_h
2 #define SimG4CMS_ZdcShowerLibrary_h 1
3 // File: ZdcShowerLibrary.h
5 // Description: Gets information from a shower library
6 // E. Garcia June 2008
8 
12 
13 #include "G4ParticleTable.hh"
14 #include "G4ThreeVector.hh"
17 
18 #include <string>
19 #include <memory>
20 
21 class G4Step;
22 class DDCompactView;
24 
25 public:
26 
27  //Constructor and Destructor
28  ZdcShowerLibrary(const std::string & name, const DDCompactView & cpv, edm::ParameterSet const & p);
30 
31  public:
32 
33  struct Hit {
34  Hit() {}
35  G4ThreeVector entryLocal;
36  G4ThreeVector position;
37  int depth;
38  double time;
39  int detID;
40  double DeHad;
41  double DeEM;
42  };
43 
44  std::vector<Hit>& getHits(const G4Step * aStep, bool & ok);
45  int getEnergyFromLibrary(const G4ThreeVector& posHit, const G4ThreeVector& momDir, double energy,
46  G4int parCode,HcalZDCDetId::Section section, bool side, int channel);
47  int photonFluctuation(double eav, double esig,double edis);
48 
49 private:
50 
51  bool verbose;
52 
53  int npe;
54  std::vector<ZdcShowerLibrary::Hit> hits;
55 
56 };
57 #endif
G4ThreeVector entryLocal
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:83
int getEnergyFromLibrary(const G4ThreeVector &posHit, const G4ThreeVector &momDir, double energy, G4int parCode, HcalZDCDetId::Section section, bool side, int channel)
std::vector< ZdcShowerLibrary::Hit > hits
int photonFluctuation(double eav, double esig, double edis)
std::vector< Hit > & getHits(const G4Step *aStep, bool &ok)
ZdcShowerLibrary(const std::string &name, const DDCompactView &cpv, edm::ParameterSet const &p)