CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/RecoTracker/TkMSParametrization/interface/MSLayersKeeperX0AtEta.h

Go to the documentation of this file.
00001 #ifndef MSLayersKeeperX0AtEta_H
00002 #define MSLayersKeeperX0AtEta_H
00003 
00004 #include "RecoTracker/TkMSParametrization/interface/MSLayersKeeper.h"
00005 #include "FWCore/Framework/interface/EventSetup.h"
00006 class SumX0AtEtaDataProvider;
00007 class MSLayersKeeperX0Averaged;
00008 
00009 class MSLayersKeeperX0AtEta : public MSLayersKeeper {
00010 public:
00011   MSLayersKeeperX0AtEta() : isInitialised(false) { }
00012   virtual ~MSLayersKeeperX0AtEta() { }
00013   virtual void init(const edm::EventSetup &iSetup);
00014   virtual const MSLayersAtAngle & layers(float cotTheta) const;
00015 
00016 private:
00017   float eta(int idxBin) const;
00018   int idxBin(float eta) const;
00019   void setX0(std::vector<MSLayer>&, float eta, const SumX0AtEtaDataProvider &) const;
00020 
00021 private:
00022   bool isInitialised;
00023   int theHalfNBins; float theDeltaEta;
00024   std::vector<MSLayersAtAngle> theLayersData ;
00025   friend class MSLayersKeeperX0Averaged; 
00026 };
00027 
00028 #endif