00001 #ifndef SimG4CMS_HFShowerPMT_h 00002 #define SimG4CMS_HFShowerPMT_h 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 00012 class DDCompactView; 00013 class G4Step; 00014 00015 #include <string> 00016 #include <vector> 00017 00018 class HFShowerPMT { 00019 00020 public: 00021 00022 HFShowerPMT(std::string & name, const DDCompactView & cpv, 00023 edm::ParameterSet const & p); 00024 virtual ~HFShowerPMT(); 00025 double getHits(G4Step * aStep); 00026 double getRadius(); 00027 00028 private: 00029 00030 std::vector<double> getDDDArray(const std::string&, const DDsvalues_type&); 00031 00032 private: 00033 00034 double pePerGeV; // PE per GeV of energy deposit 00035 int indexR, indexF; 00036 std::vector<double> rTable; // R-table 00037 std::vector<int> pmtR1, pmtFib1; // R-index, fibre table for right box 00038 std::vector<int> pmtR2, pmtFib2; // R-index, fibre table for left box 00039 00040 }; 00041 00042 #endif // HFShowerPMT_h