CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MSLayersKeeper.h
Go to the documentation of this file.
1 #ifndef MSLayersKeeper_H
2 #define MSLayersKeeper_H
3 
4 class DetLayer;
5 
9 
11 public:
12  virtual ~MSLayersKeeper() { }
13  virtual MSLayer layer(const DetLayer* dl) const
14  { return MSLayer(dl,DataX0(this)); }
15  virtual const MSLayersAtAngle & layers(float cotTheta) const = 0;
16  virtual void init(const edm::EventSetup &iSetup) { }
17 protected:
19  const DataX0 & getDataX0(const MSLayer & l) const { return l.theX0Data; }
20  void setDataX0(MSLayer & l, DataX0 x0Data) const { l.theX0Data = x0Data; }
21 };
22 
23 #endif
virtual void init(const edm::EventSetup &iSetup)
MSLayer::DataX0 DataX0
DataX0 theX0Data
Definition: MSLayer.h:58
virtual const MSLayersAtAngle & layers(float cotTheta) const =0
virtual MSLayer layer(const DetLayer *dl) const
virtual ~MSLayersKeeper()
const DataX0 & getDataX0(const MSLayer &l) const
void setDataX0(MSLayer &l, DataX0 x0Data) const