Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
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
*
clone
()
const
= 0;
28
30
virtual
int
type
()
const
= 0;
31
38
virtual
Local2DVector
positionCorrection
(
const
Local2DPoint
&localPos,
39
const
LocalTrackAngles
&localAngles,
40
double
length,
double
width
)
const
= 0;
41
46
virtual
bool
add
(
const
SurfaceDeformation
&other) = 0;
47
48
// Seems like only GeometryAligner and derived classes need access
49
// to parameters, so we could make it a friend and protect parameters()...
50
// friend class GeometryAligner; // to be able to call parameters
51
// protected:
52
54
virtual
std::vector<double>
parameters
()
const
= 0;
55
56
};
57
58
#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
Generated for CMSSW Reference Manual by
1.8.5