Belle II Software  release-08-01-10
AbsFitter.cc
1 /* Copyright 2008-2010, Technische Universitaet Muenchen,
2  Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
3 
4  This file is part of GENFIT.
5 
6  GENFIT is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published
8  by the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  GENFIT is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #include "AbsFitter.h"
21 #include "Track.h"
22 
23 namespace genfit {
24 
25 void AbsFitter::processTrack(Track* tr, bool resortHits) {
26  AbsTrackRep* cardRep = tr->getCardinalRep();
27  // process cardinal rep first
28  processTrackWithRep(tr, cardRep, resortHits);
29 
30  // now process rest of reps, but don't change sorting anymore!
31  for (unsigned int i=0; i<tr->getNumReps(); ++i) {
32  if (tr->getTrackRep(i) != cardRep)
33  processTrackWithRep(tr, tr->getTrackRep(i), false);
34  }
35 
36  tr->checkConsistency();
37 }
38 
39 } /* End of namespace genfit */
virtual void processTrackWithRep(Track *, const AbsTrackRep *, bool resortHits=false)=0
Process Track with one AbsTrackRep of the Track.
void processTrack(Track *, bool resortHits=false)
Process all reps.
Definition: AbsFitter.cc:25
Abstract base class for a track representation.
Definition: AbsTrackRep.h:66
Collection of TrackPoint objects, AbsTrackRep objects and FitStatus objects.
Definition: Track.h:71
AbsTrackRep * getCardinalRep() const
Get cardinal track representation.
Definition: Track.h:145
Defines for I/O streams used for error and debug printing.