CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_2_9_HLT1_bphpatch4/src/RecoTracker/TkMSParametrization/interface/MSLayersKeeper.h

Go to the documentation of this file.
00001 #ifndef MSLayersKeeper_H
00002 #define MSLayersKeeper_H
00003 
00004 class DetLayer;
00005 
00006 #include "RecoTracker/TkMSParametrization/interface/MSLayer.h"
00007 #include "RecoTracker/TkMSParametrization/interface/MSLayersAtAngle.h"
00008 #include "FWCore/Framework/interface/EventSetup.h"
00009 
00010 class MSLayersKeeper {
00011 public:
00012   virtual ~MSLayersKeeper() { }
00013   virtual MSLayer layer(const DetLayer* dl) const 
00014     { return MSLayer(dl,DataX0(this)); }
00015   virtual const MSLayersAtAngle & layers(float cotTheta) const = 0;  
00016   virtual void init(const edm::EventSetup &iSetup) { }
00017 protected:
00018   typedef MSLayer::DataX0 DataX0;
00019   const DataX0 & getDataX0(const MSLayer & l) const { return l.theX0Data; }
00020   void  setDataX0(MSLayer & l, DataX0 x0Data) const { l.theX0Data = x0Data; }  
00021 };
00022 
00023 #endif