CMS 3D CMS Logo

FTLTrackingRecHit.h
Go to the documentation of this file.
1 #ifndef DataFormats_FTLRecHit_FTLTrackingRecHit_h
2 #define DataFormats_FTLRecHit_FTLTrackingRecHit_h
3 
5 
6 #include <cassert>
8 
9 template <typename ObjRef>
11 public:
12  typedef ObjRef ref_type;
13  typedef typename ObjRef::value_type obj_type;
14 
16  FTLTrackingRecHit(DetId id, const ObjRef &objref, const LocalPoint &pos, const LocalError &err)
17  : RecHit2DLocalPos(id), objref_(objref), pos_(pos), err_(err) {}
18 
19  FTLTrackingRecHit<ObjRef> *clone() const override { return new FTLTrackingRecHit<ObjRef>(*this); }
20 
21  LocalPoint localPosition() const override { return pos_; }
22  LocalError localPositionError() const override { return err_; }
23 
24  const ObjRef &objRef() const { return objref_; }
25 
26  float energy() const { return objref_->energy(); }
27 
28  float time() const { return objref_->time(); }
29  float timeError() const { return objref_->timeError(); }
30 
31  bool sharesInput(const TrackingRecHit *other, SharedInputType what) const override { assert(false); }
32 
33 protected:
34  ObjRef objref_;
37 };
38 
39 // Instantiations and specializations for FTLRecHitRef and reco::CaloClusterPtr
43 typedef std::vector<FTLTrackingRecHitFromHit> FTLTrackingRecHitCollection;
44 
45 template <>
46 bool FTLTrackingRecHit<FTLRecHitRef>::sharesInput(const TrackingRecHit *other, SharedInputType what) const;
47 
48 #endif
FTLTrackingRecHit::sharesInput
bool sharesInput(const TrackingRecHit *other, SharedInputType what) const override
Definition: FTLTrackingRecHit.h:31
FTLTrackingRecHit::timeError
float timeError() const
Definition: FTLTrackingRecHit.h:29
FTLTrackingRecHitCollection
std::vector< FTLTrackingRecHitFromHit > FTLTrackingRecHitCollection
Definition: FTLTrackingRecHit.h:43
pos
Definition: PixelAliasList.h:18
FTLTrackingRecHit::energy
float energy() const
Definition: FTLTrackingRecHit.h:26
cms::cuda::assert
assert(be >=bs)
FTLTrackingRecHit::objRef
const ObjRef & objRef() const
Definition: FTLTrackingRecHit.h:24
FTLTrackingRecHit::err_
LocalError err_
Definition: FTLTrackingRecHit.h:36
DetId
Definition: DetId.h:17
FTLTrackingRecHit::clone
FTLTrackingRecHit< ObjRef > * clone() const override
Definition: FTLTrackingRecHit.h:19
FTLTrackingRecHit::localPositionError
LocalError localPositionError() const override
Definition: FTLTrackingRecHit.h:22
TrackingRecHit::SharedInputType
SharedInputType
definition of equality via shared input
Definition: TrackingRecHit.h:59
FTLTrackingRecHit
Basic template class for a RecHit wrapping a Ref to an object.
Definition: FTLTrackingRecHit.h:10
RecHit2DLocalPos::LocalPoint
GloballyPositioned< float >::LocalPoint LocalPoint
Definition: RecHit2DLocalPos.h:10
CaloClusterFwd.h
FTLTrackingRecHit::ref_type
ObjRef ref_type
Definition: FTLTrackingRecHit.h:12
trackingPlots.other
other
Definition: trackingPlots.py:1465
FTLTrackingRecHit::obj_type
ObjRef::value_type obj_type
Definition: FTLTrackingRecHit.h:13
FTLTrackingRecHit::FTLTrackingRecHit
FTLTrackingRecHit(DetId id, const ObjRef &objref, const LocalPoint &pos, const LocalError &err)
Definition: FTLTrackingRecHit.h:16
runTheMatrix.err
err
Definition: runTheMatrix.py:288
FTLTrackingRecHitFromHit
FTLTrackingRecHit< FTLRecHitRef > FTLTrackingRecHitFromHit
Definition: FTLTrackingRecHit.h:42
LocalError
Definition: LocalError.h:12
FTLTrackingRecHit::pos_
LocalPoint pos_
Definition: FTLTrackingRecHit.h:35
FTLTrackingRecHit::FTLTrackingRecHit
FTLTrackingRecHit()
Definition: FTLTrackingRecHit.h:15
reco::JetExtendedAssociation::value_type
Container::value_type value_type
Definition: JetExtendedAssociation.h:30
RecHit2DLocalPos
Definition: RecHit2DLocalPos.h:8
FTLRecHitCollections.h
TrackingRecHit
Definition: TrackingRecHit.h:21
FTLTrackingRecHit::time
float time() const
Definition: FTLTrackingRecHit.h:28
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
FTLTrackingRecHit::objref_
ObjRef objref_
Definition: FTLTrackingRecHit.h:34
FTLTrackingRecHit::localPosition
LocalPoint localPosition() const override
Definition: FTLTrackingRecHit.h:21
RecHit2DLocalPos.h