#include <TwoBowedSurfacesDeformation.h>
Public Member Functions | |
bool | add (const SurfaceDeformation &other) override |
TwoBowedSurfacesDeformation * | clone () const override |
std::vector< double > | parameters () const override |
parameters - see constructor for meaning More... | |
Local2DVector | positionCorrection (const Local2DPoint &localPos, const LocalTrackAngles &localAngles, double length, double width) const override |
TwoBowedSurfacesDeformation (const std::vector< double > ¶meters) | |
int | type () const override |
specific type, i.e. SurfaceDeformationFactory::kTwoBowedSurfaces More... | |
Public Member Functions inherited from SurfaceDeformation | |
virtual | ~SurfaceDeformation () |
Static Public Member Functions | |
static constexpr unsigned int | k_ySplit () |
static constexpr unsigned int | maxParameterSize () |
maximum size of vector that is accepted by constructor from vector More... | |
static constexpr unsigned int | minParameterSize () |
minimum size of vector that is accepted by constructor from vector More... | |
static constexpr unsigned int | parameterSize () |
Static Public Attributes | |
static constexpr unsigned int | parSize = 13 |
Private Attributes | |
double | theParameters [parSize] |
Additional Inherited Members | |
Public Types inherited from SurfaceDeformation | |
typedef Topology::Local2DPoint | Local2DPoint |
typedef Vector2DBase< double, LocalTag > | Local2DVector |
typedef Topology::LocalTrackAngles | LocalTrackAngles |
typedef Topology::MathVector2D | MathVector2D |
typedef Topology::Vector2D | Vector2D |
TwoBowedSurfacesAlignmentParameters
Class to apply corrections to local positions resulting from two surfaces chained in local y. Possible bows are parametrised using Legendre polynomials up to second order, excluding 0th and 1st order that are already treated by local w shift and rotations around local u and v axes. In addition store relative shifts and rotations of the two surfaces.
Definition at line 19 of file TwoBowedSurfacesDeformation.h.
TwoBowedSurfacesDeformation::TwoBowedSurfacesDeformation | ( | const std::vector< double > & | pars | ) |
Constructor from vector of parameters, its size() must be between minParameterSize() and maxParameterSize(). The parameters are (in that order)
Definition at line 13 of file TwoBowedSurfacesDeformation.cc.
References mps_fire::i, SiStripPI::min, parameterSize(), and theParameters.
Referenced by clone().
|
overridevirtual |
update information with parameters of 'other', false in case the type or some parameters do not match and thus the information cannot be used (then no changes are done), true if merge was successful
Implements SurfaceDeformation.
Definition at line 98 of file TwoBowedSurfacesDeformation.cc.
References alignCSCRings::e, mps_fire::i, k_ySplit(), SurfaceDeformation::parameters(), parameterSize(), theParameters, SurfaceDeformation::type(), and type().
Referenced by counter.Counter::register().
|
overridevirtual |
Implements SurfaceDeformation.
Definition at line 26 of file TwoBowedSurfacesDeformation.cc.
References TwoBowedSurfacesDeformation().
|
inlinestatic |
Definition at line 74 of file TwoBowedSurfacesDeformation.h.
References parameterSize().
Referenced by add(), and positionCorrection().
|
inlinestatic |
maximum size of vector that is accepted by constructor from vector
Definition at line 71 of file TwoBowedSurfacesDeformation.h.
References parameterSize().
Referenced by SurfaceDeformationFactory::create().
|
inlinestatic |
minimum size of vector that is accepted by constructor from vector
Definition at line 69 of file TwoBowedSurfacesDeformation.h.
References parameterSize().
Referenced by SurfaceDeformationFactory::create().
|
overridevirtual |
parameters - see constructor for meaning
Implements SurfaceDeformation.
Definition at line 125 of file TwoBowedSurfacesDeformation.cc.
References parameterSize(), and theParameters.
|
inlinestatic |
Definition at line 66 of file TwoBowedSurfacesDeformation.h.
References parSize.
Referenced by add(), k_ySplit(), maxParameterSize(), minParameterSize(), parameters(), and TwoBowedSurfacesDeformation().
|
overridevirtual |
correction to add to local position depending on
Implements SurfaceDeformation.
Definition at line 34 of file TwoBowedSurfacesDeformation.cc.
References Topology::LocalTrackAngles::dxdz(), Topology::LocalTrackAngles::dydz(), k_ySplit(), jetcorrextractor::sign(), theParameters, x, PV2DBase< T, PVType, FrameType >::x(), y, and PV2DBase< T, PVType, FrameType >::y().
|
overridevirtual |
specific type, i.e. SurfaceDeformationFactory::kTwoBowedSurfaces
Implements SurfaceDeformation.
Definition at line 31 of file TwoBowedSurfacesDeformation.cc.
References SurfaceDeformationFactory::kTwoBowedSurfaces.
Referenced by add().
|
static |
Definition at line 65 of file TwoBowedSurfacesDeformation.h.
Referenced by parameterSize().
|
private |
Definition at line 77 of file TwoBowedSurfacesDeformation.h.
Referenced by add(), parameters(), positionCorrection(), and TwoBowedSurfacesDeformation().