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