Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
Geometry
CommonTopologies
interface
SurfaceDeformation.h
Go to the documentation of this file.
1
#ifndef Geometry_CommonTopologies_SurfaceDeformation_H
2
#define Geometry_CommonTopologies_SurfaceDeformation_H
3
10
11
#include "
DataFormats/GeometryVector/interface/Vector2DBase.h
"
12
#include "
DataFormats/GeometryVector/interface/Point2DBase.h
"
13
#include "
DataFormats/GeometryVector/interface/LocalTag.h
"
14
#include "
Geometry/CommonTopologies/interface/Topology.h
"
15
16
#include <vector>
17
18
class
SurfaceDeformation
19
{
20
public
:
21
typedef
Vector2DBase<double, LocalTag>
Local2DVector
;
22
typedef
Topology::Local2DPoint
Local2DPoint
;
23
typedef
Topology::LocalTrackAngles
LocalTrackAngles
;
24
typedef
Topology::Vector2D
Vector2D
;
25
typedef
Topology::MathVector2D
MathVector2D
;
26
27
virtual
~SurfaceDeformation
() {}
28
29
virtual
SurfaceDeformation
*
clone
()
const
= 0;
30
32
virtual
int
type
()
const
= 0;
33
40
virtual
Local2DVector
positionCorrection
(
const
Local2DPoint
&localPos,
41
const
LocalTrackAngles
&localAngles,
42
double
length,
double
width
)
const
= 0;
43
48
virtual
bool
add
(
const
SurfaceDeformation
&other) = 0;
49
50
// Seems like only GeometryAligner and derived classes need access
51
// to parameters, so we could make it a friend and protect parameters()...
52
// friend class GeometryAligner; // to be able to call parameters
53
// protected:
54
56
virtual
std::vector<double>
parameters
()
const
= 0;
57
58
};
59
60
#endif
Basic2DVector< double >
Vector2DBase.h
Topology.h
Point2DBase.h
SurfaceDeformation::Vector2D
Topology::Vector2D Vector2D
Definition:
SurfaceDeformation.h:24
tablePrinter.width
int width
Definition:
tablePrinter.py:59
SurfaceDeformation::LocalTrackAngles
Topology::LocalTrackAngles LocalTrackAngles
Definition:
SurfaceDeformation.h:23
SurfaceDeformation
Definition:
SurfaceDeformation.h:18
Point2DBase< double, LocalTag >
mathSSE::Vec2< double >
LocalTag.h
SurfaceDeformation::parameters
virtual std::vector< double > parameters() const =0
parameters - interpretation left to the concrete implementation
SurfaceDeformation::MathVector2D
Topology::MathVector2D MathVector2D
Definition:
SurfaceDeformation.h:25
SurfaceDeformation::positionCorrection
virtual Local2DVector positionCorrection(const Local2DPoint &localPos, const LocalTrackAngles &localAngles, double length, double width) const =0
Vector2DBase
Definition:
Vector2DBase.h:9
SurfaceDeformation::clone
virtual SurfaceDeformation * clone() const =0
SurfaceDeformation::type
virtual int type() const =0
specific type, i.e. SurfaceDeformationFactory::Type
SurfaceDeformation::Local2DVector
Vector2DBase< double, LocalTag > Local2DVector
Definition:
SurfaceDeformation.h:21
SurfaceDeformation::add
virtual bool add(const SurfaceDeformation &other)=0
SurfaceDeformation::Local2DPoint
Topology::Local2DPoint Local2DPoint
Definition:
SurfaceDeformation.h:22
Topology::LocalTrackAngles
Definition:
Topology.h:47
SurfaceDeformation::~SurfaceDeformation
virtual ~SurfaceDeformation()
Definition:
SurfaceDeformation.h:27
Generated for CMSSW Reference Manual by
1.8.5