CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TwoBowedSurfacesDeformation.h
Go to the documentation of this file.
1 #ifndef GeometryCommonTopologiesTwoBowedSurfacesDeformation_H
2 #define GeometryCommonTopologiesTwoBowedSurfacesDeformation_H
3 
14 
16 
17 #include<array>
18 
20 {
21  public:
38  TwoBowedSurfacesDeformation(const std::vector<double> &parameters);
39 
40  virtual TwoBowedSurfacesDeformation* clone() const;
41 
43  virtual int type() const;
44 
51  virtual Local2DVector positionCorrection(const Local2DPoint &localPos,
52  const LocalTrackAngles &localAngles,
53  double length, double width) const;
54 
59  virtual bool add(const SurfaceDeformation &other);
60 
62  virtual std::vector<double> parameters() const;
63 
64  // the size
65  static constexpr unsigned int parSize = 13;
66  static constexpr unsigned int parameterSize() { return parSize; }
67 
68 
70  static constexpr unsigned int minParameterSize() { return parameterSize(); }
72  static constexpr unsigned int maxParameterSize() { return parameterSize();}
73 
74  // location of ySplit
75  static constexpr unsigned int k_ySplit() { return parameterSize()-1;}
76 
77  private:
79 };
80 
81 #endif
static constexpr unsigned int minParameterSize()
minimum size of vector that is accepted by constructor from vector
virtual Local2DVector positionCorrection(const Local2DPoint &localPos, const LocalTrackAngles &localAngles, double length, double width) const
static constexpr unsigned int parSize
static constexpr unsigned int maxParameterSize()
maximum size of vector that is accepted by constructor from vector
virtual int type() const
specific type, i.e. SurfaceDeformationFactory::kTwoBowedSurfaces
static constexpr unsigned int k_ySplit()
TwoBowedSurfacesDeformation(const std::vector< double > &parameters)
virtual std::vector< double > parameters() const
parameters - see constructor for meaning
static constexpr unsigned int parameterSize()
virtual bool add(const SurfaceDeformation &other)
virtual TwoBowedSurfacesDeformation * clone() const
#define constexpr