CMS 3D CMS Logo

Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes

ConformalMappingFit Class Reference

#include <ConformalMappingFit.h>

List of all members.

Classes

class  MappedPoint

Public Types

typedef Basic2DVector< double > PointXY
typedef TkRotation< double > Rotation

Public Member Functions

int charge () const
double chi2 () const
 ConformalMappingFit (const std::vector< PointXY > &hits, const std::vector< float > &errRPhi2, const Rotation *rotation=0)
Measurement1D curvature () const
Measurement1D directionPhi () const
void fixImpactParmaeter (double ip)
Measurement1D impactParameter () const
const Rotationrotation () const
void skipErrorCalculation ()
 ~ConformalMappingFit ()

Private Member Functions

void findRot (const PointXY &)
double phiRot () const

Private Attributes

bool myRotation
ParabolaFit theFit
const RotationtheRotation

Detailed Description

Definition at line 14 of file ConformalMappingFit.h.


Member Typedef Documentation

Definition at line 17 of file ConformalMappingFit.h.

Definition at line 16 of file ConformalMappingFit.h.


Constructor & Destructor Documentation

ConformalMappingFit::ConformalMappingFit ( const std::vector< PointXY > &  hits,
const std::vector< float > &  errRPhi2,
const Rotation rotation = 0 
)

Definition at line 7 of file ConformalMappingFit.cc.

References ParabolaFit::addPoint(), findRot(), i, point, theFit, and theRotation.

  : theRotation(rot), myRotation(rot==0)
{
  typedef ConformalMappingFit::MappedPoint<double> PointUV;
  int hits_size = hits.size();
  for ( int i= 0; i < hits_size; i++) {
    if (!theRotation) findRot( hits[i] );
    PointUV point( hits[i], 1./errRPhi2[i], theRotation); 
    theFit.addPoint( point.u(), point.v(), point.weight());
  }
}
ConformalMappingFit::~ConformalMappingFit ( )

Definition at line 30 of file ConformalMappingFit.cc.

References myRotation, and theRotation.

{ if( myRotation) delete theRotation; }

Member Function Documentation

int ConformalMappingFit::charge ( void  ) const

Definition at line 57 of file ConformalMappingFit.cc.

References ParabolaFit::parA(), and theFit.

Referenced by PixelFitterByConformalMappingAndLine::run().

{ return (theFit.parA() > 0.) ? -1 : 1; }
double ConformalMappingFit::chi2 ( void  ) const [inline]

Definition at line 29 of file ConformalMappingFit.h.

References ParabolaFit::chi2(), and theFit.

Referenced by PixelFitterByConformalMappingAndLine::run().

{ return theFit.chi2(); }
Measurement1D ConformalMappingFit::curvature ( ) const

Definition at line 36 of file ConformalMappingFit.cc.

References ParabolaFit::parA(), mathSSE::sqrt(), theFit, and ParabolaFit::varAA().

Referenced by PixelFitterByConformalMappingAndLine::run().

{
  double val = fabs( 2. * theFit.parA() );
  double err  = 2.*sqrt(theFit.varAA());
  return Measurement1D(val,err);
}
Measurement1D ConformalMappingFit::directionPhi ( ) const

Definition at line 43 of file ConformalMappingFit.cc.

References ParabolaFit::parB(), phiRot(), mathSSE::sqrt(), theFit, and ParabolaFit::varBB().

Referenced by PixelFitterByConformalMappingAndLine::run().

{
  double val = phiRot() + atan(theFit.parB());
  double err = sqrt(theFit.varBB());
  return Measurement1D(val,err);
}
void ConformalMappingFit::findRot ( const PointXY p) [private]

Definition at line 20 of file ConformalMappingFit.cc.

References myRotation, theRotation, Vector3DBase< T, FrameTag >::unit(), PV3DBase< T, PVType, FrameType >::x(), Basic2DVector< T >::x(), PV3DBase< T, PVType, FrameType >::y(), and Basic2DVector< T >::y().

Referenced by ConformalMappingFit().

{
  myRotation = true;
  typedef  Rotation::GlobalVector GlobalVector; // ::GlobalVector is float!
  GlobalVector aX = GlobalVector( p.x(), p.y(), 0.).unit();
  GlobalVector aY( -aX.y(), aX.x(), 0.);
  GlobalVector aZ( 0., 0., 1.);
  theRotation = new Rotation(aX,aY,aZ);
}
void ConformalMappingFit::fixImpactParmaeter ( double  ip) [inline]

Definition at line 33 of file ConformalMappingFit.h.

References ParabolaFit::fixParC(), and theFit.

Referenced by PixelFitterByConformalMappingAndLine::run().

{ theFit.fixParC(ip); }
Measurement1D ConformalMappingFit::impactParameter ( ) const

Definition at line 50 of file ConformalMappingFit.cc.

References ParabolaFit::parC(), mathSSE::sqrt(), theFit, and ParabolaFit::varCC().

Referenced by PixelFitterByConformalMappingAndLine::run().

{
  double val = -theFit.parC(); 
  double err = sqrt(theFit.varCC());
  return Measurement1D(val,err);
}
double ConformalMappingFit::phiRot ( ) const [private]

Definition at line 33 of file ConformalMappingFit.cc.

References theRotation, TkRotation< T >::xx(), and TkRotation< T >::xy().

Referenced by directionPhi().

{ return atan2( theRotation->xy(), theRotation->xx() ); }
const Rotation* ConformalMappingFit::rotation ( void  ) const [inline]

Definition at line 31 of file ConformalMappingFit.h.

References theRotation.

{ return theRotation; }
void ConformalMappingFit::skipErrorCalculation ( ) [inline]

Member Data Documentation

Definition at line 41 of file ConformalMappingFit.h.

Referenced by findRot(), and ~ConformalMappingFit().