CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
BowedSurfaceDeformation.h
Go to the documentation of this file.
1 #ifndef Geometry_CommonTopologies_BowedSurfaceDeformation_H
2 #define Geometry_CommonTopologies_BowedSurfaceDeformation_H
3 
17 
19 
20 // already included in the above:
21 // #include <vector>
22 
24 {
25  public:
27  BowedSurfaceDeformation(double sagittaX, double sagittaXY, double sagittaY) :
28  theSagittaX(sagittaX), theSagittaXY(sagittaXY), theSagittaY(sagittaY) { }
31  BowedSurfaceDeformation(const std::vector<double> &parameters);
32 
33  virtual BowedSurfaceDeformation* clone() const;
34 
36  virtual int type() const;
37 
44  virtual Local2DVector positionCorrection(const Local2DPoint &localPos,
45  const LocalTrackAngles &localAngles,
46  double length, double width) const;
47 
52  virtual bool add(const SurfaceDeformation &other);
53 
55  virtual std::vector<double> parameters() const;
56 
58  static unsigned int minParameterSize() { return 3;}
60  static unsigned int maxParameterSize() { return 3;}
61 
62  private:
63  double theSagittaX;
64  double theSagittaXY;
65  double theSagittaY;
66  // double theRelWidthLowY; // could be used for non-rectangular modules
67 };
68 
69 #endif
Topology::LocalTrackAngles LocalTrackAngles
virtual BowedSurfaceDeformation * clone() const
static unsigned int minParameterSize()
minimum size of vector that is accepted by constructor from vector
virtual int type() const
specific type, i.e. SurfaceDeformationFactory::kBowedSurface
static unsigned int maxParameterSize()
maximum size of vector that is accepted by constructor from vector
virtual std::vector< double > parameters() const
parameters, i.e. sagittae as given in the constructor
virtual Local2DVector positionCorrection(const Local2DPoint &localPos, const LocalTrackAngles &localAngles, double length, double width) const
virtual bool add(const SurfaceDeformation &other)
BowedSurfaceDeformation(double sagittaX, double sagittaXY, double sagittaY)
constructor from sagittae, i.e. coefficients of Legendre polynomials