#include <TwoBowedSurfacesDeformation.h>
Public Member Functions | |
virtual bool | add (const SurfaceDeformation &other) |
virtual TwoBowedSurfacesDeformation * | clone () const |
virtual std::vector< double > | parameters () const |
parameters - see constructor for meaning More... | |
virtual Local2DVector | positionCorrection (const Local2DPoint &localPos, const LocalTrackAngles &localAngles, double length, double width) const |
TwoBowedSurfacesDeformation (const std::vector< double > ¶meters) | |
virtual int | type () const |
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 i, bookConverter::min, parameterSize(), and theParameters.
Referenced by clone().
|
virtual |
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 96 of file TwoBowedSurfacesDeformation.cc.
References i, k_ySplit(), LogDebug, SurfaceDeformation::parameters(), parameterSize(), theParameters, SurfaceDeformation::type(), and type().
|
virtual |
Implements SurfaceDeformation.
Definition at line 26 of file TwoBowedSurfacesDeformation.cc.
References TwoBowedSurfacesDeformation().
|
inlinestatic |
Definition at line 75 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 72 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 70 of file TwoBowedSurfacesDeformation.h.
References parameterSize().
Referenced by SurfaceDeformationFactory::create().
|
virtual |
parameters - see constructor for meaning
Implements SurfaceDeformation.
Definition at line 119 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().
|
virtual |
correction to add to local position depending on
Implements SurfaceDeformation.
Definition at line 39 of file TwoBowedSurfacesDeformation.cc.
References Topology::LocalTrackAngles::dxdz(), Topology::LocalTrackAngles::dydz(), k_ySplit(), theParameters, create_public_lumi_plots::width, x, PV2DBase< T, PVType, FrameType >::x(), detailsBasic3DVector::y, and PV2DBase< T, PVType, FrameType >::y().
|
virtual |
specific type, i.e. SurfaceDeformationFactory::kTwoBowedSurfaces
Implements SurfaceDeformation.
Definition at line 32 of file TwoBowedSurfacesDeformation.cc.
References SurfaceDeformationFactory::kTwoBowedSurfaces.
Referenced by cuy.ValElement::__init__(), and add().
|
static |
Definition at line 65 of file TwoBowedSurfacesDeformation.h.
Referenced by parameterSize().
|
private |
Definition at line 78 of file TwoBowedSurfacesDeformation.h.
Referenced by add(), parameters(), positionCorrection(), and TwoBowedSurfacesDeformation().