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 | Private Member Functions | Private Attributes
SiTrackerMultiRecHitUpdator Class Reference

#include <SiTrackerMultiRecHitUpdator.h>

Public Types

typedef std::pair< LocalPoint,
LocalError
LocalParameters
 

Public Member Functions

const std::vector< double > & annealingProgram () const
 
virtual
TransientTrackingRecHit::RecHitPointer 
buildMultiRecHit (const std::vector< const TrackingRecHit * > &rhv, const TrajectoryStateOnSurface &tsos, float annealing=1.) const
 
std::pair< AlgebraicVector2,
AlgebraicSymMatrix22
ComputeParameters2dim (const TrajectoryStateOnSurface &tsos, const TransientTrackingRecHit &aRecHit) const
 
template<unsigned int N>
std::pair< AlgebraicVector2,
AlgebraicSymMatrix22
ComputeParameters2dim (const TrajectoryStateOnSurface &tsos, const TransientTrackingRecHit &aRecHit) const
 
double ComputeWeight (const TrajectoryStateOnSurface &tsos, const TransientTrackingRecHit &aRecHit, bool CutWeight, double annealing=1.) const
 
template<unsigned int N>
double ComputeWeight (const TrajectoryStateOnSurface &tsos, const TransientTrackingRecHit &aRecHit, bool CutWeight, double annealing=1.) const
 
const std::vector< double > & getAnnealingProgram () const
 
 SiTrackerMultiRecHitUpdator (const TransientTrackingRecHitBuilder *builder, const TrackingRecHitPropagator *hitpropagator, const float Chi2Cut, const std::vector< double > &anAnnealingProgram, bool debug)
 
virtual
TransientTrackingRecHit::RecHitPointer 
update (TransientTrackingRecHit::ConstRecHitPointer original, const TrajectoryStateOnSurface &tsos, double annealing=1.) const
 
TransientTrackingRecHit::RecHitPointer update (TransientTrackingRecHit::ConstRecHitContainer &tcomponents, const TrajectoryStateOnSurface &tsos, double annealing=1.) const
 
virtual ~SiTrackerMultiRecHitUpdator ()
 

Private Member Functions

LocalParameters calcParameters (const TrajectoryStateOnSurface &tsos, std::vector< std::pair< const TrackingRecHit *, float > > &aHitMap) const
 

Private Attributes

bool debug_
 
const std::vector< double > theAnnealingProgram
 
const
TransientTrackingRecHitBuilder
theBuilder
 
double theChi2Cut
 
TkClonerImpl theHitCloner
 
const TrackingRecHitPropagatortheHitPropagator
 

Detailed Description

Builds a SiTrackerMultiRecHit out of a vector of TrackingRecHit or updates an existing SiTrackerMultiRecHit given a tsos.

Author
tropiano, genta in May 2014 by brondolin

Definition at line 27 of file SiTrackerMultiRecHitUpdator.h.

Member Typedef Documentation

Definition at line 31 of file SiTrackerMultiRecHitUpdator.h.

Constructor & Destructor Documentation

SiTrackerMultiRecHitUpdator::SiTrackerMultiRecHitUpdator ( const TransientTrackingRecHitBuilder builder,
const TrackingRecHitPropagator hitpropagator,
const float  Chi2Cut,
const std::vector< double > &  anAnnealingProgram,
bool  debug 
)

Definition at line 12 of file SiTrackerMultiRecHitUpdator.cc.

References theHitCloner.

16  :
17  theBuilder(builder),
18  theHitPropagator(hitpropagator),
19  theChi2Cut(Chi2Cut),
20  theAnnealingProgram(anAnnealingProgram),
21  debug_(debug){
22  theHitCloner = static_cast<TkTransientTrackingRecHitBuilder const *>(builder)->cloner();
23  }
const std::vector< double > theAnnealingProgram
const TrackingRecHitPropagator * theHitPropagator
const TransientTrackingRecHitBuilder * theBuilder
#define debug
Definition: HDRShower.cc:19
virtual SiTrackerMultiRecHitUpdator::~SiTrackerMultiRecHitUpdator ( )
inlinevirtual

Definition at line 36 of file SiTrackerMultiRecHitUpdator.h.

36 {};

Member Function Documentation

const std::vector<double>& SiTrackerMultiRecHitUpdator::annealingProgram ( ) const
inline

Definition at line 67 of file SiTrackerMultiRecHitUpdator.h.

References theAnnealingProgram.

67 {return theAnnealingProgram;}
const std::vector< double > theAnnealingProgram
TransientTrackingRecHit::RecHitPointer SiTrackerMultiRecHitUpdator::buildMultiRecHit ( const std::vector< const TrackingRecHit * > &  rhv,
const TrajectoryStateOnSurface tsos,
float  annealing = 1. 
) const
virtual

Definition at line 26 of file SiTrackerMultiRecHitUpdator.cc.

References TransientTrackingRecHitBuilder::build(), getDQMSummary::iter, LogTrace, theBuilder, and update().

28  {
29  LogTrace("SiTrackerMultiRecHitUpdator") << "Calling SiTrackerMultiRecHitUpdator::buildMultiRecHit with AnnealingFactor: " << annealing;
31  for (std::vector<const TrackingRecHit*>::const_iterator iter = rhv.begin(); iter != rhv.end(); iter++){
33  if (transient->isValid()) tcomponents.push_back(transient);
34  }
35  return update(tcomponents, tsos, annealing);
36 
37 }
virtual TransientTrackingRecHit::RecHitPointer update(TransientTrackingRecHit::ConstRecHitPointer original, const TrajectoryStateOnSurface &tsos, double annealing=1.) const
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
const TransientTrackingRecHitBuilder * theBuilder
#define LogTrace(id)
std::shared_ptr< TrackingRecHit const > RecHitPointer
std::vector< ConstRecHitPointer > ConstRecHitContainer
SiTrackerMultiRecHitUpdator::LocalParameters SiTrackerMultiRecHitUpdator::calcParameters ( const TrajectoryStateOnSurface tsos,
std::vector< std::pair< const TrackingRecHit *, float > > &  aHitMap 
) const
private

Definition at line 237 of file SiTrackerMultiRecHitUpdator.cc.

References ComputeParameters2dim(), relativeConstraints::error, invertPosDefMatrix(), Parameters::parameters, and position.

Referenced by update().

237  {
238 
239  AlgebraicSymMatrix22 W_sum;
240  AlgebraicVector2 m_sum;
241 
242  for(std::vector<std::pair<const TrackingRecHit*, float> >::const_iterator ihit = aHitMap.begin(); ihit != aHitMap.end(); ihit++){
243 
244  std::pair<AlgebraicVector2,AlgebraicSymMatrix22> PositionAndError22;
245  PositionAndError22 = ComputeParameters2dim(tsos, *(ihit->first));
246 
247  W_sum += (ihit->second*PositionAndError22.second);
248  m_sum += (ihit->second*(PositionAndError22.second*PositionAndError22.first));
249 
250  }
251 
252  AlgebraicSymMatrix22 V_sum = W_sum;
253  bool ierr = invertPosDefMatrix(V_sum);
254  if( !ierr ) {
255  edm::LogError("SiTrackerMultiRecHitUpdator")<<"SiTrackerMultiRecHitUpdator::calcParameters: V_sum not valid!"<<std::endl;
256  }
257 
258  AlgebraicVector2 parameters = V_sum*m_sum;
259  LocalError error = LocalError(V_sum(0,0), V_sum(0,1), V_sum(1,1));
261 
262  return std::make_pair(position,error);
263 }
dictionary parameters
Definition: Parameters.py:2
std::pair< AlgebraicVector2, AlgebraicSymMatrix22 > ComputeParameters2dim(const TrajectoryStateOnSurface &tsos, const TransientTrackingRecHit &aRecHit) const
ROOT::Math::SMatrix< double, 2, 2, ROOT::Math::MatRepSym< double, 2 > > AlgebraicSymMatrix22
bool invertPosDefMatrix(ROOT::Math::SMatrix< T, N, N, ROOT::Math::MatRepSym< T, N > > &m)
static int position[264][3]
Definition: ReadPGInfo.cc:509
Local3DPoint LocalPoint
Definition: LocalPoint.h:11
ROOT::Math::SVector< double, 2 > AlgebraicVector2
std::pair< AlgebraicVector2, AlgebraicSymMatrix22 > SiTrackerMultiRecHitUpdator::ComputeParameters2dim ( const TrajectoryStateOnSurface tsos,
const TransientTrackingRecHit aRecHit 
) const

Definition at line 266 of file SiTrackerMultiRecHitUpdator.cc.

References TrackingRecHit::dimension(), Exception, and mergeVDriftHistosByStation::name.

Referenced by calcParameters().

267  {
268 
269  switch (aRecHit.dimension()) {
270  case 2: return ComputeParameters2dim<2>(tsos,aRecHit);
271  //avoiding the not-2D hit due to the matrix final sum
272  case ( 1 || 3 || 4 || 5 ):{
273  AlgebraicVector2 dummyVector2D (0.0,0.0);
274  AlgebraicSymMatrix22 dummyMatrix2D;
275  dummyMatrix2D(0,0) = dummyMatrix2D(1,0) = dummyMatrix2D(1,1) = 0.0;
276  return std::make_pair(dummyVector2D,dummyMatrix2D);
277  }
278  }
279  throw cms::Exception("Rec hit of invalid dimension (not 1,2,3,4,5)") <<
280  "The value was " << aRecHit.dimension() <<
281  ", type is " << typeid(aRecHit).name() << "\n";
282 }
virtual int dimension() const =0
ROOT::Math::SMatrix< double, 2, 2, ROOT::Math::MatRepSym< double, 2 > > AlgebraicSymMatrix22
ROOT::Math::SVector< double, 2 > AlgebraicVector2
template<unsigned int N>
std::pair<AlgebraicVector2,AlgebraicSymMatrix22> SiTrackerMultiRecHitUpdator::ComputeParameters2dim ( const TrajectoryStateOnSurface tsos,
const TransientTrackingRecHit aRecHit 
) const
double SiTrackerMultiRecHitUpdator::ComputeWeight ( const TrajectoryStateOnSurface tsos,
const TransientTrackingRecHit aRecHit,
bool  CutWeight,
double  annealing = 1. 
) const

Definition at line 154 of file SiTrackerMultiRecHitUpdator.cc.

References TrackingRecHit::dimension(), Exception, and mergeVDriftHistosByStation::name.

Referenced by update().

155  {
156 
157  switch (aRecHit.dimension()) {
158  case 1: return ComputeWeight<1>(tsos,aRecHit,CutWeight,annealing);
159  case 2: return ComputeWeight<2>(tsos,aRecHit,CutWeight,annealing);
160  case 3: return ComputeWeight<3>(tsos,aRecHit,CutWeight,annealing);
161  case 4: return ComputeWeight<4>(tsos,aRecHit,CutWeight,annealing);
162  case 5: return ComputeWeight<5>(tsos,aRecHit,CutWeight,annealing);
163  }
164  throw cms::Exception("Rec hit of invalid dimension (not 1,2,3,4,5)") <<
165  "The value was " << aRecHit.dimension() <<
166  ", type is " << typeid(aRecHit).name() << "\n";
167 }
virtual int dimension() const =0
template<unsigned int N>
double SiTrackerMultiRecHitUpdator::ComputeWeight ( const TrajectoryStateOnSurface tsos,
const TransientTrackingRecHit aRecHit,
bool  CutWeight,
double  annealing = 1. 
) const
const std::vector<double>& SiTrackerMultiRecHitUpdator::getAnnealingProgram ( ) const
inline

Definition at line 68 of file SiTrackerMultiRecHitUpdator.h.

References theAnnealingProgram.

Referenced by DAFTrackProducerAlgorithm::runWithCandidate().

68 {return theAnnealingProgram;}
const std::vector< double > theAnnealingProgram
TransientTrackingRecHit::RecHitPointer SiTrackerMultiRecHitUpdator::update ( TransientTrackingRecHit::ConstRecHitPointer  original,
const TrajectoryStateOnSurface tsos,
double  annealing = 1. 
) const
virtual

Definition at line 39 of file SiTrackerMultiRecHitUpdator.cc.

References Exception, TrajectoryStateOnSurface::isValid(), LogTrace, TkClonerImpl::makeShared(), and theHitCloner.

Referenced by progressbar.ProgressBar::__next__(), relval_steps.Matrix::__setitem__(), relval_steps.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), buildMultiRecHit(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), relval_steps.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), Vispa.Gui.PortConnection.PointToPointConnection::updateConnection(), and DAFTrackProducerAlgorithm::updateHits().

41  {
42  LogTrace("SiTrackerMultiRecHitUpdator") << "Calling SiTrackerMultiRecHitUpdator::update with AnnealingFactor: " << annealing;
43 
44  if(!tsos.isValid()) {
45  //return original->clone();
46  throw cms::Exception("SiTrackerMultiRecHitUpdator") << "!!! MultiRecHitUpdator::update(..): tsos NOT valid!!! ";
47  }
48 
49  //check if to clone is the right thing
50  if(original->isValid()){
51  if (original->transientHits().empty()){
52  return theHitCloner.makeShared(original,tsos);
53  }
54  } else {
55  return theHitCloner.makeShared(original,tsos);
56  }
57 
58  TransientTrackingRecHit::ConstRecHitContainer tcomponents = original->transientHits();
59  return update(tcomponents, tsos, annealing);
60 }
virtual TransientTrackingRecHit::RecHitPointer update(TransientTrackingRecHit::ConstRecHitPointer original, const TrajectoryStateOnSurface &tsos, double annealing=1.) const
list original
Definition: definitions.py:57
virtual TrackingRecHit::ConstRecHitPointer makeShared(SiPixelRecHit const &hit, TrajectoryStateOnSurface const &tsos) const override
Definition: TkClonerImpl.cc:47
#define LogTrace(id)
std::vector< ConstRecHitPointer > ConstRecHitContainer
TransientTrackingRecHit::RecHitPointer SiTrackerMultiRecHitUpdator::update ( TransientTrackingRecHit::ConstRecHitContainer tcomponents,
const TrajectoryStateOnSurface tsos,
double  annealing = 1. 
) const

Definition at line 63 of file SiTrackerMultiRecHitUpdator.cc.

References calcParameters(), cropTnPTrees::cloned, ComputeWeight(), counter, alignCSCRings::e, Exception, plotBeamSpotDB::first, TrajectoryStateOnSurface::isValid(), getDQMSummary::iter, LogTrace, TkClonerImpl::makeShared(), mergeVDriftHistosByStation::name, lumiCalc2::normmap, AlCaHLTBitMon_ParallelJobs::p, GloballyPositioned< T >::position(), TrackingRecHitPropagator::project(), edm::second(), TrajectoryStateOnSurface::surface(), theBuilder, theHitCloner, and theHitPropagator.

Referenced by progressbar.ProgressBar::__next__(), relval_steps.Matrix::__setitem__(), relval_steps.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), relval_steps.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

65  {
66 
67  if (tcomponents.empty()){
68  LogTrace("SiTrackerMultiRecHitUpdator") << "Empty components vector passed to SiTrackerMultiRecHitUpdator::update, returning an InvalidTransientRecHit ";
69  return std::make_shared<InvalidTrackingRecHitNoDet>();
70  }
71 
72  if(!tsos.isValid()) {
73  LogTrace("SiTrackerMultiRecHitUpdator")<<"SiTrackerMultiRecHitUpdator::update: tsos NOT valid!!!, returning an InvalidTransientRecHit";
74  return std::make_shared<InvalidTrackingRecHitNoDet>();
75  }
76 
77  std::vector<TransientTrackingRecHit::RecHitPointer> updatedcomponents;
78  const GeomDet* geomdet = 0;
79 
80  //running on all over the MRH components
81  for (TransientTrackingRecHit::ConstRecHitContainer::const_iterator iter = tcomponents.begin(); iter != tcomponents.end(); iter++){
82 
83  //the first rechit must belong to the same surface of TSOS
84  if (iter == tcomponents.begin()) {
85 
86  if (&((*iter)->det()->surface())!=&(tsos.surface())){
87  throw cms::Exception("SiTrackerMultiRecHitUpdator") << "the Trajectory state and the first rechit passed to the SiTrackerMultiRecHitUpdator lay on different surfaces!: state lays on surface " << tsos.surface().position() << " hit with detid " << (*iter)->det()->geographicalId().rawId() << " lays on surface " << (*iter)->det()->surface().position();
88  }
89 
90  geomdet = (*iter)->det();
91 
92  }
93 
94  //if the rechit does not belong to the surface of the tsos
95  //GenericProjectedRecHit2D is used to prepagate
96  if (&((*iter)->det()->surface())!=&(tsos.surface())){
97 
99  //if it is used a sensor by sensor grouping this should not appear
100  if (cloned->isValid()) updatedcomponents.push_back(cloned);
101 
102  } else {
104  if (cloned->isValid()){
105  updatedcomponents.push_back(cloned);
106  }
107  }
108  }
109 
110  std::vector<std::pair<const TrackingRecHit*, float> > mymap;
111  std::vector<std::pair<const TrackingRecHit*, float> > normmap;
112 
113  double a_sum=0, c_sum=0;
114 
115 
116  for(std::vector<TransientTrackingRecHit::RecHitPointer>::iterator ihit = updatedcomponents.begin();
117  ihit != updatedcomponents.end(); ihit++) {
118 
119  double a_i = ComputeWeight(tsos, *(*ihit), false, annealing); //exp(-0.5*Chi2)/(2.*M_PI*sqrt(det));
120  double c_i = ComputeWeight(tsos, *(*ihit), true, annealing); //exp(-0.5*theChi2Cut/annealing)/(2.*M_PI*sqrt(det));
121  mymap.push_back(std::pair<const TrackingRecHit*, float>((*ihit)->hit(), a_i));
122 
123  a_sum += a_i;
124  c_sum += c_i;
125  }
126  double total_sum = a_sum + c_sum;
127 
128  unsigned int counter = 0;
129  for(std::vector<TransientTrackingRecHit::RecHitPointer>::iterator ihit = updatedcomponents.begin();
130  ihit != updatedcomponents.end(); ihit++) {
131 
132  double p = ((mymap[counter].second)/total_sum > 1.e-6 ? (mymap[counter].second)/total_sum : 1.e-6);
133  //ORCA: float p = ((mymap[counter].second)/total_sum > 0.01 ? (mymap[counter].second)/total_sum : 1.e-6);
134  normmap.push_back(std::pair<const TrackingRecHit*,float>(mymap[counter].first, p));
135 
136  LogTrace("SiTrackerMultiRecHitUpdator")<< " Component hit type " << typeid(*mymap[counter].first).name()
137  << " position " << mymap[counter].first->localPosition()
138  << " error " << mymap[counter].first->localPositionError()
139  << " with weight " << p;
140  counter++;
141  }
142 
144 
145  SiTrackerMultiRecHit updated(param.first, param.second, *normmap.front().first->det(), normmap, annealing);
146  LogTrace("SiTrackerMultiRecHitUpdator") << " Updated Hit position " << updated.localPosition()
147  << " updated error " << updated.localPositionError() << std::endl;
148 
149  return std::make_shared<SiTrackerMultiRecHit>(param.first, param.second, *normmap.front().first->det(), normmap, annealing);
150 }
double ComputeWeight(const TrajectoryStateOnSurface &tsos, const TransientTrackingRecHit &aRecHit, bool CutWeight, double annealing=1.) const
virtual TrackingRecHit::ConstRecHitPointer makeShared(SiPixelRecHit const &hit, TrajectoryStateOnSurface const &tsos) const override
Definition: TkClonerImpl.cc:47
std::pair< LocalPoint, LocalError > LocalParameters
const TrackingRecHitPropagator * theHitPropagator
U second(std::pair< T, U > const &p)
const SurfaceType & surface() const
tuple normmap
Definition: lumiCalc2.py:361
const TransientTrackingRecHitBuilder * theBuilder
#define LogTrace(id)
std::shared_ptr< TrackingRecHit const > RecHitPointer
static std::atomic< unsigned int > counter
TrackingRecHit::RecHitPointer project(const TrackingRecHit::ConstRecHitPointer hit, const GeomDet &det, const TrajectoryStateOnSurface ts, const TransientTrackingRecHitBuilder *builder) const
const PositionType & position() const
LocalParameters calcParameters(const TrajectoryStateOnSurface &tsos, std::vector< std::pair< const TrackingRecHit *, float > > &aHitMap) const

Member Data Documentation

bool SiTrackerMultiRecHitUpdator::debug_
private

Definition at line 84 of file SiTrackerMultiRecHitUpdator.h.

const std::vector<double> SiTrackerMultiRecHitUpdator::theAnnealingProgram
private

Definition at line 82 of file SiTrackerMultiRecHitUpdator.h.

Referenced by annealingProgram(), and getAnnealingProgram().

const TransientTrackingRecHitBuilder* SiTrackerMultiRecHitUpdator::theBuilder
private

Definition at line 79 of file SiTrackerMultiRecHitUpdator.h.

Referenced by buildMultiRecHit(), and update().

double SiTrackerMultiRecHitUpdator::theChi2Cut
private

Definition at line 81 of file SiTrackerMultiRecHitUpdator.h.

TkClonerImpl SiTrackerMultiRecHitUpdator::theHitCloner
private

Definition at line 83 of file SiTrackerMultiRecHitUpdator.h.

Referenced by SiTrackerMultiRecHitUpdator(), and update().

const TrackingRecHitPropagator* SiTrackerMultiRecHitUpdator::theHitPropagator
private

Definition at line 80 of file SiTrackerMultiRecHitUpdator.h.

Referenced by update().