CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/SimG4CMS/Calo/interface/HFShowerPMT.h

Go to the documentation of this file.
00001 #ifndef SimG4CMS_HFShowerPMT_h
00002 #define SimG4CMS_HFShowerPMT_h
00003 
00004 // File: HFShowerPMT.h
00005 // Description: Maps HF PMT's to given 
00007 
00008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00009 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00010 #include "DetectorDescription/Core/interface/DDsvalues.h"
00011 #include "SimG4CMS/Calo/interface/HFCherenkov.h"
00012 
00013 class DDCompactView;    
00014 class G4Step;
00015 
00016 #include <string>
00017 #include <vector>
00018  
00019 class HFShowerPMT {
00020 
00021 public:    
00022 
00023   HFShowerPMT(std::string & name, const DDCompactView & cpv, 
00024               edm::ParameterSet const & p);
00025   virtual ~HFShowerPMT();
00026   double                getHits(G4Step * aStep);
00027   double                getRadius();
00028 
00029 private:    
00030 
00031   std::vector<double>   getDDDArray(const std::string&, const DDsvalues_type&);
00032 
00033 private:    
00034 
00035   HFCherenkov*          cherenkov;
00036   double                pePerGeV;        // PE per GeV of energy deposit
00037   int                   indexR, indexF;
00038   std::vector<double>   rTable;          // R-table
00039   std::vector<int>      pmtR1, pmtFib1;  // R-index, fibre table for right box
00040   std::vector<int>      pmtR2, pmtFib2;  // R-index, fibre table for left box
00041 
00042 };
00043 
00044 #endif // HFShowerPMT_h