CGEM BOSS 6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
TrkSimpleMaker.h
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2// File and Version Information:
3// $Id: TrkSimpleMaker.h,v 1.2 2020/05/11 02:15:52 wangll Exp $
4//
5// Description:
6// Creates tracks with reps of type T inside them (makeTrack()), or swaps
7// in a T rep for the existing Rep (changeFit()). In neither case
8// is a fit performed. T reps have an option of allowing hit-dropping
9// and ambiguity-flipping while fitting; these can be turned on
10// by invoking setFlipAndDrop() for that track.
11//
12// Environment:
13// Software developed for the BaBar Detector at the SLAC B-Factory.
14//
15// Author(s): Gerhard Raven
16//
17//------------------------------------------------------------------------
18
19#ifndef TRKSIMPLEMAKER_HH
20#define TRKSIMPLEMAKER_HH
21#include "TrkBase/TrkFitMaker.h"
22#include "TrkBase/TrkRep.h"
23
24class TrkRep;
25
26template <class T>
28public:
30 virtual ~TrkSimpleMaker();
31
32 virtual void changeFit(TrkRecoTrk& theTrack) const;
33 TrkRecoTrk* makeTrack(const TrkExchangePar& helix, const double chi2, const TrkContext&, double trackT0) const;
34 TrkRecoTrk* makeTrack(const TrkExchangePar& helix, const double chi2, const BField* bfield, double time) const;
35
36 // Change control parameters in track -- only valid for input SimpleReps.
37 bool setFlipAndDrop(TrkRecoTrk&, bool allowFlips, bool allowDrops) const;
38
39 void setValidRange(TrkRecoTrk& track, double newLo, double newHi) const;
40 void setValues(TrkRecoTrk& theTrack,
41 const TrkExchangePar& newPars, double chi2) const;
42
43private:
44 // Preempt
45 TrkSimpleMaker& operator= (const TrkSimpleMaker&);
47};
48//#ifdef BABAR_COMP_INST
49#include "TrkFitter/TrkSimpleMaker.icc"
50//#endif
51
52#endif
Double_t time
Definition: TrkRep.h:43
virtual ~TrkSimpleMaker()
void setValues(TrkRecoTrk &theTrack, const TrkExchangePar &newPars, double chi2) const
TrkRecoTrk * makeTrack(const TrkExchangePar &helix, const double chi2, const BField *bfield, double time) const
bool setFlipAndDrop(TrkRecoTrk &, bool allowFlips, bool allowDrops) const
void setValidRange(TrkRecoTrk &track, double newLo, double newHi) const
TrkRecoTrk * makeTrack(const TrkExchangePar &helix, const double chi2, const TrkContext &, double trackT0) const
virtual void changeFit(TrkRecoTrk &theTrack) const