BOSS 6.6.4.p01
BESIII Offline Software System
Loading...
Searching...
No Matches
TrkHitList.h
Go to the documentation of this file.
1#ifndef TRKHITLIST_H
2#define TRKHITLIST_H
3//--------------------------------------------------------------------------
4// File and Version Information:
5// $Id: TrkHitList.h,v 1.1.1.1 2005/04/21 06:01:42 zhangy Exp $
6//
7// Description:
8// Provides track users with an interface to the track's list of hits.
9// It's really just a split-off piece of the TrkRecoTrk interface, and
10// remains intimately connected to TrkRecoTrk.
11// Comments:
12// Adding or removing a hit adds it to all hypotheses
13// Removing a hit destroys any Hots associated with it
14// Appending Hots clones them; the track does *not* take
15// ownership of the hots passed in.
16//
17// Environment:
18// Software developed for the BaBar Detector at the SLAC B-Factory.
19//
20// Author(s): Steve Schaffner
21//------------------------------------------------------------------------
22
23#include "MdcRecoUtil/PdtPid.h"
25#include "TrkBase/TrkHotList.h"
26
27class TrkRecoTrk;
28class TrkHitOnTrk;
29class TrkFundHit;
30class TrkRep;
31class TrkErrCode;
32class TrkHitUse;
33
34// Class interface //
36
37public:
39 virtual ~TrkHitList();
40
41 //**********************************
42 // Access to the hits
43 //**********************************
44 unsigned nHit() const { return end()-begin();};
45 hot_iterator begin() const { return hotList().begin(); }
46 hot_iterator end() const { return hotList().end(); }
47
48 const TrkHotList& hotList() const;
49
50 //**********************************
51 // Modify
52 //**********************************
53 bool removeHit(const TrkFundHit *theHit); //ret. false if not found
54 TrkHitOnTrk* appendHot(const TrkHitOnTrk *theHot);
55 TrkHitOnTrk* appendHit(const TrkHitUse& theHit);
56 bool append(const TrkHitList& list);
57 void setActivity(const TrkHitOnTrk&);
58
59 //**********************************
60 // Fit the track
61 //**********************************
62 // Perform the fit; should have no effect on an up-to-date (fitCurrent=true)
63 // fit
65
66 bool operator==(const TrkHitList& right) const {return this == &right;}
67private:
68 // Data
69 TrkRecoTrk* _theTrack;
70 PdtPid::PidType _myHypo;
71
72 // ctor
74
75 // Functions
76 const TrkRep* theRep() const;
77 TrkRep* theRep();
78
79 // Preempt
80 TrkHitList& operator= (const TrkHitList&);
81 TrkHitList(const TrkHitList &);
82
83 friend class TrkRecoTrk;
84
85};
86
87#endif
PidType
Definition: PdtPid.h:11
TrkErrCode fit()
Definition: TrkHitList.cxx:59
hot_iterator begin() const
Definition: TrkHitList.h:45
unsigned nHit() const
Definition: TrkHitList.h:44
TrkHitOnTrk * appendHot(const TrkHitOnTrk *theHot)
Definition: TrkHitList.cxx:91
const TrkHotList & hotList() const
Definition: TrkHitList.cxx:51
hot_iterator end() const
Definition: TrkHitList.h:46
virtual ~TrkHitList()
Definition: TrkHitList.cxx:34
bool removeHit(const TrkFundHit *theHit)
Definition: TrkHitList.cxx:69
void setActivity(const TrkHitOnTrk &)
bool append(const TrkHitList &list)
Definition: TrkHitList.cxx:138
TrkHitOnTrk * appendHit(const TrkHitUse &theHit)
Definition: TrkHitList.cxx:114
bool operator==(const TrkHitList &right) const
Definition: TrkHitList.h:66
TrkHotList::hot_iterator hot_iterator
Definition: TrkHitList.h:38
hot_iterator end() const
Definition: TrkHotList.h:45
hot_iterator begin() const
Definition: TrkHotList.h:44
Definition: TrkRep.h:43