CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/Alignment/CommonAlignmentParametrization/interface/BowedSurfaceAlignmentDerivatives.h

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, // NOTE: slope(u) -> k*tan(beta), 
00032     dslopeY, //       slope(v) -> k*tan(alpha)
00033     drotZ,   // rotation around w axis, scaled by gammaScale
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