CMS 3D CMS Logo

ctfseeding::SeedingHit::SeedingHitImpl Class Reference

List of all members.

Public Member Functions

float errorRPhi () const
float errorRZ () const
void init (const GlobalPoint &gp)
float phi () const
float r () const
float rOrZ () const
 SeedingHitImpl (const TransientTrackingRecHit::ConstRecHitPointer &ttrh, const SeedingLayer &layer)
 SeedingHitImpl (const TrackingRecHit *hit, const SeedingLayer &layer, const edm::EventSetup &es)
 SeedingHitImpl (const TrackingRecHit *hit, const edm::EventSetup &es)
void setErrorsFromTTRH () const
const TrackingRecHittrackingRecHit () const
const
TransientTrackingRecHit::ConstRecHitPointer
transientRecHit () const
float z () const

Private Attributes

bool hasHitErrors
bool hasTransientHit
float theErrorRPhi
float theErrorRZ
SeedingLayer theLayer
float thePhi
float theR
const TrackingRecHittheRecHit
float theRZ
TransientTrackingRecHit::ConstRecHitPointer theTransientRecHit
float theZ


Detailed Description

Definition at line 21 of file SeedingHit.cc.


Constructor & Destructor Documentation

ctfseeding::SeedingHit::SeedingHitImpl::SeedingHitImpl ( const TrackingRecHit hit,
const edm::EventSetup es 
) [inline]

Definition at line 25 of file SeedingHit.cc.

References TrackingRecHit::geographicalId(), edm::EventSetup::get(), ctfseeding::SeedingHit::SeedingHitImpl::hasTransientHit, TrackingRecHit::localPosition(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), PixelSubdetector::PixelBarrel, DetId::subdetId(), ctfseeding::SeedingHit::SeedingHitImpl::thePhi, ctfseeding::SeedingHit::SeedingHitImpl::theR, ctfseeding::SeedingHit::SeedingHitImpl::theRecHit, ctfseeding::SeedingHit::SeedingHitImpl::theRZ, ctfseeding::SeedingHit::SeedingHitImpl::theZ, StripSubdetector::TIB, StripSubdetector::TOB, and PV3DBase< T, PVType, FrameType >::z().

00026     : theRecHit(hit), hasTransientHit(false)
00027   {
00028     edm::ESHandle<TrackerGeometry> tracker;
00029     es.get<TrackerDigiGeometryRecord>().get(tracker);
00030     GlobalPoint gp = tracker->idToDet(
00031         hit->geographicalId())->surface().toGlobal(hit->localPosition());
00032     thePhi = gp.phi();
00033     theR = gp.perp();
00034     theZ = gp.z();
00035     unsigned int subid=hit->geographicalId().subdetId();
00036     theRZ = (   subid == PixelSubdetector::PixelBarrel
00037              || subid == StripSubdetector::TIB
00038              || subid == StripSubdetector::TOB) ? theZ : theR;
00039   }

ctfseeding::SeedingHit::SeedingHitImpl::SeedingHitImpl ( const TrackingRecHit hit,
const SeedingLayer layer,
const edm::EventSetup es 
) [inline]

Definition at line 42 of file SeedingHit.cc.

References TrackingRecHit::geographicalId(), edm::EventSetup::get(), ctfseeding::SeedingHit::SeedingHitImpl::hasTransientHit, init, TrackingRecHit::localPosition(), and ctfseeding::SeedingHit::SeedingHitImpl::theRecHit.

00043     : theLayer(layer), theRecHit(hit), hasTransientHit(false)  
00044   {
00045     edm::ESHandle<TrackerGeometry> tracker;
00046     es.get<TrackerDigiGeometryRecord>().get(tracker);
00047     GlobalPoint gp = tracker->idToDet(
00048         hit->geographicalId())->surface().toGlobal(hit->localPosition());
00049     init(gp);
00050   }

ctfseeding::SeedingHit::SeedingHitImpl::SeedingHitImpl ( const TransientTrackingRecHit::ConstRecHitPointer ttrh,
const SeedingLayer layer 
) [inline]

Definition at line 52 of file SeedingHit.cc.

References ctfseeding::SeedingHit::SeedingHitImpl::hasTransientHit, init, ctfseeding::SeedingHit::SeedingHitImpl::theRecHit, and ctfseeding::SeedingHit::SeedingHitImpl::theTransientRecHit.

00053     : theLayer(layer), theTransientRecHit(ttrh), theRecHit(0), hasTransientHit(true)
00054   {
00055     GlobalPoint gp = theTransientRecHit->globalPosition();
00056     init(gp);
00057   }


Member Function Documentation

float ctfseeding::SeedingHit::SeedingHitImpl::errorRPhi (  )  const [inline]

Definition at line 88 of file SeedingHit.cc.

References ctfseeding::SeedingHit::SeedingHitImpl::errorRPhi(), ctfseeding::SeedingHit::SeedingHitImpl::hasHitErrors, ctfseeding::SeedingHit::SeedingHitImpl::setErrorsFromTTRH(), and ctfseeding::SeedingHit::SeedingHitImpl::theErrorRPhi.

Referenced by ctfseeding::SeedingHit::SeedingHitImpl::errorRPhi().

00088                           {
00089     if (!hasHitErrors) setErrorsFromTTRH(); 
00090     return theErrorRPhi;
00091   }

float ctfseeding::SeedingHit::SeedingHitImpl::errorRZ (  )  const [inline]

Definition at line 82 of file SeedingHit.cc.

References ctfseeding::SeedingHit::SeedingHitImpl::errorRZ(), ctfseeding::SeedingHit::SeedingHitImpl::hasHitErrors, ctfseeding::SeedingHit::SeedingHitImpl::setErrorsFromTTRH(), and ctfseeding::SeedingHit::SeedingHitImpl::theErrorRZ.

Referenced by ctfseeding::SeedingHit::SeedingHitImpl::errorRZ().

00082                         {
00083     if (!hasHitErrors) setErrorsFromTTRH(); 
00084     return theErrorRZ;
00085   }

void ctfseeding::SeedingHit::SeedingHitImpl::init ( const GlobalPoint gp  )  [inline]

Definition at line 59 of file SeedingHit.cc.

References GeomDetEnumerators::barrel, PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), ctfseeding::SeedingHit::SeedingHitImpl::theErrorRPhi, ctfseeding::SeedingHit::SeedingHitImpl::theErrorRZ, theLayer, ctfseeding::SeedingHit::SeedingHitImpl::thePhi, ctfseeding::SeedingHit::SeedingHitImpl::theR, ctfseeding::SeedingHit::SeedingHitImpl::theRZ, ctfseeding::SeedingHit::SeedingHitImpl::theZ, and PV3DBase< T, PVType, FrameType >::z().

00059                                     {
00060     thePhi =  gp.phi();
00061     theR = gp.perp();
00062     theZ = gp.z();
00063     theLayer.detLayer()->location();
00064     theRZ = (theLayer.detLayer()->location() == GeomDetEnumerators::barrel) ?  theZ : theR; 
00065     if (theLayer.hasPredefinedHitErrors()) {
00066       theErrorRZ = theLayer.predefinedHitErrorRZ(); 
00067       theErrorRPhi = theLayer.predefinedHitErrorRPhi();
00068     } else {
00069       theErrorRZ = 0.;
00070       theErrorRPhi = 0.;
00071     }
00072   }

float ctfseeding::SeedingHit::SeedingHitImpl::phi ( void   )  const [inline]

Definition at line 76 of file SeedingHit.cc.

References ctfseeding::SeedingHit::SeedingHitImpl::thePhi.

00076 {return thePhi;}

float ctfseeding::SeedingHit::SeedingHitImpl::r (  )  const [inline]

Definition at line 78 of file SeedingHit.cc.

References ctfseeding::SeedingHit::SeedingHitImpl::theR.

00078 {return theR; }

float ctfseeding::SeedingHit::SeedingHitImpl::rOrZ (  )  const [inline]

Definition at line 77 of file SeedingHit.cc.

References ctfseeding::SeedingHit::SeedingHitImpl::rOrZ(), and ctfseeding::SeedingHit::SeedingHitImpl::theRZ.

Referenced by ctfseeding::SeedingHit::SeedingHitImpl::rOrZ().

00077 { return theRZ; }

void ctfseeding::SeedingHit::SeedingHitImpl::setErrorsFromTTRH (  )  const [inline]

Definition at line 107 of file SeedingHit.cc.

References GeomDetEnumerators::barrel, GlobalErrorBase< T, ErrorWeightType >::czz(), ctfseeding::SeedingHit::SeedingHitImpl::hasHitErrors, GlobalErrorBase< T, ErrorWeightType >::phierr(), r, GlobalErrorBase< T, ErrorWeightType >::rerr(), ctfseeding::SeedingHit::SeedingHitImpl::setErrorsFromTTRH(), funct::sqrt(), ctfseeding::SeedingHit::SeedingHitImpl::theErrorRPhi, ctfseeding::SeedingHit::SeedingHitImpl::theErrorRZ, theLayer, and ctfseeding::SeedingHit::SeedingHitImpl::transientRecHit().

Referenced by ctfseeding::SeedingHit::SeedingHitImpl::errorRPhi(), ctfseeding::SeedingHit::SeedingHitImpl::errorRZ(), and ctfseeding::SeedingHit::SeedingHitImpl::setErrorsFromTTRH().

00107                                  {
00108     const TransientTrackingRecHit::ConstRecHitPointer & hit = transientRecHit();
00109     GlobalPoint hitPos = hit->globalPosition();
00110     GlobalError hitErr = hit->globalPositionError();
00111     theErrorRPhi =  r()*sqrt(hitErr.phierr(hitPos)); 
00112     theErrorRZ = (theLayer.detLayer()->location() == GeomDetEnumerators::barrel) ? 
00113                   sqrt(hitErr.czz())
00114                 : sqrt(hitErr.rerr(hitPos));
00115     hasHitErrors = true;
00116   }

const TrackingRecHit* ctfseeding::SeedingHit::SeedingHitImpl::trackingRecHit (  )  const [inline]

Definition at line 94 of file SeedingHit.cc.

References ctfseeding::SeedingHit::SeedingHitImpl::hasTransientHit, ctfseeding::SeedingHit::SeedingHitImpl::theRecHit, ctfseeding::SeedingHit::SeedingHitImpl::theTransientRecHit, and ctfseeding::SeedingHit::SeedingHitImpl::trackingRecHit().

Referenced by ctfseeding::SeedingHit::SeedingHitImpl::trackingRecHit().

00094                                                 { 
00095     return hasTransientHit ? theTransientRecHit->hit() : theRecHit; 
00096   }

const TransientTrackingRecHit::ConstRecHitPointer& ctfseeding::SeedingHit::SeedingHitImpl::transientRecHit (  )  const [inline]

Definition at line 99 of file SeedingHit.cc.

References ctfseeding::SeedingHit::SeedingHitImpl::hasTransientHit, theLayer, ctfseeding::SeedingHit::SeedingHitImpl::theRecHit, ctfseeding::SeedingHit::SeedingHitImpl::theTransientRecHit, and ctfseeding::SeedingHit::SeedingHitImpl::transientRecHit().

Referenced by ctfseeding::SeedingHit::SeedingHitImpl::setErrorsFromTTRH(), and ctfseeding::SeedingHit::SeedingHitImpl::transientRecHit().

00099                                                                             {
00100     if (!hasTransientHit) {
00101       theTransientRecHit = theLayer.hitBuilder()->build(theRecHit);  
00102       hasTransientHit = true; 
00103     }
00104     return theTransientRecHit; 
00105   }

float ctfseeding::SeedingHit::SeedingHitImpl::z ( void   )  const [inline]

Definition at line 79 of file SeedingHit.cc.

References ctfseeding::SeedingHit::SeedingHitImpl::theZ.

00079 {return theZ; }


Member Data Documentation

bool ctfseeding::SeedingHit::SeedingHitImpl::hasHitErrors [mutable, private]

Definition at line 125 of file SeedingHit.cc.

Referenced by ctfseeding::SeedingHit::SeedingHitImpl::errorRPhi(), ctfseeding::SeedingHit::SeedingHitImpl::errorRZ(), and ctfseeding::SeedingHit::SeedingHitImpl::setErrorsFromTTRH().

bool ctfseeding::SeedingHit::SeedingHitImpl::hasTransientHit [mutable, private]

Definition at line 124 of file SeedingHit.cc.

Referenced by ctfseeding::SeedingHit::SeedingHitImpl::SeedingHitImpl(), ctfseeding::SeedingHit::SeedingHitImpl::trackingRecHit(), and ctfseeding::SeedingHit::SeedingHitImpl::transientRecHit().

float ctfseeding::SeedingHit::SeedingHitImpl::theErrorRPhi [mutable, private]

Definition at line 126 of file SeedingHit.cc.

Referenced by ctfseeding::SeedingHit::SeedingHitImpl::errorRPhi(), ctfseeding::SeedingHit::SeedingHitImpl::init(), and ctfseeding::SeedingHit::SeedingHitImpl::setErrorsFromTTRH().

float ctfseeding::SeedingHit::SeedingHitImpl::theErrorRZ [mutable, private]

Definition at line 126 of file SeedingHit.cc.

Referenced by ctfseeding::SeedingHit::SeedingHitImpl::errorRZ(), ctfseeding::SeedingHit::SeedingHitImpl::init(), and ctfseeding::SeedingHit::SeedingHitImpl::setErrorsFromTTRH().

SeedingLayer ctfseeding::SeedingHit::SeedingHitImpl::theLayer [private]

Definition at line 120 of file SeedingHit.cc.

float ctfseeding::SeedingHit::SeedingHitImpl::thePhi [private]

Definition at line 123 of file SeedingHit.cc.

Referenced by ctfseeding::SeedingHit::SeedingHitImpl::init(), ctfseeding::SeedingHit::SeedingHitImpl::phi(), and ctfseeding::SeedingHit::SeedingHitImpl::SeedingHitImpl().

float ctfseeding::SeedingHit::SeedingHitImpl::theR [private]

Definition at line 123 of file SeedingHit.cc.

Referenced by ctfseeding::SeedingHit::SeedingHitImpl::init(), ctfseeding::SeedingHit::SeedingHitImpl::r(), and ctfseeding::SeedingHit::SeedingHitImpl::SeedingHitImpl().

const TrackingRecHit* ctfseeding::SeedingHit::SeedingHitImpl::theRecHit [private]

Definition at line 122 of file SeedingHit.cc.

Referenced by ctfseeding::SeedingHit::SeedingHitImpl::SeedingHitImpl(), ctfseeding::SeedingHit::SeedingHitImpl::trackingRecHit(), and ctfseeding::SeedingHit::SeedingHitImpl::transientRecHit().

float ctfseeding::SeedingHit::SeedingHitImpl::theRZ [private]

Definition at line 123 of file SeedingHit.cc.

Referenced by ctfseeding::SeedingHit::SeedingHitImpl::init(), ctfseeding::SeedingHit::SeedingHitImpl::rOrZ(), and ctfseeding::SeedingHit::SeedingHitImpl::SeedingHitImpl().

TransientTrackingRecHit::ConstRecHitPointer ctfseeding::SeedingHit::SeedingHitImpl::theTransientRecHit [mutable, private]

Definition at line 121 of file SeedingHit.cc.

Referenced by ctfseeding::SeedingHit::SeedingHitImpl::SeedingHitImpl(), ctfseeding::SeedingHit::SeedingHitImpl::trackingRecHit(), and ctfseeding::SeedingHit::SeedingHitImpl::transientRecHit().

float ctfseeding::SeedingHit::SeedingHitImpl::theZ [private]

Definition at line 123 of file SeedingHit.cc.

Referenced by ctfseeding::SeedingHit::SeedingHitImpl::init(), ctfseeding::SeedingHit::SeedingHitImpl::SeedingHitImpl(), and ctfseeding::SeedingHit::SeedingHitImpl::z().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:37:09 2009 for CMSSW by  doxygen 1.5.4