CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/DataFormats/JetReco/interface/DiscretizedEnergyFlow.h

Go to the documentation of this file.
00001 
00014 #ifndef DataFormats_FFTJetAlgorithms_DiscretizedEnergyFlow_h
00015 #define DataFormats_FFTJetAlgorithms_DiscretizedEnergyFlow_h
00016 
00017 #include <vector>
00018 #include <string>
00019 
00020 namespace reco {
00021   class DiscretizedEnergyFlow
00022   {
00023   public:
00024     inline DiscretizedEnergyFlow() 
00025         : title_(""), etaMin_(0.0), etaMax_(0.0), phiBin0Edge_(0.0),
00026           nEtaBins_(0), nPhiBins_(0) {}
00027 
00028     DiscretizedEnergyFlow(const double* data, const char* title,
00029                           double etaMin, double etaMax,
00030                           double phiBin0Edge, unsigned nEtaBins,
00031                           unsigned nPhiBins);
00032 
00033     inline const double* data() const
00034     {
00035         if (data_.empty()) return 0;
00036         else return &data_[0];
00037     }
00038     inline const char* title() const {return title_.c_str();}
00039     inline double etaMin() const {return etaMin_;}
00040     inline double etaMax() const {return etaMax_;}
00041     inline double phiBin0Edge() const {return phiBin0Edge_;}
00042     inline unsigned nEtaBins() const {return nEtaBins_;}
00043     inline unsigned nPhiBins() const {return nPhiBins_;}
00044     
00045   private:
00046     std::vector<double> data_;
00047     std::string title_;
00048     double etaMin_;
00049     double etaMax_;
00050     double phiBin0Edge_;
00051     unsigned nEtaBins_;
00052     unsigned nPhiBins_;
00053   };
00054 }
00055 
00056 #endif // DataFormats_FFTJetAlgorithms_DiscretizedEnergyFlow_h