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 | Friends
MuonTransientTrackingRecHit Class Referencefinal

#include <MuonTransientTrackingRecHit.h>

Inheritance diagram for MuonTransientTrackingRecHit:
GenericTransientTrackingRecHit TValidTrackingRecHit TrackingRecHit

Public Types

typedef std::vector
< ConstMuonRecHitPointer
ConstMuonRecHitContainer
 
typedef
MuonTransientTrackingRecHit
const * 
ConstMuonRecHitPointer
 
typedef std::vector
< MuonRecHitPointer
MuonRecHitContainer
 
typedef
MuonTransientTrackingRecHit
MuonRecHitPointer
 
- Public Types inherited from GenericTransientTrackingRecHit
typedef TrackingRecHit::Type Type
 
- 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
}
 

Public Member Functions

virtual double chi2 () const
 Chi square of the fit for segments, else 0. More...
 
virtual int degreesOfFreedom () const
 Degrees of freedom for segments, else 0. More...
 
virtual GlobalVector globalDirection () const
 Direction in 3D for segments, otherwise (0,0,0) More...
 
virtual GlobalError globalDirectionError () const
 Error on the global direction. More...
 
void invalidateHit ()
 
bool isCSC () const
 if this rec hit is a CSC rec hit More...
 
bool isDT () const
 if this rec hit is a DT rec hit More...
 
bool isGEM () const
 if this rec hit is a GEM rec hit More...
 
bool isRPC () const
 if this rec hit is a RPC rec hit More...
 
virtual LocalVector localDirection () const
 Direction in 3D for segments, otherwise (0,0,0) More...
 
virtual LocalError localDirectionError () const
 Error on the local direction. More...
 
virtual AlgebraicSymMatrix parametersError () const override
 
virtual ConstRecHitContainer transientHits () const override
 return the sub components of this transient rechit More...
 
virtual ~MuonTransientTrackingRecHit ()
 
- Public Member Functions inherited from GenericTransientTrackingRecHit
virtual bool canImproveWithTrack () const override
 
TrackingRecHitcloneHit () const
 
virtual int dimension () const
 
virtual const TrackingRecHithit () const
 
virtual LocalPoint localPosition () const override
 
virtual LocalError localPositionError () const override
 
virtual AlgebraicVector parameters () const
 
virtual AlgebraicMatrix projectionMatrix () const
 
virtual std::vector< const
TrackingRecHit * > 
recHits () const override
 Access to component RecHits (if any) More...
 
virtual std::vector
< TrackingRecHit * > 
recHits () override
 Non-const access to component RecHits (if any) More...
 
virtual ~GenericTransientTrackingRecHit ()
 
- Public Member Functions inherited from TValidTrackingRecHit
TrackingRecHitcloneHit () const
 
virtual float clusterProbability () const
 cluster probability, overloaded by pixel rechits. More...
 
float errorGlobalR () const
 
float errorGlobalRPhi () const
 
float errorGlobalZ () const
 
virtual GlobalPoint globalPosition () const
 
GlobalError globalPositionError () const
 
TrackingRecHitGlobalState globalState () const
 
virtual const Surfacesurface () const
 
 TValidTrackingRecHit (const GeomDet &geom)
 
template<typename... Args>
 TValidTrackingRecHit (Args &&...args)
 
- Public Member Functions inherited from TrackingRecHit
RecHitPointer cloneForFit (const GeomDet &idet) const
 
virtual RecHitPointer cloneSH () const
 
const GeomDetdet () const
 
virtual const GeomDetUnitdetUnit () const
 
DetId geographicalId () const
 
virtual void getKfComponents (KfComponentsHolder &holder) 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 void setDet (const GeomDet &idet)
 
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)
 
 TrackingRecHit (const GeomDet &idet, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, unsigned int rt, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, TrackingRecHit const &rh)
 
Type type () const
 
virtual float weight () const
 
virtual ~TrackingRecHit ()
 

Static Public Member Functions

static RecHitPointer build (const GeomDet *geom, const TrackingRecHit *rh)
 FIXME virtual ConstMuonRecHitContainer specificTransientHits() const;. More...
 
static MuonRecHitPointer specificBuild (const GeomDet *geom, const TrackingRecHit *rh)
 
- Static Public Member Functions inherited from GenericTransientTrackingRecHit
static RecHitPointer build (const GeomDet *geom, const TrackingRecHit *rh)
 

Private Member Functions

virtual
MuonTransientTrackingRecHit
clone () const override
 
 MuonTransientTrackingRecHit (const GeomDet *geom, const TrackingRecHit *rh)
 Construct from a TrackingRecHit and its GeomDet. More...
 
 MuonTransientTrackingRecHit (const MuonTransientTrackingRecHit &other)
 Copy ctor. More...
 

Friends

class kkkwwwxxxyyyzzz
 

Additional Inherited Members

- Static Public Attributes inherited from TrackingRecHit
static const int rttiShift = 24
 
static const int typeMask = 0xf
 
- Protected Member Functions inherited from GenericTransientTrackingRecHit
 GenericTransientTrackingRecHit (const GeomDet &geom, const TrackingRecHit &rh)
 
 GenericTransientTrackingRecHit (const GeomDet &geom, TrackingRecHit *rh)
 for derived classes convenience, does not clone! More...
 
 GenericTransientTrackingRecHit (const GenericTransientTrackingRecHit &other)
 
- Protected Member Functions inherited from TrackingRecHit
void setId (id_type iid)
 
void setRTTI (unsigned int rt)
 
void setType (Type ttype)
 
- Protected Attributes inherited from GenericTransientTrackingRecHit
TrackingRecHittrackingRecHit_
 

Detailed Description

A TransientTrackingRecHit for muons.

Author
C. Liu Purdue University

by C. Calabria INFN & Universita Bari

Definition at line 19 of file MuonTransientTrackingRecHit.h.

Member Typedef Documentation

Definition at line 33 of file MuonTransientTrackingRecHit.h.

Definition at line 27 of file MuonTransientTrackingRecHit.h.

Definition at line 32 of file MuonTransientTrackingRecHit.h.

Definition at line 26 of file MuonTransientTrackingRecHit.h.

Constructor & Destructor Documentation

virtual MuonTransientTrackingRecHit::~MuonTransientTrackingRecHit ( )
inlinevirtual

Definition at line 35 of file MuonTransientTrackingRecHit.h.

35 {}
MuonTransientTrackingRecHit::MuonTransientTrackingRecHit ( const GeomDet geom,
const TrackingRecHit rh 
)
private

Construct from a TrackingRecHit and its GeomDet.

Definition at line 21 of file MuonTransientTrackingRecHit.cc.

Referenced by build(), clone(), and specificBuild().

21  :
GenericTransientTrackingRecHit(const GeomDet &geom, const TrackingRecHit &rh)
MuonTransientTrackingRecHit::MuonTransientTrackingRecHit ( const MuonTransientTrackingRecHit other)
private

Copy ctor.

Definition at line 24 of file MuonTransientTrackingRecHit.cc.

24  :
25  GenericTransientTrackingRecHit(*other.det(), *(other.hit())) {}
GenericTransientTrackingRecHit(const GeomDet &geom, const TrackingRecHit &rh)
virtual const TrackingRecHit * hit() const
const GeomDet * det() const

Member Function Documentation

static RecHitPointer MuonTransientTrackingRecHit::build ( const GeomDet geom,
const TrackingRecHit rh 
)
inlinestatic

FIXME virtual ConstMuonRecHitContainer specificTransientHits() const;.

Definition at line 74 of file MuonTransientTrackingRecHit.h.

References MuonTransientTrackingRecHit().

Referenced by GlobalTrajectoryBuilderBase::fixTEC().

74  {
75  return RecHitPointer( new MuonTransientTrackingRecHit(geom, rh));
76  }
MuonTransientTrackingRecHit(const GeomDet *geom, const TrackingRecHit *rh)
Construct from a TrackingRecHit and its GeomDet.
std::shared_ptr< TrackingRecHit const > RecHitPointer
double MuonTransientTrackingRecHit::chi2 ( void  ) const
virtual

Chi square of the fit for segments, else 0.

Definition at line 126 of file MuonTransientTrackingRecHit.cc.

References GenericTransientTrackingRecHit::hit().

Referenced by CosmicMuonSeedGenerator::checkQuality(), and MuonSeedCleaner::NChi2OfSegment().

127 {
128  if (dynamic_cast<const RecSegment*>(hit()))
129  return dynamic_cast<const RecSegment*>(hit())->chi2();
130  else return 0.;
131 }
virtual double chi2() const
Chi square of the fit for segments, else 0.
virtual const TrackingRecHit * hit() const
virtual MuonTransientTrackingRecHit* MuonTransientTrackingRecHit::clone ( void  ) const
inlineoverrideprivatevirtual

Reimplemented from GenericTransientTrackingRecHit.

Definition at line 94 of file MuonTransientTrackingRecHit.h.

References MuonTransientTrackingRecHit().

Referenced by transientHits().

94  {
95  return new MuonTransientTrackingRecHit(*this);
96  }
MuonTransientTrackingRecHit(const GeomDet *geom, const TrackingRecHit *rh)
Construct from a TrackingRecHit and its GeomDet.
int MuonTransientTrackingRecHit::degreesOfFreedom ( ) const
virtual

Degrees of freedom for segments, else 0.

Definition at line 133 of file MuonTransientTrackingRecHit.cc.

References GenericTransientTrackingRecHit::hit().

Referenced by CosmicMuonSeedGenerator::leftIsBetter(), and MuonSeedCleaner::NChi2OfSegment().

134 {
135  if (dynamic_cast<const RecSegment*>(hit()))
136  return dynamic_cast<const RecSegment*>(hit())->degreesOfFreedom();
137  else return 0;
138 }
virtual int degreesOfFreedom() const
Degrees of freedom for segments, else 0.
virtual const TrackingRecHit * hit() const
GlobalVector MuonTransientTrackingRecHit::globalDirection ( ) const
virtual

Direction in 3D for segments, otherwise (0,0,0)

Definition at line 44 of file MuonTransientTrackingRecHit.cc.

References TrackingRecHit::det(), localDirection(), and TValidTrackingRecHit::surface().

Referenced by CosmicMuonSeedGenerator::areCorrelated(), CosmicMuonSeedGenerator::createSeed(), and MuonSeedOrcaPatternRecognition::discriminator().

45 {
46  return (det()->surface().toGlobal(localDirection()));
47 }
virtual LocalVector localDirection() const
Direction in 3D for segments, otherwise (0,0,0)
const GeomDet * det() const
virtual const Surface * surface() const
GlobalError MuonTransientTrackingRecHit::globalDirectionError ( ) const
virtual

Error on the global direction.

Definition at line 49 of file MuonTransientTrackingRecHit.cc.

References TrackingRecHit::det(), localDirectionError(), TValidTrackingRecHit::surface(), and ErrorFrameTransformer::transform().

50 {
52 }
static GlobalError transform(const LocalError &le, const Surface &surf)
const GeomDet * det() const
virtual LocalError localDirectionError() const
Error on the local direction.
virtual const Surface * surface() const
void MuonTransientTrackingRecHit::invalidateHit ( )

Definition at line 218 of file MuonTransientTrackingRecHit.cc.

References TrackingRecHit::bad, GenericTransientTrackingRecHit::dimension(), isCSC(), isDT(), GenericTransientTrackingRecHit::recHits(), TrackingRecHit::setType(), and GenericTransientTrackingRecHit::trackingRecHit_.

Referenced by StandAloneMuonFilter::createDefaultTrajectory(), and MuonTrajectoryUpdator::update().

218  {
220 
221 
222  if (isDT()){
223  if(dimension() > 1){ // MB4s have 2D, but formatted in 4D segments
224  std::vector<TrackingRecHit*> seg2D = recHits(); // 4D --> 2D
225  // load 1D hits (2D --> 1D)
226  for(std::vector<TrackingRecHit*>::iterator it = seg2D.begin(); it != seg2D.end(); ++it){
227  std::vector<TrackingRecHit*> hits1D = (*it)->recHits();
228  (*it)->setType(bad);
229  for(std::vector<TrackingRecHit*>::iterator it2 = hits1D.begin(); it2 != hits1D.end(); ++it2)
230  (*it2)->setType(bad);
231  }
232  }
233  }
234  else if(isCSC())
235  if(dimension() == 4){
236  std::vector<TrackingRecHit*> hits = recHits(); // load 2D hits (4D --> 1D)
237  for(std::vector<TrackingRecHit*>::iterator it = hits.begin(); it != hits.end(); ++it)
238  (*it)->setType(bad);
239  }
240 
241 
242 }
bool isCSC() const
if this rec hit is a CSC rec hit
bool isDT() const
if this rec hit is a DT rec hit
virtual std::vector< const TrackingRecHit * > recHits() const override
Access to component RecHits (if any)
void setType(Type ttype)
bool MuonTransientTrackingRecHit::isCSC ( ) const

if this rec hit is a CSC rec hit

Definition at line 144 of file MuonTransientTrackingRecHit.cc.

References MuonSubdetId::CSC, and TrackingRecHit::geographicalId().

Referenced by CosmicMuonSeedGenerator::checkQuality(), and invalidateHit().

144  {
145  return (geographicalId().subdetId() == MuonSubdetId::CSC);
146 }
static const int CSC
Definition: MuonSubdetId.h:13
DetId geographicalId() const
bool MuonTransientTrackingRecHit::isDT ( ) const

if this rec hit is a DT rec hit

Definition at line 140 of file MuonTransientTrackingRecHit.cc.

References MuonSubdetId::DT, and TrackingRecHit::geographicalId().

Referenced by CosmicMuonSeedGenerator::checkQuality(), MuonSeedOrcaPatternRecognition::discriminator(), invalidateHit(), and transientHits().

140  {
141  return (geographicalId().subdetId() == MuonSubdetId::DT);
142 }
static const int DT
Definition: MuonSubdetId.h:12
DetId geographicalId() const
bool MuonTransientTrackingRecHit::isGEM ( ) const

if this rec hit is a GEM rec hit

Definition at line 148 of file MuonTransientTrackingRecHit.cc.

References MuonSubdetId::GEM, and TrackingRecHit::geographicalId().

148  {
149  return (geographicalId().subdetId() == MuonSubdetId::GEM);
150 }
static const int GEM
Definition: MuonSubdetId.h:15
DetId geographicalId() const
bool MuonTransientTrackingRecHit::isRPC ( ) const

if this rec hit is a RPC rec hit

Definition at line 152 of file MuonTransientTrackingRecHit.cc.

References TrackingRecHit::geographicalId(), and MuonSubdetId::RPC.

152  {
153  return (geographicalId().subdetId() == MuonSubdetId::RPC);
154 }
static const int RPC
Definition: MuonSubdetId.h:14
DetId geographicalId() const
LocalVector MuonTransientTrackingRecHit::localDirection ( ) const
virtual

Direction in 3D for segments, otherwise (0,0,0)

Definition at line 28 of file MuonTransientTrackingRecHit.cc.

References GenericTransientTrackingRecHit::hit().

Referenced by globalDirection().

28  {
29 
30  if (dynamic_cast<const RecSegment*>(hit()) )
31  return dynamic_cast<const RecSegment*>(hit())->localDirection();
32  else return LocalVector(0.,0.,0.);
33 
34 }
Local3DVector LocalVector
Definition: LocalVector.h:12
virtual const TrackingRecHit * hit() const
virtual LocalVector localDirection() const
Direction in 3D for segments, otherwise (0,0,0)
LocalError MuonTransientTrackingRecHit::localDirectionError ( ) const
virtual

Error on the local direction.

Definition at line 36 of file MuonTransientTrackingRecHit.cc.

References GenericTransientTrackingRecHit::hit().

Referenced by globalDirectionError().

36  {
37 
38  if (dynamic_cast<const RecSegment*>(hit()))
39  return dynamic_cast<const RecSegment*>(hit())->localDirectionError();
40  else return LocalError(0.,0.,0.);
41 
42 }
virtual const TrackingRecHit * hit() const
virtual LocalError localDirectionError() const
Error on the local direction.
AlgebraicSymMatrix MuonTransientTrackingRecHit::parametersError ( ) const
overridevirtual

Reimplemented from GenericTransientTrackingRecHit.

Definition at line 55 of file MuonTransientTrackingRecHit.cc.

References GeomDet::alignmentPositionError(), LocalErrorBaseExtended< T, ErrorWeightType >::cphixphix(), LocalErrorBaseExtended< T, ErrorWeightType >::cphixx(), LocalErrorBaseExtended< T, ErrorWeightType >::cphixy(), LocalErrorBaseExtended< T, ErrorWeightType >::cphiyphix(), LocalErrorBaseExtended< T, ErrorWeightType >::cphiyphiy(), LocalErrorBaseExtended< T, ErrorWeightType >::cphiyx(), LocalErrorBaseExtended< T, ErrorWeightType >::cphiyy(), LocalErrorBaseExtended< T, ErrorWeightType >::cxx(), LocalErrorBaseExtended< T, ErrorWeightType >::cyx(), LocalErrorBaseExtended< T, ErrorWeightType >::cyy(), TrackingRecHit::det(), AlignmentPositionError::globalError(), GenericTransientTrackingRecHit::localPosition(), NULL, GenericTransientTrackingRecHit::parameters(), GenericTransientTrackingRecHit::parametersError(), ErrorFrameTransformer::transform46(), and PV3DBase< T, PVType, FrameType >::x().

Referenced by CosmicMuonSeedGenerator::createSeed().

55  {
56 
59 
61  if (APE != NULL) {
62  AlgebraicVector positions(2,0);
64 
65  if(err.num_row() == 1) {
66  positions[0] = 0.;
67  positions[1] = 0.;
68  directions[0] = 0.;
69  directions[1] = 0.;
71  err[0][0] += lape.cxx();
72  } else if (err.num_row() == 2) {
73  positions[0] = localPosition().x();
74  positions[1] = 0.;
75  directions[0] = 0.;
76  directions[1] = 0.;
78 
79  AlgebraicSymMatrix lapeMatrix(2,0);
80  lapeMatrix[1][1] = lape.cxx();
81  lapeMatrix[0][0] = lape.cphixphix();
82  lapeMatrix[0][1] = lape.cphixx();
83 
84  if(err.num_row() != lapeMatrix.num_row())
85  throw cms::Exception("MuonTransientTrackingRecHit::parametersError")
86  <<"Discrepancy between alignment error matrix and error matrix: APE "
87  << lapeMatrix.num_row()
88  << ", error matrix " << err.num_row()
89  << std::endl;
90 
91  err += lapeMatrix;
92  } else if (err.num_row() == 4) {
93  positions[0] = par[2];
94  positions[1] = par[3];
95  directions[0] = par[0];
96  directions[1] = par[1];
97 
99 
100  AlgebraicSymMatrix lapeMatrix(4,0);
101  lapeMatrix[2][2] = lape.cxx();
102  lapeMatrix[2][3] = lape.cyx();
103  lapeMatrix[3][3] = lape.cyy();
104  lapeMatrix[0][0] = lape.cphixphix();
105  lapeMatrix[0][1] = lape.cphiyphix();
106  lapeMatrix[1][1] = lape.cphiyphiy();
107 
108  lapeMatrix[0][2] = lape.cphixx();
109  lapeMatrix[0][3] = lape.cphixy();
110  lapeMatrix[1][3] = lape.cphiyy();
111  lapeMatrix[1][2] = lape.cphiyx();
112 
113  if(err.num_row() != lapeMatrix.num_row())
114  throw cms::Exception("MuonTransientTrackingRecHit::parametersError")
115  <<"Discrepancy between alignment error matrix and error matrix: APE "
116  << lapeMatrix.num_row()
117  << ", error matrix " << err.num_row()
118  << std::endl;
119 
120  err += lapeMatrix;
121  }
122  }
123  return err;
124 }
static LocalErrorExtended transform46(const GlobalErrorExtended &ge, const AlgebraicVector &positions, const AlgebraicVector &directions)
virtual LocalPoint localPosition() const override
#define NULL
Definition: scimark2.h:8
const GlobalErrorExtended & globalError() const
virtual AlgebraicSymMatrix parametersError() const
const GeomDet * det() const
CLHEP::HepVector AlgebraicVector
virtual AlgebraicVector parameters() const
CLHEP::HepSymMatrix AlgebraicSymMatrix
T x() const
Definition: PV3DBase.h:62
AlignmentPositionError const * alignmentPositionError() const
Return pointer to alignment errors.
Definition: GeomDet.h:93
static MuonRecHitPointer MuonTransientTrackingRecHit::specificBuild ( const GeomDet geom,
const TrackingRecHit rh 
)
inlinestatic
TransientTrackingRecHit::ConstRecHitContainer MuonTransientTrackingRecHit::transientHits ( ) const
overridevirtual

return the sub components of this transient rechit

Reimplemented from TrackingRecHit.

Definition at line 158 of file MuonTransientTrackingRecHit.cc.

References clone(), GeomDet::components(), filterCSVwithJSON::copy, TrackingRecHit::det(), GenericTransientTrackingRecHit::dimension(), GeomDet::geographicalId(), isDT(), GenericTransientTrackingRecHit::recHits(), and tmp.

158  {
159 
160  ConstRecHitContainer theSubTransientRecHits;
161 
162  // the sub rec hit of this TransientRecHit
163  std::vector<const TrackingRecHit*> ownRecHits = recHits();
164 
165  if(ownRecHits.size() == 0){
166  theSubTransientRecHits.push_back(TransientTrackingRecHit::RecHitPointer(clone()));
167  return theSubTransientRecHits;
168  }
169 
170  // the components of the geom det on which reside this rechit
171  std::vector<const GeomDet *> geomDets = det()->components();
172 
173  if(isDT() && dimension() == 2 && ownRecHits.front()->dimension() == 1
174  && (geomDets.size() == 3 || geomDets.size() == 2) ){ // it is a phi segment!!
175 
176  std::vector<const GeomDet *> subGeomDets;
177 
178  int sl = 1;
179  for(std::vector<const GeomDet *>::const_iterator geoDet = geomDets.begin();
180  geoDet != geomDets.end(); ++geoDet){
181  if(sl != 3){ // FIXME!! this maybe is not always true
182  std::vector<const GeomDet *> tmp = (*geoDet)->components();
183  std::copy(tmp.begin(),tmp.end(),back_inserter(subGeomDets));
184  }
185  ++sl;
186  }
187  geomDets.clear();
188  geomDets = subGeomDets;
189  }
190 
191  // Fill the GeomDet map
192  std::map<DetId,const GeomDet*> gemDetMap;
193 
194  for (std::vector<const GeomDet*>::const_iterator subDet = geomDets.begin();
195  subDet != geomDets.end(); ++subDet)
196  gemDetMap[ (*subDet)->geographicalId() ] = *subDet;
197 
198  std::map<DetId,const GeomDet*>::iterator gemDetMap_iter;
199 
200  // Loop in order to check the ids
201  for (std::vector<const TrackingRecHit*>::const_iterator rechit = ownRecHits.begin();
202  rechit != ownRecHits.end(); ++rechit){
203 
204  gemDetMap_iter = gemDetMap.find( (*rechit)->geographicalId() );
205 
206  if(gemDetMap_iter != gemDetMap.end() )
207  theSubTransientRecHits.push_back(TransientTrackingRecHit::RecHitPointer(new MuonTransientTrackingRecHit(gemDetMap_iter->second,
208  *rechit)) );
209  else if( (*rechit)->geographicalId() == det()->geographicalId() ) // Phi in DT is on Chamber
210  theSubTransientRecHits.push_back(TransientTrackingRecHit::RecHitPointer(new MuonTransientTrackingRecHit(det(),
211  *rechit)) );
212  }
213  return theSubTransientRecHits;
214 
215 }
virtual MuonTransientTrackingRecHit * clone() const override
bool isDT() const
if this rec hit is a DT rec hit
virtual std::vector< const TrackingRecHit * > recHits() const override
Access to component RecHits (if any)
const GeomDet * det() const
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:77
std::shared_ptr< TrackingRecHit const > RecHitPointer
virtual std::vector< const GeomDet * > components() const
Returns direct components, if any.
Definition: GeomDet.h:86
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer

Friends And Related Function Documentation

friend class kkkwwwxxxyyyzzz
friend

Definition at line 86 of file MuonTransientTrackingRecHit.h.