Go to the documentation of this file.00001 #ifndef Alignment_CommonAlignmentParametrization_BowedSurfaceAlignmentDerivatives_h
00002 #define Alignment_CommonAlignmentParametrization_BowedSurfaceAlignmentDerivatives_h
00003
00004 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
00005
00022
00023 class TrajectoryStateOnSurface;
00024
00025 class BowedSurfaceAlignmentDerivatives
00026 {
00027 public:
00028
00029 enum AlignmentParameterName {
00030 dx = 0, dy, dz,
00031 dslopeX,
00032 dslopeY,
00033 drotZ,
00034 dsagittaX, dsagittaXY, dsagittaY,
00035 N_PARAM
00036 };
00037
00039 AlgebraicMatrix operator()(const TrajectoryStateOnSurface &tsos,
00040 double uWidth, double vLength,
00041 bool doSplit = false, double ySplit = 0.) const;
00042
00045 static double gammaScale(double width, double splitLength);
00046 };
00047
00048 #endif