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