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 public:
25  //Constructor and Destructor
28 
29 public:
30  struct Hit {
31  Hit() {}
32  G4ThreeVector entryLocal;
33  G4ThreeVector position;
34  int depth;
35  double time;
36  int detID;
37  double DeHad;
38  double DeEM;
39  };
40 
41  std::vector<Hit>& getHits(const G4Step* aStep, bool& ok);
42  int getEnergyFromLibrary(const G4ThreeVector& posHit,
43  const G4ThreeVector& momDir,
44  double energy,
45  G4int parCode,
47  bool side,
48  int channel);
49  int photonFluctuation(double eav, double esig, double edis);
50 
51 private:
52  bool verbose;
53 
54  int npe;
55  std::vector<ZdcShowerLibrary::Hit> hits;
56 };
57 #endif
G4ThreeVector entryLocal
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
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)