CMS 3D CMS Logo

ZdcSD.h
Go to the documentation of this file.
1 #ifndef SimG4CMSForwardZdcSD_h
2 #define SimG4CMSForwardZdcSD_h
3 // File: ZdcSD.h
5 // Date: 02.04
6 // Description: Stores hits of Zdc in appropriate container
7 //
12 
13 class ZdcSD : public CaloSD {
14 public:
16 
17  ~ZdcSD() override = default;
18  bool ProcessHits(G4Step *step, G4TouchableHistory *tHistory) override;
19  uint32_t setDetUnitId(const G4Step *step) override;
20 
21  // bool getFromLibrary(const G4Step * step) override;
22 
23  double calculateCherenkovDeposit(const G4Step *);
24  double calculateMeanNumberOfPhotons(int, double, double);
25  double photonEnergyDist(int, double, double);
26  double generatePhotonEnergy(int, double, double);
27  double pmtEfficiency(double);
28  double convertEnergyToWavelength(double);
29 
30  double calculateN2InvIntegral(double);
31  double evaluateFunction(const std::vector<double> &, const std::vector<double> &, double);
32  double linearInterpolation(double, double, double, double, double);
33 
34 protected:
35  void initRun() override;
36 
37 private:
38  int verbosity;
40  int setTrackID(const G4Step *step) override;
41  double thFibDir;
43  std::unique_ptr<ZdcShowerLibrary> showerLibrary;
44  std::unique_ptr<ZdcNumberingScheme> numberingScheme;
45 
46  std::vector<ZdcShowerLibrary::Hit> hits;
47 };
48 
49 #endif // ZdcSD_h
double convertEnergyToWavelength(double)
Definition: ZdcSD.cc:357
double thFibDir
Definition: ZdcSD.h:41
std::unique_ptr< ZdcNumberingScheme > numberingScheme
Definition: ZdcSD.h:44
double photonEnergyDist(int, double, double)
Definition: ZdcSD.cc:256
double calculateN2InvIntegral(double)
Definition: ZdcSD.cc:284
Definition: CaloSD.h:40
int verbosity
Definition: ZdcSD.h:38
std::vector< ZdcShowerLibrary::Hit > hits
Definition: ZdcSD.h:46
bool useShowerHits
Definition: ZdcSD.h:39
double calculateCherenkovDeposit(const G4Step *)
Definition: ZdcSD.cc:131
double evaluateFunction(const std::vector< double > &, const std::vector< double > &, double)
Definition: ZdcSD.cc:329
~ZdcSD() override=default
int setTrackID(const G4Step *step) override
Definition: ZdcSD.cc:365
bool ProcessHits(G4Step *step, G4TouchableHistory *tHistory) override
Definition: ZdcSD.cc:73
ZdcSD(const std::string &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
Definition: ZdcSD.cc:32
void initRun() override
Definition: ZdcSD.cc:65
double calculateMeanNumberOfPhotons(int, double, double)
Definition: ZdcSD.cc:250
double pmtEfficiency(double)
Definition: ZdcSD.cc:299
std::unique_ptr< ZdcShowerLibrary > showerLibrary
Definition: ZdcSD.h:43
double zdcHitEnergyCut
Definition: ZdcSD.h:42
double generatePhotonEnergy(int, double, double)
Definition: ZdcSD.cc:271
step
Definition: StallMonitor.cc:83
double linearInterpolation(double, double, double, double, double)
Definition: ZdcSD.cc:349
Definition: ZdcSD.h:13
uint32_t setDetUnitId(const G4Step *step) override
Definition: ZdcSD.cc:361
bool useShowerLibrary
Definition: ZdcSD.h:39