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 
45  void initRun(G4ParticleTable * theParticleTable);
46  std::vector<Hit>& getHits(G4Step * aStep, bool & ok);
47  int getEnergyFromLibrary(const G4ThreeVector& posHit, const G4ThreeVector& momDir, double energy,
48  G4int parCode,HcalZDCDetId::Section section, bool side, int channel);
49  int photonFluctuation(double eav, double esig,double edis);
50  int encodePartID(G4int parCode);
51 
52  protected:
53 
54 private:
55 
56  bool verbose;
57  G4int emPDG, epPDG, gammaPDG;
60 
61  int npe;
62  std::vector<ZdcShowerLibrary::Hit> hits;
63 
64 };
65 #endif
G4ThreeVector entryLocal
std::vector< Hit > & getHits(G4Step *aStep, bool &ok)
type of data representation of DDCompactView
Definition: DDCompactView.h:90
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)
ZdcShowerLibrary(const std::string &name, const DDCompactView &cpv, edm::ParameterSet const &p)
int encodePartID(G4int parCode)
void initRun(G4ParticleTable *theParticleTable)