![]() |
![]() |
00001 #ifndef GeometryCommonTopologiesTwoBowedSurfacesDeformation_H 00002 #define GeometryCommonTopologiesTwoBowedSurfacesDeformation_H 00003 00019 00020 #include "Geometry/CommonTopologies/interface/SurfaceDeformation.h" 00021 00022 // already included in the above: 00023 // #include <vector> 00024 00025 class TwoBowedSurfacesDeformation : public SurfaceDeformation 00026 { 00027 public: 00044 TwoBowedSurfacesDeformation(const std::vector<double> ¶meters); 00045 00046 virtual TwoBowedSurfacesDeformation* clone() const; 00047 00049 virtual int type() const; 00050 00057 virtual Local2DVector positionCorrection(const Local2DPoint &localPos, 00058 const LocalTrackAngles &localAngles, 00059 double length, double width) const; 00060 00065 virtual bool add(const SurfaceDeformation &other); 00066 00068 virtual std::vector<double> parameters() const; 00069 00071 static unsigned int minParameterSize() { return 13;} 00073 static unsigned int maxParameterSize() { return 13;} 00074 00075 00076 private: 00077 std::vector<double> theParameters; 00078 }; 00079 00080 #endif