CMS 3D CMS Logo

Public Types | Public Member Functions

SurfaceDeformation Class Reference

#include <SurfaceDeformation.h>

Inheritance diagram for SurfaceDeformation:
BowedSurfaceDeformation TwoBowedSurfacesDeformation

List of all members.

Public Types

typedef Topology::Local2DPoint Local2DPoint
typedef Vector2DBase< double,
LocalTag
Local2DVector
typedef Topology::LocalTrackAngles LocalTrackAngles

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
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

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).

Author:
: Gero Flucke date : October 2010
Revision:
1.3
Date:
2010/11/22 21:55:10

(last update by

Author:
flucke

)

Definition at line 23 of file SurfaceDeformation.h.


Member Typedef Documentation

Definition at line 27 of file SurfaceDeformation.h.

Definition at line 26 of file SurfaceDeformation.h.

Definition at line 28 of file SurfaceDeformation.h.


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 BowedSurfaceDeformation, and TwoBowedSurfacesDeformation.

Referenced by AlignableDetUnit::addSurfaceDeformation(), and ora::Sequences::create().

virtual SurfaceDeformation* SurfaceDeformation::clone ( ) const [pure virtual]
virtual std::vector<double> SurfaceDeformation::parameters ( ) const [pure virtual]

parameters - interpretation left to the concrete implementation

Implemented in BowedSurfaceDeformation, and TwoBowedSurfacesDeformation.

Referenced by BowedSurfaceDeformation::add(), and TwoBowedSurfacesDeformation::add().

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 BowedSurfaceDeformation, and TwoBowedSurfacesDeformation.

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

virtual int SurfaceDeformation::type ( ) const [pure virtual]