Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:51

0001 #ifndef MSLayersKeeper_H
0002 #define MSLayersKeeper_H
0003 
0004 class DetLayer;
0005 #include "FWCore/Utilities/interface/Visibility.h"
0006 
0007 #include "RecoTracker/TkMSParametrization/interface/MSLayer.h"
0008 #include "MSLayersAtAngle.h"
0009 #include "FWCore/Framework/interface/EventSetup.h"
0010 
0011 class dso_hidden MSLayersKeeper {
0012 public:
0013   virtual ~MSLayersKeeper() {}
0014   virtual MSLayer layer(const DetLayer* dl) const { return MSLayer(dl, DataX0(this)); }
0015   virtual const MSLayersAtAngle& layers(float cotTheta) const = 0;
0016 
0017 protected:
0018   typedef MSLayer::DataX0 DataX0;
0019   static const DataX0& getDataX0(const MSLayer& l) { return l.theX0Data; }
0020   static void setDataX0(MSLayer& l, const DataX0& x0Data) { l.theX0Data = x0Data; }
0021 };
0022 
0023 #endif