CMS 3D CMS Logo

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

#include <DTRecHit1DPair.h>

Inheritance diagram for DTRecHit1DPair:
RecHit1D TrackingRecHit

Public Member Functions

DTRecHit1DPairclone () const override
 
const DTRecHit1DcomponentRecHit (DTEnums::DTCellSide lrSide) const
 Return the left/right DTRecHit1D. More...
 
std::pair< const DTRecHit1D
*, const DTRecHit1D * > 
componentRecHits () const
 Get the left and right 1D rechits (first and second respectively). More...
 
float digiTime () const
 Return the digi time (ns) used to build the rechits. More...
 
 DTRecHit1DPair (const DTWireId &wireId, const DTDigi &digi)
 Constructor without components: must use setPos and Err! More...
 
 DTRecHit1DPair ()
 Default constructor. Needed to write the RecHit into a STL container. More...
 
virtual DetId geographicalId () const
 Return the detId of the Det (a DTLayer). More...
 
LocalPoint localPosition () const override
 
LocalPoint localPosition (DTEnums::DTCellSide lrside) const
 
LocalError localPositionError () const override
 
LocalError localPositionError (DTEnums::DTCellSide lrside) const
 
bool operator!= (const DTRecHit1DPair &hit) const
 
bool operator== (const DTRecHit1DPair &hit) const
 Comparison operator, based on the wireId and the digi time. More...
 
std::vector< const
TrackingRecHit * > 
recHits () const override
 
std::vector< TrackingRecHit * > recHits () override
 
void setPosition (DTEnums::DTCellSide lrside, const LocalPoint &point)
 
void setPositionAndError (DTEnums::DTCellSide lrside, const LocalPoint &point, const LocalError &err)
 
DTWireId wireId () const
 
 ~DTRecHit1DPair () override
 Destructor. More...
 
- Public Member Functions inherited from RecHit1D
int dimension () const override
 Return the RecHit dimension. More...
 
AlgebraicVector parameters () const override
 Return just the x. More...
 
AlgebraicSymMatrix parametersError () const override
 Return just "(sigma_x)^2". More...
 
AlgebraicMatrix projectionMatrix () const override
 Return the projection matrix. More...
 
 RecHit1D (DetId id)
 
 RecHit1D (TrackingRecHit::id_type id=0)
 
 ~RecHit1D () override
 Destructor. More...
 
- Public Member Functions inherited from TrackingRecHit
virtual bool canImproveWithTrack () const
 
RecHitPointer cloneForFit (const GeomDet &idet) const
 
virtual TrackingRecHitcloneHit () const
 
virtual RecHitPointer cloneSH () const
 
const GeomDetdet () const
 
virtual const GeomDetUnitdetUnit () const
 
virtual float errorGlobalR () const
 
virtual float errorGlobalRPhi () const
 
virtual float errorGlobalZ () const
 
DetId geographicalId () const
 
virtual void getKfComponents (KfComponentsHolder &holder) const
 
unsigned int getRTTI () const
 
Type getType () const
 
virtual GlobalPoint globalPosition () const
 
virtual GlobalError globalPositionError () const
 
virtual bool hasPositionAndError () const
 to be redefined by daughter class More...
 
virtual TrackingRecHit const * hit () const
 
bool isValid () const
 
id_type rawId () const
 
virtual void recHitsV (std::vector< const TrackingRecHit * > &) const
 
virtual void recHitsV (std::vector< TrackingRecHit * > &)
 
virtual void setDet (const GeomDet &idet)
 
virtual bool sharesInput (const TrackingRecHit *other, SharedInputType what) const
 
virtual const Surfacesurface () const
 
 TrackingRecHit (DetId id, Type type=valid)
 
 TrackingRecHit (id_type id=0, Type type=valid)
 
 TrackingRecHit (DetId id, unsigned int rt, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, unsigned int rt, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, TrackingRecHit const &rh)
 
virtual ConstRecHitContainer transientHits () const
 
Type type () const
 
virtual float weight () const
 
virtual ~TrackingRecHit ()
 

Private Member Functions

DTRecHit1DcomponentRecHit (DTEnums::DTCellSide lrSide)
 Non const access to left/right DTRecHit1D. More...
 

Private Attributes

DTRecHit1D theLeftHit
 
DTRecHit1D theRightHit
 

Additional Inherited Members

- Public Types inherited from TrackingRecHit
typedef std::vector
< ConstRecHitPointer
ConstRecHitContainer
 
using ConstRecHitPointer = std::shared_ptr< TrackingRecHit const >
 
typedef unsigned int id_type
 
typedef std::vector
< ConstRecHitPointer
RecHitContainer
 
using RecHitPointer = std::shared_ptr< TrackingRecHit const >
 
enum  SharedInputType { all, some }
 definition of equality via shared input More...
 
enum  Type {
  valid = 0, missing = 1, inactive = 2, bad = 3,
  missing_inner = 4, missing_outer = 5, inactive_inner = 6, inactive_outer = 7
}
 
- Static Public Attributes inherited from TrackingRecHit
static const int rttiShift = 24
 
static const int typeMask = 0xf
 
- Protected Member Functions inherited from TrackingRecHit
void setId (id_type iid)
 
void setRTTI (unsigned int rt)
 
void setType (Type ttype)
 

Detailed Description

Composed recHit representing a pair of reconstructed hits

For each signal theLeftHit in the DT wire, two hits can be constructed, due to the Left/Right ambiguity, which can be solved only associating several hits together. This class describes the pair of points associated to a single TDC signal. The two hits can be accessed via recHits() method. The position is the average of the theLeftHit and theRightHit hits, namely the wire position.

Author
S. Lacaprara & G. Cerminara

Definition at line 26 of file DTRecHit1DPair.h.

Constructor & Destructor Documentation

DTRecHit1DPair::DTRecHit1DPair ( const DTWireId wireId,
const DTDigi digi 
)

Constructor without components: must use setPos and Err!

Definition at line 15 of file DTRecHit1DPair.cc.

16  : theLeftHit(wireId, Left, digi.time()), theRightHit(wireId, Right, digi.time()) {}
double time() const
Get time in ns.
Definition: DTDigi.cc:37
DTRecHit1D theLeftHit
DTRecHit1D theRightHit
DTRecHit1DPair::DTRecHit1DPair ( )

Default constructor. Needed to write the RecHit into a STL container.

Definition at line 19 of file DTRecHit1DPair.cc.

Referenced by clone().

19 : theLeftHit(), theRightHit() {}
DTRecHit1D theLeftHit
DTRecHit1D theRightHit
DTRecHit1DPair::~DTRecHit1DPair ( )
override

Destructor.

Definition at line 22 of file DTRecHit1DPair.cc.

22 {}

Member Function Documentation

DTRecHit1DPair * DTRecHit1DPair::clone ( void  ) const
overridevirtual

Implements TrackingRecHit.

Definition at line 24 of file DTRecHit1DPair.cc.

References DTRecHit1DPair().

24 { return new DTRecHit1DPair(*this); }
DTRecHit1DPair()
Default constructor. Needed to write the RecHit into a STL container.
const DTRecHit1D* DTRecHit1DPair::componentRecHit ( DTEnums::DTCellSide  lrSide) const
DTRecHit1D* DTRecHit1DPair::componentRecHit ( DTEnums::DTCellSide  lrSide)
private

Non const access to left/right DTRecHit1D.

pair< const DTRecHit1D *, const DTRecHit1D * > DTRecHit1DPair::componentRecHits ( ) const

Get the left and right 1D rechits (first and second respectively).

Definition at line 116 of file DTRecHit1DPair.cc.

References componentRecHit().

116  {
117  return make_pair(componentRecHit(Left), componentRecHit(Right));
118 }
const DTRecHit1D * componentRecHit(DTEnums::DTCellSide lrSide) const
Return the left/right DTRecHit1D.
float DTRecHit1DPair::digiTime ( ) const
inline

Return the digi time (ns) used to build the rechits.

Definition at line 63 of file DTRecHit1DPair.h.

References DTRecHit1D::digiTime(), and theLeftHit.

Referenced by DTHitPairForFit::DTHitPairForFit(), and operator==().

63 { return theLeftHit.digiTime(); }
DTRecHit1D theLeftHit
float digiTime() const
Return the time (ns) of the digi used to build the rechit.
Definition: DTRecHit1D.h:79
DetId DTRecHit1DPair::geographicalId ( ) const
virtual

Return the detId of the Det (a DTLayer).

Definition at line 57 of file DTRecHit1DPair.cc.

References DTWireId::layerId(), and wireId().

Referenced by DTRecHitTrait::detid(), and MuonDetCleaner< T1, T2 >::getRawDetId().

57 { return wireId().layerId(); }
DTLayerId layerId() const
Return the corresponding LayerId.
Definition: DTWireId.h:45
DTWireId wireId() const
LocalPoint DTRecHit1DPair::localPosition ( ) const
overridevirtual

Return the 3-dimensional local position. The average theLeftHit/theRightHit hits position, namely the wire position is returned.

Implements RecHit1D.

Definition at line 29 of file DTRecHit1DPair.cc.

References DTRecHit1D::localPosition(), theLeftHit, and theRightHit.

Referenced by operator<<(), DTCalibValidationFromMuons::recHitDistFromWire(), DTCalibValidation::recHitDistFromWire(), DTRecHitQuality::recHitDistFromWire(), GlobalRecHitsAnalyzer::recHitDistFromWire(), GlobalRecHitsProducer::recHitDistFromWire(), DTCalibValidationFromMuons::recHitPosition(), and DTCalibValidation::recHitPosition().

29  {
31 }
DTRecHit1D theLeftHit
DTRecHit1D theRightHit
LocalPoint localPosition() const override
Return the 3-dimensional local position.
Definition: DTRecHit1D.h:47
LocalPoint DTRecHit1DPair::localPosition ( DTEnums::DTCellSide  lrside) const

Return position in the local (layer) coordinate system for a certain hypothesis about the L/R cell side

LocalError DTRecHit1DPair::localPositionError ( ) const
overridevirtual

Return the 3-dimensional error on the local position. The error is defiened as half the distance between theLeftHit and theRightHit pos

Implements RecHit1D.

Definition at line 36 of file DTRecHit1DPair.cc.

References DTRecHit1D::localPosition(), theLeftHit, theRightHit, and PV3DBase< T, PVType, FrameType >::x().

Referenced by DTRecHitQuality::recHitPositionError().

36  {
37  return LocalError((theRightHit.localPosition().x() - theLeftHit.localPosition().x()) / 2., 0., 0.);
38 }
DTRecHit1D theLeftHit
DTRecHit1D theRightHit
T x() const
Definition: PV3DBase.h:59
LocalPoint localPosition() const override
Return the 3-dimensional local position.
Definition: DTRecHit1D.h:47
LocalError DTRecHit1DPair::localPositionError ( DTEnums::DTCellSide  lrside) const

Return position error in the local (layer) coordinate system for a certain hypothesis about the L/R cell side

bool DTRecHit1DPair::operator!= ( const DTRecHit1DPair hit) const
inline

Inequality operator, defined as the mirror image of the comparions operator

Definition at line 70 of file DTRecHit1DPair.h.

References TrackingRecHit::hit().

70 { return !(*this == hit); }
virtual TrackingRecHit const * hit() const
bool DTRecHit1DPair::operator== ( const DTRecHit1DPair hit) const

Comparison operator, based on the wireId and the digi time.

Definition at line 60 of file DTRecHit1DPair.cc.

References digiTime(), and wireId().

60  {
61  return wireId() == hit.wireId() && fabs(digiTime() - hit.digiTime()) < 0.1;
62 }
float digiTime() const
Return the digi time (ns) used to build the rechits.
DTWireId wireId() const
vector< const TrackingRecHit * > DTRecHit1DPair::recHits ( ) const
overridevirtual

Access to component RecHits. Return the two recHits (L/R)

Implements TrackingRecHit.

Definition at line 41 of file DTRecHit1DPair.cc.

References componentRecHit(), and mps_fire::result.

41  {
42  vector<const TrackingRecHit*> result;
43  result.push_back(componentRecHit(Left));
44  result.push_back(componentRecHit(Right));
45  return result;
46 }
const DTRecHit1D * componentRecHit(DTEnums::DTCellSide lrSide) const
Return the left/right DTRecHit1D.
tuple result
Definition: mps_fire.py:311
vector< TrackingRecHit * > DTRecHit1DPair::recHits ( )
overridevirtual

Non-const access to component RecHits. Return the two recHits (L/R)

Implements TrackingRecHit.

Definition at line 49 of file DTRecHit1DPair.cc.

References componentRecHit(), and mps_fire::result.

49  {
50  vector<TrackingRecHit*> result;
51  result.push_back(componentRecHit(Left));
52  result.push_back(componentRecHit(Right));
53  return result;
54 }
const DTRecHit1D * componentRecHit(DTEnums::DTCellSide lrSide) const
Return the left/right DTRecHit1D.
tuple result
Definition: mps_fire.py:311
void DTRecHit1DPair::setPosition ( DTEnums::DTCellSide  lrside,
const LocalPoint point 
)

Set the 3-dimensional local position for the component hit corresponding to the given cell side. Default value is assumed for the error.

Definition at line 76 of file DTRecHit1DPair.cc.

References componentRecHit(), Exception, and DTRecHit1D::setPosition().

76  {
77  if (lrside != undefLR)
78  componentRecHit(lrside)->setPosition(point);
79  else
80  throw cms::Exception("DTRecHit1DPair::setPosition with undefined LR");
81 }
void setPosition(LocalPoint pos)
Set local position.
Definition: DTRecHit1D.h:64
const DTRecHit1D * componentRecHit(DTEnums::DTCellSide lrSide) const
Return the left/right DTRecHit1D.
void DTRecHit1DPair::setPositionAndError ( DTEnums::DTCellSide  lrside,
const LocalPoint point,
const LocalError err 
)

Set the 3-dimensional local position and error for the component hit corresponding to the given cell side. Default value is assumed for the error.

Definition at line 85 of file DTRecHit1DPair.cc.

References componentRecHit(), Exception, DTRecHit1D::setError(), and DTRecHit1D::setPosition().

Referenced by DTNoDriftAlgo::reconstruct().

85  {
86  if (lrside != undefLR) {
87  componentRecHit(lrside)->setPosition(point);
88  componentRecHit(lrside)->setError(err);
89  } else
90  throw cms::Exception("DTRecHit1DPair::setPosition with undefined LR");
91 }
void setPosition(LocalPoint pos)
Set local position.
Definition: DTRecHit1D.h:64
const DTRecHit1D * componentRecHit(DTEnums::DTCellSide lrSide) const
Return the left/right DTRecHit1D.
void setError(LocalError err)
Set local position error.
Definition: DTRecHit1D.h:67
DTWireId DTRecHit1DPair::wireId ( ) const
inline

Definition at line 89 of file DTRecHit1DPair.h.

References theLeftHit, and DTRecHit1D::wireId().

Referenced by FWDTRecHitProxyBuilder::buildViewType(), DTHitPairForFit::DTHitPairForFit(), geographicalId(), and operator==().

89 { return theLeftHit.wireId(); }
DTRecHit1D theLeftHit
DTWireId wireId() const
Return the wireId.
Definition: DTRecHit1D.h:76

Member Data Documentation

DTRecHit1D DTRecHit1DPair::theLeftHit
private

Definition at line 102 of file DTRecHit1DPair.h.

Referenced by digiTime(), localPosition(), localPositionError(), and wireId().

DTRecHit1D DTRecHit1DPair::theRightHit
private

Definition at line 103 of file DTRecHit1DPair.h.

Referenced by localPosition(), and localPositionError().