CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/Alignment/CommonAlignmentParametrization/interface/AlignmentParametersFactory.h

Go to the documentation of this file.
00001 #ifndef Alignment_CommonAlignmentParametrization_AlignmentParametersFactory_h 
00002 #define Alignment_CommonAlignmentParametrization_AlignmentParametersFactory_h 
00003 
00012 
00013 #include <vector>
00014 #include <string>
00015 
00016 class Alignable;
00017 class AlignmentParameters;
00018 
00019 namespace AlignmentParametersFactory {
00021   enum ParametersType {
00022     kRigidBody = 0, // RigidBodyAlignmentParameters
00023     kSurvey,  // SurveyParameters GF: do not belong here, so remove in the long term...
00024     kRigidBody4D, // RigidBodyAlignmentParameters4D
00025     kBeamSpot, // BeamSpotAlignmentParameters
00026     kBowedSurface, // BowedSurfaceAlignmentParameters
00027     kTwoBowedSurfaces // TwoBowedSurfacesAlignmentParameters
00028   };
00029 
00031   ParametersType parametersType(const std::string &typeString);
00033   ParametersType parametersType(int typeInt);
00035   std::string parametersTypeName(ParametersType parType);
00036 
00039   AlignmentParameters* createParameters(Alignable *ali, ParametersType parType,
00040                                         const std::vector<bool> &sel);
00041 }
00042 
00043 #endif