CMS 3D CMS Logo

TSiStripRecHit2DLocalPos Class Reference

#include <RecoTracker/TransientTrackingRecHit/interface/TSiStripRecHit2DLocalPos.h>

Inheritance diagram for TSiStripRecHit2DLocalPos:

TransientTrackingRecHit TrackingRecHit ReferenceCounted

List of all members.

Public Types

typedef SiStripRecHit2D::ClusterRef SiStripClusterRef
typedef edm::LazyGetter
< SiStripCluster >::value_ref 
SiStripRegionalClusterRef

Public Member Functions

virtual bool canImproveWithTrack () const
 Returns true if the clone( const TrajectoryStateOnSurface&) method returns an improved hit, false if it returns an identical copy.
virtual RecHitPointer clone (const TrajectoryStateOnSurface &ts) const
 Returns a copy of the hit with parameters and errors computed with respect to the TrajectoryStateOnSurface given as argument.
const
StripClusterParameterEstimator
cpe () const
virtual const GeomDetUnitdetUnit () const
 CAUTION: the GeomDetUnit* is zero for composite hits (matched hits in the tracker, segments in the muon).
virtual int dimension () const
virtual void getKfComponents (KfComponentsHolder &holder) const
virtual const TrackingRecHithit () const
virtual LocalPoint localPosition () const
virtual LocalError localPositionError () const
virtual AlgebraicVector parameters () const
virtual AlgebraicSymMatrix parametersError () const
virtual AlgebraicMatrix projectionMatrix () const
virtual std::vector
< TrackingRecHit * > 
recHits ()
 Non-const access to component RecHits (if any).
virtual std::vector< const
TrackingRecHit * > 
recHits () const
 Access to component RecHits (if any).
const SiStripRecHit2DspecificHit () const
virtual ~TSiStripRecHit2DLocalPos ()

Static Public Member Functions

static RecHitPointer build (const LocalPoint &pos, const LocalError &err, const GeomDet *det, const SiStripRegionalClusterRef clust, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1.)
static RecHitPointer build (const LocalPoint &pos, const LocalError &err, const GeomDet *det, const SiStripClusterRef clust, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1.)
static RecHitPointer build (const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1.)

Private Member Functions

virtual TSiStripRecHit2DLocalPosclone () const
 TSiStripRecHit2DLocalPos (const LocalPoint &pos, const LocalError &err, const GeomDet *det, const SiStripRegionalClusterRef clust, const StripClusterParameterEstimator *cpe, float weight, float annealing)
 TSiStripRecHit2DLocalPos (const LocalPoint &pos, const LocalError &err, const GeomDet *det, const SiStripClusterRef clust, const StripClusterParameterEstimator *cpe, float weight, float annealing)
 Creates the TrackingRecHit internally, avoids redundent cloning.
 TSiStripRecHit2DLocalPos (const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, float weight, float annealing)

Private Attributes

const
StripClusterParameterEstimator
theCPE
SiStripRecHit2D theHitData


Detailed Description

Definition at line 11 of file TSiStripRecHit2DLocalPos.h.


Member Typedef Documentation

typedef SiStripRecHit2D::ClusterRef TSiStripRecHit2DLocalPos::SiStripClusterRef

Definition at line 14 of file TSiStripRecHit2DLocalPos.h.

typedef edm::LazyGetter<SiStripCluster>::value_ref TSiStripRecHit2DLocalPos::SiStripRegionalClusterRef

Definition at line 16 of file TSiStripRecHit2DLocalPos.h.


Constructor & Destructor Documentation

virtual TSiStripRecHit2DLocalPos::~TSiStripRecHit2DLocalPos (  )  [inline, virtual]

Definition at line 18 of file TSiStripRecHit2DLocalPos.h.

00018 {}

TSiStripRecHit2DLocalPos::TSiStripRecHit2DLocalPos ( const GeomDet geom,
const SiStripRecHit2D rh,
const StripClusterParameterEstimator cpe,
float  weight,
float  annealing 
) [inline, private]

Definition at line 87 of file TSiStripRecHit2DLocalPos.h.

Referenced by build(), and clone().

00089                                                            : 
00090     TransientTrackingRecHit(geom, weight, annealing), theHitData(*rh), theCPE(cpe) 
00091   {}

TSiStripRecHit2DLocalPos::TSiStripRecHit2DLocalPos ( const LocalPoint pos,
const LocalError err,
const GeomDet det,
const SiStripClusterRef  clust,
const StripClusterParameterEstimator cpe,
float  weight,
float  annealing 
) [inline, private]

Creates the TrackingRecHit internally, avoids redundent cloning.

Definition at line 94 of file TSiStripRecHit2DLocalPos.h.

00098                                                            :
00099     TransientTrackingRecHit(det, weight, annealing), theHitData(pos, err, det->geographicalId(), clust), 
00100     theCPE(cpe){} 

TSiStripRecHit2DLocalPos::TSiStripRecHit2DLocalPos ( const LocalPoint pos,
const LocalError err,
const GeomDet det,
const SiStripRegionalClusterRef  clust,
const StripClusterParameterEstimator cpe,
float  weight,
float  annealing 
) [inline, private]

Definition at line 107 of file TSiStripRecHit2DLocalPos.h.

00111                                                            :
00112     TransientTrackingRecHit(det, weight, annealing), theHitData(pos, err, det->geographicalId(), clust), 
00113     theCPE(cpe){} 
  


Member Function Documentation

static RecHitPointer TSiStripRecHit2DLocalPos::build ( const LocalPoint pos,
const LocalError err,
const GeomDet det,
const SiStripRegionalClusterRef  clust,
const StripClusterParameterEstimator cpe,
float  weight = 1.,
float  annealing = 1. 
) [inline, static]

Definition at line 72 of file TSiStripRecHit2DLocalPos.h.

References TSiStripRecHit2DLocalPos(), and TransientTrackingRecHit::weight().

00076                                                                    {
00077     return RecHitPointer( new TSiStripRecHit2DLocalPos( pos, err, det, clust, cpe, weight, annealing));
00078   }

static RecHitPointer TSiStripRecHit2DLocalPos::build ( const LocalPoint pos,
const LocalError err,
const GeomDet det,
const SiStripClusterRef  clust,
const StripClusterParameterEstimator cpe,
float  weight = 1.,
float  annealing = 1. 
) [inline, static]

Definition at line 64 of file TSiStripRecHit2DLocalPos.h.

References TSiStripRecHit2DLocalPos(), and TransientTrackingRecHit::weight().

00068                                                                    {
00069     return RecHitPointer( new TSiStripRecHit2DLocalPos( pos, err, det, clust, cpe, weight, annealing));
00070   }

static RecHitPointer TSiStripRecHit2DLocalPos::build ( const GeomDet geom,
const SiStripRecHit2D rh,
const StripClusterParameterEstimator cpe,
float  weight = 1.,
float  annealing = 1. 
) [inline, static]

Definition at line 58 of file TSiStripRecHit2DLocalPos.h.

References TSiStripRecHit2DLocalPos(), and TransientTrackingRecHit::weight().

Referenced by TkTransientTrackingRecHitBuilder::build(), TkStripMeasurementDet::buildRecHit(), clone(), ProjectedRecHit2D::clone(), ProjectedRecHit2D::transientHits(), and TSiStripMatchedRecHit::transientHits().

00060                                                                    {
00061     return RecHitPointer( new TSiStripRecHit2DLocalPos( geom, rh, cpe, weight, annealing));
00062   }

virtual bool TSiStripRecHit2DLocalPos::canImproveWithTrack (  )  const [inline, virtual]

Returns true if the clone( const TrajectoryStateOnSurface&) method returns an improved hit, false if it returns an identical copy.

In order to avoid redundent copies one should call canImproveWithTrack() before calling clone( const TrajectoryStateOnSurface&).

Reimplemented from TransientTrackingRecHit.

Definition at line 48 of file TSiStripRecHit2DLocalPos.h.

00048 {return true;}

virtual TSiStripRecHit2DLocalPos* TSiStripRecHit2DLocalPos::clone ( void   )  const [inline, private, virtual]

Implements TransientTrackingRecHit.

Definition at line 117 of file TSiStripRecHit2DLocalPos.h.

References TSiStripRecHit2DLocalPos().

Referenced by clone().

00117                                                   {
00118     return new TSiStripRecHit2DLocalPos(*this);
00119   }

TransientTrackingRecHit::RecHitPointer TSiStripRecHit2DLocalPos::clone ( const TrajectoryStateOnSurface ts  )  const [virtual]

Returns a copy of the hit with parameters and errors computed with respect to the TrajectoryStateOnSurface given as argument.

For concrete hits not capable to improve their parameters and errors this method returns an exact copy, and is equivalent to clone() without arguments.

Reimplemented from TransientTrackingRecHit.

Definition at line 8 of file TSiStripRecHit2DLocalPos.cc.

References build(), clone(), SiStripRecHit2D::cluster(), SiStripRecHit2D::cluster_regional(), TransientTrackingRecHit::det(), detUnit(), TransientTrackingRecHit::getAnnealingFactor(), ClusterParameterEstimator< T >::localParameters(), TrajectoryStateOnSurface::localParameters(), lv, specificHit(), theCPE, and TransientTrackingRecHit::weight().

00009 {
00010   if (theCPE != 0) {
00011 
00013 
00014      if(!specificHit()->cluster().isNull()){
00015        const SiStripCluster&  clust = *specificHit()->cluster();  
00016            StripClusterParameterEstimator::LocalValues lv = 
00017       theCPE->localParameters( clust, *detUnit(), ts.localParameters());
00018            return TSiStripRecHit2DLocalPos::build( lv.first, lv.second, det(), 
00019                                                    specificHit()->cluster(), theCPE, weight(), getAnnealingFactor());
00020      }else{
00021        const SiStripCluster&  clust = *specificHit()->cluster_regional();  
00022        StripClusterParameterEstimator::LocalValues lv = 
00023          theCPE->localParameters( clust, *detUnit(), ts.localParameters());
00024        return TSiStripRecHit2DLocalPos::build( lv.first, lv.second, det(), 
00025                                                specificHit()->cluster_regional(), theCPE, weight(), getAnnealingFactor());       
00026      }
00027 
00028   }
00030   else return clone();
00031 }

const StripClusterParameterEstimator* TSiStripRecHit2DLocalPos::cpe (  )  const [inline]

Definition at line 56 of file TSiStripRecHit2DLocalPos.h.

References theCPE.

Referenced by ProjectedRecHit2D::ProjectedRecHit2D().

00056 {return theCPE;}

const GeomDetUnit * TSiStripRecHit2DLocalPos::detUnit (  )  const [virtual]

CAUTION: the GeomDetUnit* is zero for composite hits (matched hits in the tracker, segments in the muon).

Always check this pointer before using it!

Reimplemented from TransientTrackingRecHit.

Definition at line 33 of file TSiStripRecHit2DLocalPos.cc.

References TransientTrackingRecHit::det().

Referenced by clone().

00034 {
00035   return static_cast<const GeomDetUnit*>(det());
00036 }

virtual int TSiStripRecHit2DLocalPos::dimension (  )  const [inline, virtual]

Implements TrackingRecHit.

Definition at line 32 of file TSiStripRecHit2DLocalPos.h.

References RecHit2DLocalPos::dimension(), and theHitData.

00032 {return theHitData.dimension();}

virtual void TSiStripRecHit2DLocalPos::getKfComponents ( KfComponentsHolder holder  )  const [inline, virtual]

Reimplemented from TrackingRecHit.

Definition at line 21 of file TSiStripRecHit2DLocalPos.h.

References TransientTrackingRecHit::det(), and theHitData.

00021                                                                     {
00022       HelpertRecHit2DLocalPos().getKfComponents(holder, theHitData, *det()); 
00023   }

virtual const TrackingRecHit* TSiStripRecHit2DLocalPos::hit ( void   )  const [inline, virtual]

Implements TransientTrackingRecHit.

Definition at line 37 of file TSiStripRecHit2DLocalPos.h.

References theHitData.

Referenced by recHits().

00037 {return &theHitData;};

virtual LocalPoint TSiStripRecHit2DLocalPos::localPosition (  )  const [inline, virtual]

Implements TrackingRecHit.

Definition at line 34 of file TSiStripRecHit2DLocalPos.h.

References BaseSiTrackerRecHit2DLocalPos::localPosition(), and theHitData.

00034 {return theHitData.localPosition();}

virtual LocalError TSiStripRecHit2DLocalPos::localPositionError (  )  const [inline, virtual]

Implements TrackingRecHit.

Definition at line 35 of file TSiStripRecHit2DLocalPos.h.

References BaseSiTrackerRecHit2DLocalPos::localPositionError(), and theHitData.

00035 {return theHitData.localPositionError();}

virtual AlgebraicVector TSiStripRecHit2DLocalPos::parameters ( void   )  const [inline, virtual]

Implements TrackingRecHit.

Definition at line 25 of file TSiStripRecHit2DLocalPos.h.

References RecHit2DLocalPos::parameters(), and theHitData.

00025 {return theHitData.parameters();}

virtual AlgebraicSymMatrix TSiStripRecHit2DLocalPos::parametersError (  )  const [inline, virtual]

Implements TrackingRecHit.

Definition at line 26 of file TSiStripRecHit2DLocalPos.h.

References TransientTrackingRecHit::det(), BaseSiTrackerRecHit2DLocalPos::localPositionError(), and theHitData.

00026                                                      {
00027     return HelpertRecHit2DLocalPos().parError( theHitData.localPositionError(), *det()); 
00028     //    return theHitData->parametersError();
00029   }

virtual AlgebraicMatrix TSiStripRecHit2DLocalPos::projectionMatrix (  )  const [inline, virtual]

Implements TrackingRecHit.

Definition at line 31 of file TSiStripRecHit2DLocalPos.h.

References RecHit2DLocalPos::projectionMatrix(), and theHitData.

00031 {return theHitData.projectionMatrix();}

virtual std::vector<TrackingRecHit*> TSiStripRecHit2DLocalPos::recHits (  )  [inline, virtual]

Non-const access to component RecHits (if any).

Implements TrackingRecHit.

Definition at line 42 of file TSiStripRecHit2DLocalPos.h.

References RecHit2DLocalPos::recHits(), and theHitData.

00042                                                {
00043     return theHitData.recHits();
00044   }

virtual std::vector<const TrackingRecHit*> TSiStripRecHit2DLocalPos::recHits (  )  const [inline, virtual]

Access to component RecHits (if any).

Implements TrackingRecHit.

Definition at line 39 of file TSiStripRecHit2DLocalPos.h.

References hit(), and TrackingRecHit::recHits().

00039                                                            {
00040     return hit()->recHits();
00041   }

const SiStripRecHit2D* TSiStripRecHit2DLocalPos::specificHit (  )  const [inline]

Definition at line 55 of file TSiStripRecHit2DLocalPos.h.

References theHitData.

Referenced by clone().

00055 {return &theHitData;};


Member Data Documentation

const StripClusterParameterEstimator* TSiStripRecHit2DLocalPos::theCPE [private]

Definition at line 85 of file TSiStripRecHit2DLocalPos.h.

Referenced by clone(), and cpe().

SiStripRecHit2D TSiStripRecHit2DLocalPos::theHitData [private]

Definition at line 84 of file TSiStripRecHit2DLocalPos.h.

Referenced by dimension(), getKfComponents(), hit(), localPosition(), localPositionError(), parameters(), parametersError(), projectionMatrix(), recHits(), and specificHit().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:34:39 2009 for CMSSW by  doxygen 1.5.4