BOSS 7.0.8
BESIII Offline Software System
Loading...
Searching...
No Matches
TrkHitUse.h
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2// File and Version Information:
3// $Id: TrkHitUse.h,v 1.1.1.1 2005/04/21 06:01:42 zhangy Exp $
4//
5// Description:
6// Carries information about how a hit is to be used on a track, and
7// is able to create the appropriate kind of HitOnTrk. Abstract base class.
8//
9// Environment:
10// Software developed for the BaBar Detector at the SLAC B-Factory.
11//
12// Author(s): Steve Schaffner
13//
14//------------------------------------------------------------------------
15#ifndef TRKHITUSE_HH
16#define TRKHITUSE_HH
17
18class TrkFundHit;
19class TrkHitOnTrk;
20class TrkRep;
21//class SvtHit;
22class MdcHit;
23
24// Class interface //
25class TrkHitUse {
26
27public:
28 TrkHitUse(const TrkFundHit&, double fltLen, bool active=true,
29 int usable=1);
30 virtual ~TrkHitUse();
31
32 bool isActive() const {return _isActive;}
33 int isUsable() const {return _isUsable;}
34 double fltLen() const {return _fltLen;}
35 const TrkFundHit& hit() const {return _hit;}
36 virtual const MdcHit* mdcHit() const;
37// virtual const SvtHit* svtHit() const;
38
39 virtual TrkHitOnTrk* createHitOnTrk(const TrkRep&) const = 0;
40 void setFltLen(double flt) {_fltLen = flt;}
41
42 // operator== tests on equality of contents: FundHit address and anything
43 // relevant in the derived classes (e.g. ambiguity for Mdc). It does
44 // not test flight length.
45 virtual bool operator==(const TrkHitUse&) const = 0;
46
47private:
48 const TrkFundHit& _hit;
49 bool _isActive;
50 int _isUsable;
51 double _fltLen;
52
53 // Preempt
54 TrkHitUse& operator= (const TrkHitUse&);
55 TrkHitUse(const TrkHitUse &);
56};
57
58#endif
Definition: MdcHit.h:44
virtual bool operator==(const TrkHitUse &) const =0
Definition: TrkHitUse.cxx:47
int isUsable() const
Definition: TrkHitUse.h:33
const TrkFundHit & hit() const
Definition: TrkHitUse.h:35
virtual const MdcHit * mdcHit() const
Definition: TrkHitUse.cxx:33
double fltLen() const
Definition: TrkHitUse.h:34
void setFltLen(double flt)
Definition: TrkHitUse.h:40
virtual ~TrkHitUse()
Definition: TrkHitUse.cxx:27
bool isActive() const
Definition: TrkHitUse.h:32
virtual TrkHitOnTrk * createHitOnTrk(const TrkRep &) const =0
Definition: TrkRep.h:43