CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
TSiStripRecHit1D Class Reference

#include <TSiStripRecHit1D.h>

Inheritance diagram for TSiStripRecHit1D:
TransientTrackingRecHit TrackingRecHit ReferenceCountedPoolAllocated BlockWipedPoolAllocated

Public Types

typedef SiStripRecHit1D::ClusterRef SiStripClusterRef
 
typedef edm::LazyGetter
< SiStripCluster >::value_ref 
SiStripRegionalClusterRef
 
- Public Types inherited from TransientTrackingRecHit
typedef std::vector
< ConstRecHitPointer
ConstRecHitContainer
 
typedef
ConstReferenceCountingPointer
< TransientTrackingRecHit
ConstRecHitPointer
 
typedef std::vector
< ConstRecHitPointer
RecHitContainer
 
typedef
ReferenceCountingPointer
< TransientTrackingRecHit
RecHitPointer
 
- Public Types inherited from TrackingRecHit
typedef unsigned int id_type
 
enum  SharedInputType { all, some }
 definition of equality via shared input More...
 
enum  Type { valid = 0, missing = 1, inactive = 2, bad = 3 }
 

Public Member Functions

virtual bool canImproveWithTrack () const
 
virtual RecHitPointer clone (const TrajectoryStateOnSurface &ts) const
 
const
StripClusterParameterEstimator
cpe () const
 
virtual const GeomDetUnitdetUnit () const
 
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< const
TrackingRecHit * > 
recHits () const
 Access to component RecHits (if any) More...
 
virtual std::vector
< TrackingRecHit * > 
recHits ()
 Non-const access to component RecHits (if any) More...
 
const SiStripRecHit1DspecificHit () const
 
virtual ~TSiStripRecHit1D ()
 
- Public Member Functions inherited from TransientTrackingRecHit
virtual float clusterProbability () const
 cluster probability, overloaded by pixel rechits. More...
 
const GeomDetdet () const
 The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds. More...
 
float errorGlobalR () const
 
float errorGlobalRPhi () const
 
float errorGlobalZ () const
 
virtual GlobalPoint globalPosition () const
 
virtual GlobalError globalPositionError () const
 
virtual const Surfacesurface () const
 
virtual ConstRecHitContainer transientHits () const
 Composite interface: returns the component hits, if any. More...
 
 TransientTrackingRecHit (const GeomDet *geom=0)
 
 TransientTrackingRecHit (const GeomDet *geom, DetId id, Type type=valid)
 
 TransientTrackingRecHit (const GeomDet *geom, TrackingRecHit::id_type id, Type type=valid)
 
 TransientTrackingRecHit (const GeomDet *geom, TrackingRecHit const &rh)
 
- Public Member Functions inherited from TrackingRecHit
DetId geographicalId () const
 
unsigned int getRTTI () const
 
Type getType () const
 
virtual bool hasPositionAndError () const
 to be redefined by daughter class More...
 
bool isValid () const
 
id_type rawId () const
 
virtual void recHitsV (std::vector< const TrackingRecHit * > &) const
 
virtual void recHitsV (std::vector< TrackingRecHit * > &)
 
virtual bool sharesInput (const TrackingRecHit *other, SharedInputType what) const
 
 TrackingRecHit (DetId id, Type type=valid)
 
 TrackingRecHit (id_type id=0, Type type=valid)
 
 TrackingRecHit (DetId id, unsigned int rt, Type type=valid)
 
Type type () const
 
virtual float weight () const
 
virtual ~TrackingRecHit ()
 
- Public Member Functions inherited from ReferenceCountedPoolAllocated
void addReference () const
 
const
ReferenceCountedPoolAllocated
operator= (const ReferenceCountedPoolAllocated &)
 
 ReferenceCountedPoolAllocated ()
 
 ReferenceCountedPoolAllocated (const ReferenceCountedPoolAllocated &iRHS)
 
unsigned int references () const
 
void removeReference () const
 
virtual ~ReferenceCountedPoolAllocated ()
 
- Public Member Functions inherited from BlockWipedPoolAllocated
virtual ~BlockWipedPoolAllocated ()
 

Static Public Member Functions

static RecHitPointer build (const GeomDet *geom, const SiStripRecHit1D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition=false)
 
static RecHitPointer build (const LocalPoint &pos, const LocalError &err, const GeomDet *det, const OmniClusterRef &clust, const StripClusterParameterEstimator *cpe)
 
static RecHitPointer build (const LocalPoint &pos, const LocalError &err, const GeomDet *det, const SiStripClusterRef &clust, const StripClusterParameterEstimator *cpe)
 
static RecHitPointer build (const LocalPoint &pos, const LocalError &err, const GeomDet *det, const SiStripRegionalClusterRef &clust, const StripClusterParameterEstimator *cpe)
 
- Static Public Member Functions inherited from BlockWipedPoolAllocated
static BlockWipedAllocatorallocator (size_t s)
 
static void operator delete (void *p, size_t s)
 
static void * operator new (size_t s, void *p)
 
static void * operator new (size_t s)
 
static BlockWipedAllocator::Stat stat (size_t s)
 
static void usePool ()
 

Private Member Functions

virtual TSiStripRecHit1Dclone () const
 
 TSiStripRecHit1D (const GeomDet *geom, const SiStripRecHit1D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition)
 
 TSiStripRecHit1D (const LocalPoint &pos, const LocalError &err, const GeomDet *det, const OmniClusterRef &clust, const StripClusterParameterEstimator *cpe)
 Creates the TrackingRecHit internally, avoids redundent cloning. More...
 

Private Attributes

const
StripClusterParameterEstimator
theCPE
 
SiStripRecHit1D theHitData
 

Additional Inherited Members

- Static Public Attributes inherited from TrackingRecHit
static const int rttiShift = 24
 
static const int typeMask = 0xf
 
- Static Public Attributes inherited from ReferenceCountedPoolAllocated
static int s_alive =0
 
static int s_referenced =0
 
- Static Public Attributes inherited from BlockWipedPoolAllocated
static int s_alive =0
 
static bool s_usePool =false
 
- Protected Member Functions inherited from TrackingRecHit
void setId (id_type iid)
 
void setRTTI (unsigned int rt)
 
void setType (Type ttype)
 

Detailed Description

Definition at line 10 of file TSiStripRecHit1D.h.

Member Typedef Documentation

Definition at line 13 of file TSiStripRecHit1D.h.

Definition at line 15 of file TSiStripRecHit1D.h.

Constructor & Destructor Documentation

virtual TSiStripRecHit1D::~TSiStripRecHit1D ( )
inlinevirtual

Definition at line 17 of file TSiStripRecHit1D.h.

17 {}
TSiStripRecHit1D::TSiStripRecHit1D ( const GeomDet geom,
const SiStripRecHit1D rh,
const StripClusterParameterEstimator cpe,
bool  computeCoarseLocalPosition 
)
private

Definition at line 9 of file TSiStripRecHit1D.cc.

References SiStripRecHit1D::cluster(), TrackerSingleRecHit::cluster_regional(), GeomDet::geographicalId(), relativeConstraints::geom, BaseTrackerRecHit::hasPositionAndError(), edm::Ref< C, T, F >::isNonnull(), vdt::le, ClusterParameterEstimator< T >::localParameters(), LogDebug, max(), theCPE, and theHitData.

Referenced by build(), and clone().

11  :
13 {
14  if (rh->hasPositionAndError() || !computeCoarseLocalPosition)
16  else{
17  const GeomDetUnit* gdu = dynamic_cast<const GeomDetUnit*>(geom);
18  LogDebug("TSiStripRecHit2DLocalPos")<<"calculating coarse position/error.";
19  if (gdu){
20  if (rh->cluster().isNonnull()){
22  LocalError le(lval.second.xx(),0.,std::numeric_limits<float>::max()); //Correct??
23  theHitData = SiStripRecHit1D(lval.first, le, geom->geographicalId(),rh->cluster());
24  }else{
26  LocalError le(lval.second.xx(),0.,std::numeric_limits<float>::max()); //Correct??
27  theHitData = SiStripRecHit1D(lval.first, le, geom->geographicalId(),rh->cluster_regional());
28  }
29  }else{
30  edm::LogError("TSiStripRecHit2DLocalPos")<<" geomdet does not cast into geomdet unit. cannot create strip local parameters.";
31  theHitData = SiStripRecHit1D(*rh);
32  }
33  }
34 }
#define LogDebug(id)
ClusterRef cluster() const
bool hasPositionAndError() const
to be redefined by daughter class
TransientTrackingRecHit(const GeomDet *geom=0)
ClusterRegionalRef cluster_regional() const
std::pair< LocalPoint, LocalError > LocalValues
virtual LocalValues localParameters(const T &, const GeomDetUnit &) const =0
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:250
const StripClusterParameterEstimator * theCPE
const T & max(const T &a, const T &b)
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:72
SiStripRecHit1D theHitData
unsigned long long le
Definition: VDTMath.h:202
TSiStripRecHit1D::TSiStripRecHit1D ( const LocalPoint pos,
const LocalError err,
const GeomDet det,
const OmniClusterRef clust,
const StripClusterParameterEstimator cpe 
)
inlineprivate

Creates the TrackingRecHit internally, avoids redundent cloning.

Definition at line 100 of file TSiStripRecHit1D.h.

103  :
105  theCPE(cpe), theHitData(pos, err, det->geographicalId(), clust){}
TransientTrackingRecHit(const GeomDet *geom=0)
const StripClusterParameterEstimator * theCPE
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:72
SiStripRecHit1D theHitData

Member Function Documentation

static RecHitPointer TSiStripRecHit1D::build ( const GeomDet geom,
const SiStripRecHit1D rh,
const StripClusterParameterEstimator cpe,
bool  computeCoarseLocalPosition = false 
)
inlinestatic

Definition at line 61 of file TSiStripRecHit1D.h.

References TSiStripRecHit1D().

Referenced by TkTransientTrackingRecHitBuilder::build(), clone(), TkTransientTrackingRecHitBuilder::oldbuild(), and TSiStripRecHit2DLocalPos::transientHits().

63  {
64  return RecHitPointer( new TSiStripRecHit1D( geom, rh, cpe,computeCoarseLocalPosition));
65  }
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
TSiStripRecHit1D(const GeomDet *geom, const SiStripRecHit1D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition)
static RecHitPointer TSiStripRecHit1D::build ( const LocalPoint pos,
const LocalError err,
const GeomDet det,
const OmniClusterRef clust,
const StripClusterParameterEstimator cpe 
)
inlinestatic

Definition at line 67 of file TSiStripRecHit1D.h.

References TSiStripRecHit1D().

70  {
71  return RecHitPointer( new TSiStripRecHit1D( pos, err, det, clust, cpe));
72  }
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
TSiStripRecHit1D(const GeomDet *geom, const SiStripRecHit1D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition)
static RecHitPointer TSiStripRecHit1D::build ( const LocalPoint pos,
const LocalError err,
const GeomDet det,
const SiStripClusterRef clust,
const StripClusterParameterEstimator cpe 
)
inlinestatic

Definition at line 74 of file TSiStripRecHit1D.h.

References TSiStripRecHit1D().

77  {
78  return RecHitPointer( new TSiStripRecHit1D( pos, err, det, OmniClusterRef(clust), cpe));
79  }
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
TSiStripRecHit1D(const GeomDet *geom, const SiStripRecHit1D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition)
static RecHitPointer TSiStripRecHit1D::build ( const LocalPoint pos,
const LocalError err,
const GeomDet det,
const SiStripRegionalClusterRef clust,
const StripClusterParameterEstimator cpe 
)
inlinestatic

Definition at line 81 of file TSiStripRecHit1D.h.

References TSiStripRecHit1D().

84  {
85  return RecHitPointer( new TSiStripRecHit1D( pos, err, det, OmniClusterRef(clust), cpe));
86  }
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
TSiStripRecHit1D(const GeomDet *geom, const SiStripRecHit1D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition)
virtual bool TSiStripRecHit1D::canImproveWithTrack ( ) const
inlinevirtual

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 51 of file TSiStripRecHit1D.h.

51 {return true;}
TransientTrackingRecHit::RecHitPointer TSiStripRecHit1D::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.

FIXME: this only uses the first cluster and ignores the others

Reimplemented from TransientTrackingRecHit.

Definition at line 37 of file TSiStripRecHit1D.cc.

References build(), clone(), TransientTrackingRecHit::det(), detUnit(), vdt::le, ClusterParameterEstimator< T >::localParameters(), max(), specificHit(), TrackerSingleRecHit::stripCluster(), and theCPE.

38 {
39  if (theCPE != 0) {
41  const SiStripCluster& clust = specificHit()->stripCluster();
43  theCPE->localParameters( clust, *detUnit(), ts);
44  LocalError le(lv.second.xx(),0.,std::numeric_limits<float>::max()); //Correct??
45  return TSiStripRecHit1D::build( lv.first, le, det(), specificHit()->omniClusterRef(), theCPE);
46  }
47  else {
48  //FIXME. It should report the problem with a LogWarning;
49  return clone();
50  }
51 }
const SiStripRecHit1D * specificHit() const
std::pair< LocalPoint, LocalError > LocalValues
virtual LocalValues localParameters(const T &, const GeomDetUnit &) const =0
const StripClusterParameterEstimator * theCPE
const T & max(const T &a, const T &b)
SiStripCluster const & stripCluster() const
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit1D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition=false)
virtual const GeomDetUnit * detUnit() const
virtual TSiStripRecHit1D * clone() const
unsigned long long le
Definition: VDTMath.h:202
virtual TSiStripRecHit1D* TSiStripRecHit1D::clone ( void  ) const
inlineprivatevirtual

Implements TransientTrackingRecHit.

Definition at line 110 of file TSiStripRecHit1D.h.

References TSiStripRecHit1D().

Referenced by clone().

110  {
111  return new TSiStripRecHit1D(*this);
112  }
TSiStripRecHit1D(const GeomDet *geom, const SiStripRecHit1D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition)
const StripClusterParameterEstimator* TSiStripRecHit1D::cpe ( ) const
inline

Definition at line 59 of file TSiStripRecHit1D.h.

References theCPE.

59 {return theCPE;}
const StripClusterParameterEstimator * theCPE
const GeomDetUnit * TSiStripRecHit1D::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 53 of file TSiStripRecHit1D.cc.

References TransientTrackingRecHit::det().

Referenced by clone().

54 {
55  return static_cast<const GeomDetUnit*>(det());
56 }
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
virtual int TSiStripRecHit1D::dimension ( ) const
inlinevirtual

Implements TrackingRecHit.

Definition at line 35 of file TSiStripRecHit1D.h.

References SiStripRecHit1D::dimension(), and theHitData.

35 {return theHitData.dimension();}
virtual int dimension() const
SiStripRecHit1D theHitData
virtual void TSiStripRecHit1D::getKfComponents ( KfComponentsHolder holder) const
inlinevirtual

Reimplemented from TrackingRecHit.

Definition at line 20 of file TSiStripRecHit1D.h.

References TransientTrackingRecHit::det(), HelpertRecHit2DLocalPos::getKfComponents(), and theHitData.

20  {
22  }
static void getKfComponents(KfComponentsHolder &holder, const TrackingRecHit &hit2dLocalPos, const GeomDet &det)
SiStripRecHit1D theHitData
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
virtual const TrackingRecHit* TSiStripRecHit1D::hit ( void  ) const
inlinevirtual

Implements TransientTrackingRecHit.

Definition at line 40 of file TSiStripRecHit1D.h.

References theHitData.

Referenced by recHits().

40 {return &theHitData;};
SiStripRecHit1D theHitData
virtual LocalPoint TSiStripRecHit1D::localPosition ( ) const
inlinevirtual

Implements TrackingRecHit.

Definition at line 37 of file TSiStripRecHit1D.h.

References BaseTrackerRecHit::localPosition(), and theHitData.

Referenced by TrackerDpgAnalysis::insertMeasurement().

37 {return theHitData.localPosition();}
virtual LocalPoint localPosition() const
SiStripRecHit1D theHitData
virtual LocalError TSiStripRecHit1D::localPositionError ( ) const
inlinevirtual

Implements TrackingRecHit.

Definition at line 38 of file TSiStripRecHit1D.h.

References BaseTrackerRecHit::localPositionError(), and theHitData.

virtual LocalError localPositionError() const
SiStripRecHit1D theHitData
virtual AlgebraicVector TSiStripRecHit1D::parameters ( void  ) const
inlinevirtual

Implements TrackingRecHit.

Definition at line 25 of file TSiStripRecHit1D.h.

References BaseTrackerRecHit::parameters(), and theHitData.

25 {return theHitData.parameters();}
virtual AlgebraicVector parameters() const
SiStripRecHit1D theHitData
virtual AlgebraicSymMatrix TSiStripRecHit1D::parametersError ( ) const
inlinevirtual

Implements TrackingRecHit.

Definition at line 28 of file TSiStripRecHit1D.h.

References TransientTrackingRecHit::det(), BaseTrackerRecHit::localPositionError(), HelpertRecHit2DLocalPos::parError(), and theHitData.

28  {
30  // return theHitData->parametersError();
31  }
virtual LocalError localPositionError() const
SiStripRecHit1D theHitData
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
static AlgebraicSymMatrix parError(const LocalError &le, const GeomDet &det)
virtual AlgebraicMatrix TSiStripRecHit1D::projectionMatrix ( ) const
inlinevirtual

Implements TrackingRecHit.

Definition at line 34 of file TSiStripRecHit1D.h.

References BaseTrackerRecHit::projectionMatrix(), and theHitData.

34 {return theHitData.projectionMatrix();}
SiStripRecHit1D theHitData
virtual AlgebraicMatrix projectionMatrix() const
virtual std::vector<const TrackingRecHit*> TSiStripRecHit1D::recHits ( ) const
inlinevirtual

Access to component RecHits (if any)

Implements TrackingRecHit.

Definition at line 42 of file TSiStripRecHit1D.h.

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

42  {
43  return hit()->recHits();
44  }
virtual std::vector< const TrackingRecHit * > recHits() const =0
Access to component RecHits (if any)
virtual const TrackingRecHit * hit() const
virtual std::vector<TrackingRecHit*> TSiStripRecHit1D::recHits ( )
inlinevirtual

Non-const access to component RecHits (if any)

Implements TrackingRecHit.

Definition at line 45 of file TSiStripRecHit1D.h.

References TrackerSingleRecHit::recHits(), and theHitData.

45  {
46  return theHitData.recHits();
47  }
virtual std::vector< const TrackingRecHit * > recHits() const
Access to component RecHits (if any)
SiStripRecHit1D theHitData
const SiStripRecHit1D* TSiStripRecHit1D::specificHit ( ) const
inline

Definition at line 58 of file TSiStripRecHit1D.h.

References theHitData.

Referenced by clone(), and TkAlCaOverlapTagger::produce().

58 {return &theHitData;};
SiStripRecHit1D theHitData

Member Data Documentation

const StripClusterParameterEstimator* TSiStripRecHit1D::theCPE
private

Definition at line 92 of file TSiStripRecHit1D.h.

Referenced by clone(), cpe(), and TSiStripRecHit1D().

SiStripRecHit1D TSiStripRecHit1D::theHitData
private