CMS 3D CMS Logo

SiStripRecHit2D Class Reference

#include <DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h>

Inheritance diagram for SiStripRecHit2D:

BaseSiTrackerRecHit2DLocalPos RecHit2DLocalPos TrackingRecHit

List of all members.

Public Types

typedef edm::Ref
< edmNew::DetSetVector
< SiStripCluster >,
SiStripCluster
ClusterRef
typedef edm::Ref
< edm::LazyGetter
< SiStripCluster >,
SiStripCluster,
edm::FindValue
< SiStripCluster > > 
ClusterRegionalRef

Public Member Functions

virtual SiStripRecHit2Dclone () const
ClusterRef const & cluster () const
ClusterRegionalRef const & cluster_regional () const
void setClusterRef (ClusterRef const &ref)
void setClusterRegionalRef (ClusterRegionalRef const &ref)
void setSigmaPitch (double sigmap) const
virtual bool sharesInput (const TrackingRecHit *other, SharedInputType what) const
 Returns true if the two TrackingRecHits are using the same input information (like Digis, Clusters, etc), false otherwise.
double sigmaPitch () const
 SiStripRecHit2D (const LocalPoint &, const LocalError &, const DetId &, ClusterRegionalRef const &cluster)
 SiStripRecHit2D (const LocalPoint &, const LocalError &, const DetId &, ClusterRef const &cluster)
 SiStripRecHit2D ()
 ~SiStripRecHit2D ()

Private Attributes

ClusterRef cluster_
ClusterRegionalRef clusterRegional_
double sigmaPitch_
 cache for the matcher....


Detailed Description

Definition at line 10 of file SiStripRecHit2D.h.


Member Typedef Documentation

typedef edm::Ref<edmNew::DetSetVector<SiStripCluster>,SiStripCluster > SiStripRecHit2D::ClusterRef

Definition at line 18 of file SiStripRecHit2D.h.

typedef edm::Ref< edm::LazyGetter<SiStripCluster>, SiStripCluster, edm::FindValue<SiStripCluster> > SiStripRecHit2D::ClusterRegionalRef

Definition at line 23 of file SiStripRecHit2D.h.


Constructor & Destructor Documentation

SiStripRecHit2D::SiStripRecHit2D (  )  [inline]

Definition at line 13 of file SiStripRecHit2D.h.

Referenced by clone().

SiStripRecHit2D::~SiStripRecHit2D (  )  [inline]

Definition at line 16 of file SiStripRecHit2D.h.

00016 {} 

SiStripRecHit2D::SiStripRecHit2D ( const LocalPoint pos,
const LocalError err,
const DetId id,
ClusterRef const &  cluster 
)

Definition at line 4 of file SiStripRecHit2D.cc.

00006                                                              :
00007   
00008   BaseSiTrackerRecHit2DLocalPos(pos,err,id), 
00009   cluster_(cluster),
00010   clusterRegional_(),
00011   sigmaPitch_(-1.)
00012  {}

SiStripRecHit2D::SiStripRecHit2D ( const LocalPoint ,
const LocalError ,
const DetId ,
ClusterRegionalRef const &  cluster 
)


Member Function Documentation

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

Implements RecHit2DLocalPos.

Definition at line 28 of file SiStripRecHit2D.h.

References SiStripRecHit2D().

00028 {return new SiStripRecHit2D( * this); }

ClusterRef const& SiStripRecHit2D::cluster (  )  const [inline]

Definition at line 32 of file SiStripRecHit2D.h.

References cluster_.

Referenced by SiStripQualityHotStripIdentifier::algoAnalyze(), SiStripGainCosmicCalculator::algoAnalyze(), SiStripElectronAnalyzer::analyze(), SiStripRecHitsValid::analyze(), SiStripLAProfileBooker::analyze(), SiStripTrackingRecHitsValid::analyze(), TrackerHitAssociator::associateSimpleRecHit(), SimpleCosmicBONSeeder::checkCharge(), TSiStripMatchedRecHit::clone(), TSiStripRecHit2DLocalPos::clone(), ProjectedRecHit2D::clone(), helper::MuonCollectionStoreManager::clusterRefsOK(), SiStripGainFromData::ComputeChargeOverPath(), DeDxDiscriminatorProducer::ComputeChargeOverPath(), CalibrationTrackSelector::isOkCharge(), AlignmentTrackSelector::isOkChargeStripHit(), HitComparator::less(), VisEventSetupService::localPositions(), VisLocalPosition::localPositions(), VisTrackerRechit2DTwig::localPositions(), DetIdLess::operator()(), TrackClusterRemover::process(), ClusterShapeTrajectoryFilter::processHit(), SiStripMonitorTrack::RecHitInfo(), cms::ClusterAnalysis::RecHitInfo(), SiStripMonitorTrackEfficiency::RecHitInfo(), ClusterRemovalRefSetter::reKey(), sharesInput(), and DeDxTools::trajectoryRawHits().

00032 { return cluster_;}

ClusterRegionalRef const& SiStripRecHit2D::cluster_regional (  )  const [inline]

Definition at line 30 of file SiStripRecHit2D.h.

References clusterRegional_.

Referenced by TrackerHitAssociator::associateSimpleRecHit(), SimpleCosmicBONSeeder::checkCharge(), TSiStripMatchedRecHit::clone(), TSiStripRecHit2DLocalPos::clone(), ProjectedRecHit2D::clone(), VisEventSetupService::localPositions(), VisLocalPosition::localPositions(), VisTrackerRechit2DTwig::localPositions(), and sharesInput().

00030 { return clusterRegional_;}

void SiStripRecHit2D::setClusterRef ( ClusterRef const &  ref  )  [inline]

Definition at line 34 of file SiStripRecHit2D.h.

References cluster_.

Referenced by ClusterRemovalRefSetter::reKey().

00034 { cluster_ = ref; }

void SiStripRecHit2D::setClusterRegionalRef ( ClusterRegionalRef const &  ref  )  [inline]

Definition at line 35 of file SiStripRecHit2D.h.

References clusterRegional_.

00035 { clusterRegional_ = ref; }

void SiStripRecHit2D::setSigmaPitch ( double  sigmap  )  const [inline]

Definition at line 40 of file SiStripRecHit2D.h.

References sigmaPitch_.

Referenced by SiStripRecHitMatcher::match().

00040 { sigmaPitch_=sigmap;}

bool SiStripRecHit2D::sharesInput ( const TrackingRecHit other,
SharedInputType  what 
) const [virtual]

Returns true if the two TrackingRecHits are using the same input information (like Digis, Clusters, etc), false otherwise.

The second argument specifies how much sharing is needed in order to return true: the value "all" means that all inputs of the two hits must be identical; the value "some" means that at least one of the inputs is in common.

Reimplemented from TrackingRecHit.

Definition at line 25 of file SiStripRecHit2D.cc.

References TrackingRecHit::all, cluster(), cluster_, cluster_regional(), clusterRegional_, TrackingRecHit::geographicalId(), i, edm::Ref< C, T, F >::isNonnull(), TrackingRecHit::isValid(), DetId::kSubdetOffset, DetId::rawId(), and TrackingRecHit::recHits().

Referenced by ProjectedSiStripRecHit2D::sharesInput(), and SiStripMatchedRecHit2D::sharesInput().

00027 {
00028   //here we exclude non si-strip subdetectors
00029   if( ((geographicalId().rawId()) >> (DetId::kSubdetOffset) ) != ( (other->geographicalId().rawId())>> (DetId::kSubdetOffset)) ) return false;
00030 
00031   //Protection against invalid hits
00032   if(! other->isValid()) return false;
00033 
00034   // ProjectedSiStripRecHit2D have different det id so we have to check the type before
00035   bool sametype=(typeid(*other)==typeid(SiStripRecHit2D));
00036   if (sametype && (geographicalId() != other->geographicalId())) return false;
00037 
00038   if(!sametype){
00039     int ncomponents=other->recHits().size();
00040     if(ncomponents==0)return false;
00041     else if(ncomponents==1)return sharesInput(other->recHits()[0],what);
00042     else if (ncomponents>1){
00043       if(what == all )return false;
00044       else{
00045         for(int i=0;i<ncomponents;i++){
00046           if(sharesInput(other->recHits()[i],what))return true;
00047         }
00048         return false;
00049       }
00050     }
00051     return false;
00052   }
00053   else{
00054     const SiStripRecHit2D* otherCast = static_cast<const SiStripRecHit2D*>(other);
00055     // as 'null == null' is true, we can't just "or" the two equality tests: one of the two refs is always null! (gpetrucc)
00056     if (cluster_.isNonnull()) {
00057       return (cluster_ == otherCast->cluster());
00058     } else {
00059       return (clusterRegional_ == otherCast->cluster_regional());
00060     }
00061   }
00062 }

double SiStripRecHit2D::sigmaPitch (  )  const [inline]

Definition at line 39 of file SiStripRecHit2D.h.

References sigmaPitch_.

Referenced by SiStripRecHitMatcher::match().

00039 { return sigmaPitch_;}


Member Data Documentation

ClusterRef SiStripRecHit2D::cluster_ [private]

Definition at line 45 of file SiStripRecHit2D.h.

Referenced by cluster(), setClusterRef(), and sharesInput().

ClusterRegionalRef SiStripRecHit2D::clusterRegional_ [private]

Definition at line 49 of file SiStripRecHit2D.h.

Referenced by cluster_regional(), setClusterRegionalRef(), and sharesInput().

double SiStripRecHit2D::sigmaPitch_ [mutable, private]

cache for the matcher....

Definition at line 52 of file SiStripRecHit2D.h.

Referenced by setSigmaPitch(), and sigmaPitch().


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