CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/SimG4CMS/Calo/interface/HcalQie.h

Go to the documentation of this file.
00001 #ifndef SimG4CMS_Calo_HcalQie_H
00002 #define SimG4CMS_Calo_HcalQie_H
00003 
00004 // File: HcalQie.h
00005 // Qie simulation for HCal hits
00007 
00008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00009 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00010 #include "SimDataFormats/CaloHit/interface/CaloHit.h"
00011 
00012 #include <vector>
00013 
00014 class HcalQie {
00015 
00016 public:
00017 
00018   HcalQie(edm::ParameterSet const & p);
00019   virtual ~HcalQie();
00020 
00021   std::vector<int>     getCode(int, std::vector<CaloHit>);
00022   double               getEnergy(std::vector<int>);
00023 
00024 private:
00025   
00026   std::vector<double>  shape();
00027   std::vector<int>     code();
00028   std::vector<double>  charge();
00029   std::vector<double>  weight(int binofmax, int mode, int npre, int numbucket);
00030   double               codeToQ(int ic);
00031   int                  getCode(double charge);
00032   double               getShape(double time);
00033 
00034 private:
00035 
00036   std::vector<double>  shape_;
00037   std::vector<int>     code_;
00038   std::vector<double>  charge_;
00039   int                  binOfMax, signalBuckets, preSamples, numOfBuckets;
00040   std::vector<double>  weight_;
00041   double               sigma, qToPE, eDepPerPE, baseline;
00042   int                  bmin_, bmax_;
00043   double               phase_, rescale_;
00044 
00045 };
00046 
00047 #endif