Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:47

0001 #ifndef SimG4CMS_HFShowerPMT_h
0002 #define SimG4CMS_HFShowerPMT_h
0003 ///////////////////////////////////////////////////////////////////////////////
0004 // File: HFShowerPMT.h
0005 // Description: Maps HF PMT's to given
0006 ///////////////////////////////////////////////////////////////////////////////
0007 
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0010 #include "Geometry/HcalCommonData/interface/HcalDDDSimConstants.h"
0011 #include "CondFormats/GeometryObjects/interface/HcalSimulationParameters.h"
0012 #include "SimG4CMS/Calo/interface/HFCherenkov.h"
0013 
0014 class G4Step;
0015 
0016 #include <string>
0017 #include <vector>
0018 
0019 class HFShowerPMT {
0020 public:
0021   HFShowerPMT(const std::string& name,
0022               const HcalDDDSimConstants* hcons,
0023               const HcalSimulationParameters* hps,
0024               edm::ParameterSet const& p);
0025   virtual ~HFShowerPMT();
0026   double getHits(const G4Step* aStep);
0027   double getRadius();
0028 
0029 private:
0030   const HcalDDDSimConstants* hcalConstant_;
0031   const HcalSimulationParameters* hcalsimpar_;
0032   std::unique_ptr<HFCherenkov> cherenkov_;
0033   double pePerGeV;  // PE per GeV of energy deposit
0034   int indexR, indexF;
0035   std::vector<double> rTable;       // R-table
0036   std::vector<int> pmtR1, pmtFib1;  // R-index, fibre table for right box
0037   std::vector<int> pmtR2, pmtFib2;  // R-index, fibre table for left box
0038 };
0039 
0040 #endif  // HFShowerPMT_h