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"
16 
17 #include <string>
18 #include <memory>
19 
20 class G4Step;
22 public:
23  //Constructor and Destructor
26 
27 public:
28  struct Hit {
29  Hit() {}
30  G4ThreeVector entryLocal;
31  G4ThreeVector position;
32  int depth;
33  double time;
34  int detID;
35  double DeHad;
36  double DeEM;
37  };
38 
39  std::vector<Hit>& getHits(const G4Step* aStep, bool& ok);
40  int getEnergyFromLibrary(const G4ThreeVector& posHit,
41  const G4ThreeVector& momDir,
42  double energy,
43  G4int parCode,
45  bool side,
46  int channel);
47  int photonFluctuation(double eav, double esig, double edis);
48 
49 private:
50  bool verbose;
51 
52  int npe;
53  std::vector<ZdcShowerLibrary::Hit> hits;
54 };
55 #endif
G4ThreeVector entryLocal
ZdcShowerLibrary(const std::string &name, edm::ParameterSet const &p)
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)