CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/SimG4CMS/Calo/interface/HFShowerFibreBundle.h

Go to the documentation of this file.
00001 #ifndef SimG4CMS_HFShowerFibreBundle_h
00002 #define SimG4CMS_HFShowerFibreBundle_h
00003 
00004 // File: HFShowerFibreBundle.h
00005 // Description: Get energy deposits for HFShower PMT's
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 HFShowerFibreBundle {
00020 
00021 public:    
00022 
00023   HFShowerFibreBundle(std::string & name, const DDCompactView & cpv, 
00024                       edm::ParameterSet const & p);
00025   virtual ~HFShowerFibreBundle();
00026   double                getHits(G4Step * aStep, bool type);
00027   double                getRadius();
00028 
00029 private:    
00030 
00031   std::vector<double>   getDDDArray(const std::string&, const DDsvalues_type&);
00032 
00033 private:    
00034 
00035   HFCherenkov           *cherenkov1, *cherenkov2;
00036   double                facTube, facCone; //Packing factors
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 #endif // HFShowerFibreBundle_h