CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/Geometry/CommonTopologies/interface/TwoBowedSurfacesDeformation.h

Go to the documentation of this file.
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> &parameters);
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