Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:56:12

0001 #ifndef Alignment_CommonAlignmentParametrization_AlignmentParametersFactory_h
0002 #define Alignment_CommonAlignmentParametrization_AlignmentParametersFactory_h
0003 
0004 /// \namespace AlignmentParametersFactory
0005 ///
0006 /// Factory interface to create AlignmentParameters for the known types,
0007 /// defined by the enum AlignmentParametersFactory::ParametersType.
0008 ///
0009 ///  $Date: 2010/09/10 11:19:23 $
0010 ///  $Revision: 1.4 $
0011 /// (last update by $Author: mussgill $)
0012 
0013 #include <string>
0014 #include <vector>
0015 
0016 class Alignable;
0017 class AlignmentParameters;
0018 
0019 namespace AlignmentParametersFactory {
0020   /// enums for all available AlignmentParameters
0021   enum ParametersType {
0022     kRigidBody = 0,    // RigidBodyAlignmentParameters
0023     kSurvey,           // SurveyParameters GF: do not belong here, so remove in the long
0024                        // term...
0025     kRigidBody4D,      // RigidBodyAlignmentParameters4D
0026     kBeamSpot,         // BeamSpotAlignmentParameters
0027     kBowedSurface,     // BowedSurfaceAlignmentParameters
0028     kTwoBowedSurfaces  // TwoBowedSurfacesAlignmentParameters
0029   };
0030 
0031   /// convert string to ParametersType - exception if not known
0032   ParametersType parametersType(const std::string &typeString);
0033   /// convert int to ParametersType (if same value) - exception if no
0034   /// corresponding type
0035   ParametersType parametersType(int typeInt);
0036   /// convert ParametersType to string understood by parametersType(string
0037   /// &typeString)
0038   std::string parametersTypeName(ParametersType parType);
0039 
0040   /// create AlignmentParameters of type 'parType' for Alignable 'ali' with
0041   /// selection 'sel' for active parameters
0042   AlignmentParameters *createParameters(Alignable *ali, ParametersType parType, const std::vector<bool> &sel);
0043 }  // namespace AlignmentParametersFactory
0044 
0045 #endif