CMS 3D CMS Logo

SurfaceDeformationFactory.h
Go to the documentation of this file.
1 #ifndef Geometry_CommonTopologies_SurfaceDeformationFactory_H
2 #define Geometry_CommonTopologies_SurfaceDeformationFactory_H
3 
10 
11 #include <vector>
12 #include <string>
13 
14 class SurfaceDeformation;
15 
17  enum Type {
18  // rigid body has no deformations! kRigidBody = 0,
19  kBowedSurface = 1, // BowedSurfaceDeformation
20  kTwoBowedSurfaces, // TwoBowedSurfacesDeformation
21  kNoDeformations // To please compilers
22  };
23 
25  Type surfaceDeformationType(const std::string &typeString);
27 
33  SurfaceDeformation *create(int type, const std::vector<double> &params);
34  SurfaceDeformation *create(const std::vector<double> &params);
35 
36 } // namespace SurfaceDeformationFactory
37 
38 #endif
std::string surfaceDeformationTypeName(const Type &type)
Type surfaceDeformationType(const std::string &typeString)
convert string to &#39;Type&#39; - exception if string is not known
SurfaceDeformation * create(int type, const std::vector< double > &params)