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 {
18  enum Type {
19  // rigid body has no deformations! kRigidBody = 0,
20  kBowedSurface = 1, // BowedSurfaceDeformation
21  kTwoBowedSurfaces, // TwoBowedSurfacesDeformation
22  kNoDeformations // To please compilers
23  };
24 
26  Type surfaceDeformationType(const std::string &typeString);
28 
29 
35  SurfaceDeformation* create(int type, const std::vector<double> &params);
36  SurfaceDeformation* create(const std::vector<double> &params);
37 
38 }
39 
40 #endif
type
Definition: HCALResponse.h:21
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)