CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
AnnealingGhostTrackFitter.h
Go to the documentation of this file.
1 #ifndef RecoBTag_AnnealingGhostTrackFitter_h
2 #define RecoBTag_AnnealingGhostTrackFitter_h
3 
4 #include <vector>
5 #include <memory>
6 
8 
11 
12 namespace reco {
13 
14 class GhostTrackPrediction;
15 class GhostTrackState;
16 
18  public:
21  annealing(orig.annealing->clone()),
22  firstStep(orig.firstStep) {}
24 
25  private:
26  virtual FitterImpl *clone() const
27  { return new AnnealingGhostTrackFitter(*this); }
28 
29  virtual bool stable(const GhostTrackPrediction &before,
30  const GhostTrackPrediction &after) const
31  {
32  return SequentialGhostTrackFitter::stable(before, after) &&
33  annealing->isAnnealed();
34  }
35 
36  virtual void reset() { annealing->resetAnnealing(); firstStep = true; }
37  virtual void postFit(
39  const GhostTrackPrediction &pred,
40  std::vector<GhostTrackState> &states);
41 
42  std::auto_ptr<AnnealingSchedule> annealing;
43  bool firstStep;
44 };
45 
46 }
47 
48 #endif // RecoBTag_AnnealingGhostTrackFitter_h
virtual void postFit(const GhostTrackFitter::PredictionUpdater &updater, const GhostTrackPrediction &pred, std::vector< GhostTrackState > &states)
virtual FitterImpl * clone() const
AnnealingGhostTrackFitter(const AnnealingGhostTrackFitter &orig)
virtual bool stable(const GhostTrackPrediction &before, const GhostTrackPrediction &after) const
std::auto_ptr< AnnealingSchedule > annealing
virtual bool stable(const GhostTrackPrediction &before, const GhostTrackPrediction &after) const