CMS 3D CMS Logo

BowedSurfaceDeformation.h
Go to the documentation of this file.
1 #ifndef Geometry_CommonTopologies_BowedSurfaceDeformation_H
2 #define Geometry_CommonTopologies_BowedSurfaceDeformation_H
3 
14 
16 
17 // already included in the above:
18 // #include <vector>
19 
21 public:
23  BowedSurfaceDeformation(double sagittaX, double sagittaXY, double sagittaY)
24  : theSagittaX(sagittaX), theSagittaY(sagittaY), theSagittaXY(sagittaXY) {}
27  BowedSurfaceDeformation(const std::vector<double> &parameters);
28 
29  BowedSurfaceDeformation *clone() const override;
30 
32  int type() const override;
33 
41  const LocalTrackAngles &localAngles,
42  double length,
43  double width) const override;
44 
49  bool add(const SurfaceDeformation &other) override;
50 
52  std::vector<double> parameters() const override;
53 
54  // the size
55  static constexpr unsigned int parSize = 3;
56  static constexpr unsigned int parameterSize() { return parSize; }
57 
59  static constexpr unsigned int minParameterSize() { return parameterSize(); }
61  static constexpr unsigned int maxParameterSize() { return parameterSize(); }
62 
63 private:
64  double theSagittaX;
65  double theSagittaY;
66  double theSagittaXY;
67  // double theRelWidthLowY; // could be used for non-rectangular modules
68 };
69 
70 #endif
Point2DBase< float, LocalTag >
ApeEstimator_cff.width
width
Definition: ApeEstimator_cff.py:24
BowedSurfaceDeformation::minParameterSize
static constexpr unsigned int minParameterSize()
minimum size of vector that is accepted by constructor from vector
Definition: BowedSurfaceDeformation.h:59
BowedSurfaceDeformation
Definition: BowedSurfaceDeformation.h:20
BowedSurfaceDeformation::theSagittaY
double theSagittaY
Definition: BowedSurfaceDeformation.h:65
SurfaceDeformation::LocalTrackAngles
Topology::LocalTrackAngles LocalTrackAngles
Definition: SurfaceDeformation.h:22
BowedSurfaceDeformation::clone
BowedSurfaceDeformation * clone() const override
Definition: BowedSurfaceDeformation.cc:25
BowedSurfaceDeformation::parSize
static constexpr unsigned int parSize
Definition: BowedSurfaceDeformation.h:55
SurfaceDeformation
Definition: SurfaceDeformation.h:18
BowedSurfaceDeformation::type
int type() const override
specific type, i.e. SurfaceDeformationFactory::kBowedSurface
Definition: BowedSurfaceDeformation.cc:30
BowedSurfaceDeformation::parameterSize
static constexpr unsigned int parameterSize()
Definition: BowedSurfaceDeformation.h:56
BowedSurfaceDeformation::maxParameterSize
static constexpr unsigned int maxParameterSize()
maximum size of vector that is accepted by constructor from vector
Definition: BowedSurfaceDeformation.h:61
trackingPlots.other
other
Definition: trackingPlots.py:1460
Vector2DBase
Definition: Vector2DBase.h:8
SurfaceDeformation.h
BowedSurfaceDeformation::parameters
std::vector< double > parameters() const override
parameters, i.e. sagittae as given in the constructor
Definition: BowedSurfaceDeformation.cc:87
BowedSurfaceDeformation::positionCorrection
Local2DVector positionCorrection(const Local2DPoint &localPos, const LocalTrackAngles &localAngles, double length, double width) const override
Definition: BowedSurfaceDeformation.cc:33
BowedSurfaceDeformation::add
bool add(const SurfaceDeformation &other) override
Definition: BowedSurfaceDeformation.cc:71
BowedSurfaceDeformation::theSagittaXY
double theSagittaXY
Definition: BowedSurfaceDeformation.h:66
BowedSurfaceDeformation::BowedSurfaceDeformation
BowedSurfaceDeformation(double sagittaX, double sagittaXY, double sagittaY)
constructor from sagittae, i.e. coefficients of Legendre polynomials
Definition: BowedSurfaceDeformation.h:23
BowedSurfaceDeformation::theSagittaX
double theSagittaX
Definition: BowedSurfaceDeformation.h:64