CMS 3D CMS Logo

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 public:
37  TwoBowedSurfacesDeformation(const std::vector<double> &parameters);
38 
39  TwoBowedSurfacesDeformation *clone() const override;
40 
42  int type() const override;
43 
51  const LocalTrackAngles &localAngles,
52  double length,
53  double width) const override;
54 
59  bool add(const SurfaceDeformation &other) override;
60 
62  std::vector<double> parameters() const override;
63 
64  // the size
65  static constexpr unsigned int parSize = 13;
66  static constexpr unsigned int parameterSize() { return parSize; }
67 
69  static constexpr unsigned int minParameterSize() { return parameterSize(); }
71  static constexpr unsigned int maxParameterSize() { return parameterSize(); }
72 
73  // location of ySplit
74  static constexpr unsigned int k_ySplit() { return parameterSize() - 1; }
75 
76 private:
78 };
79 
80 #endif
Point2DBase< double, LocalTag >
ApeEstimator_cff.width
width
Definition: ApeEstimator_cff.py:24
TwoBowedSurfacesDeformation::type
int type() const override
specific type, i.e. SurfaceDeformationFactory::kTwoBowedSurfaces
Definition: TwoBowedSurfacesDeformation.cc:31
TwoBowedSurfacesDeformation::add
bool add(const SurfaceDeformation &other) override
Definition: TwoBowedSurfacesDeformation.cc:98
TwoBowedSurfacesDeformation::parameters
std::vector< double > parameters() const override
parameters - see constructor for meaning
Definition: TwoBowedSurfacesDeformation.cc:125
SurfaceDeformation
Definition: SurfaceDeformation.h:18
TwoBowedSurfacesDeformation::positionCorrection
Local2DVector positionCorrection(const Local2DPoint &localPos, const LocalTrackAngles &localAngles, double length, double width) const override
Definition: TwoBowedSurfacesDeformation.cc:34
TwoBowedSurfacesDeformation::minParameterSize
static constexpr unsigned int minParameterSize()
minimum size of vector that is accepted by constructor from vector
Definition: TwoBowedSurfacesDeformation.h:69
TwoBowedSurfacesDeformation::k_ySplit
static constexpr unsigned int k_ySplit()
Definition: TwoBowedSurfacesDeformation.h:74
TwoBowedSurfacesDeformation::clone
TwoBowedSurfacesDeformation * clone() const override
Definition: TwoBowedSurfacesDeformation.cc:26
TwoBowedSurfacesDeformation::parSize
static constexpr unsigned int parSize
Definition: TwoBowedSurfacesDeformation.h:65
trackingPlots.other
other
Definition: trackingPlots.py:1467
Vector2DBase
Definition: Vector2DBase.h:8
TwoBowedSurfacesDeformation::theParameters
double theParameters[parSize]
Definition: TwoBowedSurfacesDeformation.h:77
SurfaceDeformation.h
TwoBowedSurfacesDeformation
Definition: TwoBowedSurfacesDeformation.h:19
Topology::LocalTrackAngles
Definition: Topology.h:44
TwoBowedSurfacesDeformation::maxParameterSize
static constexpr unsigned int maxParameterSize()
maximum size of vector that is accepted by constructor from vector
Definition: TwoBowedSurfacesDeformation.h:71
TwoBowedSurfacesDeformation::parameterSize
static constexpr unsigned int parameterSize()
Definition: TwoBowedSurfacesDeformation.h:66
TwoBowedSurfacesDeformation::TwoBowedSurfacesDeformation
TwoBowedSurfacesDeformation(const std::vector< double > &parameters)
Definition: TwoBowedSurfacesDeformation.cc:13