CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions
SurfaceDeformation Class Referenceabstract

#include <SurfaceDeformation.h>

Inheritance diagram for SurfaceDeformation:
BowedSurfaceDeformation TwoBowedSurfacesDeformation

Public Types

typedef Topology::Local2DPoint Local2DPoint
 
typedef Vector2DBase< double, LocalTagLocal2DVector
 
typedef Topology::LocalTrackAngles LocalTrackAngles
 
typedef Topology::MathVector2D MathVector2D
 
typedef Topology::Vector2D Vector2D
 

Public Member Functions

virtual bool add (const SurfaceDeformation &other)=0
 
virtual SurfaceDeformationclone () const =0
 
virtual std::vector< double > parameters () const =0
 parameters - interpretation left to the concrete implementation More...
 
virtual Local2DVector positionCorrection (const Local2DPoint &localPos, const LocalTrackAngles &localAngles, double length, double width) const =0
 
virtual int type () const =0
 specific type, i.e. SurfaceDeformationFactory::Type More...
 
virtual ~SurfaceDeformation ()
 

Detailed Description

SurfaceDeformation

Abstract base class for corrections to be applied to 2D local positions on a surface if the surface is not perfectly following its parameterisaton (e.g. bows for a Plane).

Definition at line 18 of file SurfaceDeformation.h.

Member Typedef Documentation

Definition at line 22 of file SurfaceDeformation.h.

Definition at line 21 of file SurfaceDeformation.h.

Definition at line 23 of file SurfaceDeformation.h.

Definition at line 25 of file SurfaceDeformation.h.

Definition at line 24 of file SurfaceDeformation.h.

Constructor & Destructor Documentation

virtual SurfaceDeformation::~SurfaceDeformation ( )
inlinevirtual

Member Function Documentation

virtual bool SurfaceDeformation::add ( const SurfaceDeformation other)
pure virtual

update information with parameters of 'other', false in case the type or some parameters do not match and thus the information cannot be used (then no changes are done), true if merge was successful

Implemented in TwoBowedSurfacesDeformation, and BowedSurfaceDeformation.

Referenced by AlignableDetUnit::addSurfaceDeformation(), counter.Counter::register(), and ~SurfaceDeformation().

virtual SurfaceDeformation* SurfaceDeformation::clone ( ) const
pure virtual
virtual std::vector<double> SurfaceDeformation::parameters ( ) const
pure virtual
virtual Local2DVector SurfaceDeformation::positionCorrection ( const Local2DPoint localPos,
const LocalTrackAngles localAngles,
double  length,
double  width 
) const
pure virtual

correction to add to local position depending on

  • track parameters in local frame (from LocalTrajectoryParameters):
    • track position as Local2DPoint(x,y)
    • track angles as LocalTrackAngles(dxdz, dydz)
  • length of surface (local y-coordinate)
  • width of surface (local x-coordinate)

Implemented in TwoBowedSurfacesDeformation, and BowedSurfaceDeformation.

Referenced by ProxyStripTopology::positionCorrection(), ProxyPixelTopology::positionCorrection(), and ~SurfaceDeformation().

virtual int SurfaceDeformation::type ( ) const
pure virtual