00001 #ifndef TRKHITONTRKUPDATER_H 00002 #define TRKHITONTRKUPDATER_H 00003 00004 //-------------------------------------------------------------------------- 00005 // 00006 // Environment: 00007 // This software was developed for the BaBar collaboration. If you 00008 // use all or part of it, please give an appropriate acknowledgement. 00009 // 00010 // Copyright Information: 00011 // Copyright (C) 2000 University of California, San Diego 00012 // 00013 //------------------------------------------------------------------------ 00014 00015 #include "TrkBase/TrkHitOnTrk.h" 00016 #include "TrkBase/TrkErrCode.h" 00017 00034 #include "TrkBase/TrkFunctors.h" 00035 00036 class TrkHitOnTrkUpdater 00037 { 00038 public: 00039 virtual ~TrkHitOnTrkUpdater() = 0; 00040 protected: 00041 TrkErrCode updateMeasurement(TrkHitOnTrk &hot, const TrkDifTraj* traj=0, bool maintainAmbiguity=false) const 00042 { return hot.updateMeasurement(traj,maintainAmbiguity);} 00043 // allow subclasses (essentially TrkReps) to set hot activity directly 00044 void setActivity(TrkHitOnTrk& hot,bool active) const { 00045 hot.setActive(active); } 00046 // allow changing the parent to which a hot is assigned 00047 void setParent(TrkHitOnTrk& hot,TrkRep* parent) const { 00048 hot._parentRep = parent; 00049 } 00050 00051 TrkBase::Functors::updateMeasurement updateMeasurement( const TrkDifTraj* traj=0, bool maintainAmbiguity=false) const 00052 { return TrkBase::Functors::updateMeasurement(traj,maintainAmbiguity); } 00053 TrkBase::Functors::setParent setParent(TrkRep* parent) const 00054 { return TrkBase::Functors::setParent(parent); } 00055 TrkBase::Functors::setActive setActive(bool active) const 00056 { return TrkBase::Functors::setActive(active); } 00057 00058 00059 }; 00060 00061 #endif