BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MdcHitUse.cxx
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2// File and Version Information:
3// $Id: MdcHitUse.cxx,v 1.2 2011/09/26 00:55:50 zhangy Exp $
4//
5// Description:
6//
7//
8// Environment:
9// Software developed for the BaBar Detector at the SLAC B-Factory.
10//
11// Author(s): Steve Schaffner
12//
13//------------------------------------------------------------------------
14
15// #include "BaBar/BaBar.h"
16#include "MdcData/MdcHitUse.h"
17#include "MdcData/MdcHit.h"
18#include "MdcData/MdcRecoHitOnTrack.h"
19
20MdcHitUse::MdcHitUse( const MdcHit& thehit, double flt, int amb, bool active, int usable )
21 : TrkHitUse( thehit, flt, active, usable ) {
22 _ambig = amb;
23}
24
26
28// MdcHitUse::createHitOnTrk(const TrkRep& rep, bool maintainAmbiguity) const
29{
30 // This is a kludge -- fix once MdcHitOnTrack gets more cleaned up
31 // (time should not be used for anything (I hope)
32 // Also note that I temporarily have to cast off const from TrkRep
33 const MdcHit* h = mdcHit();
34 assert( h != 0 );
35 MdcRecoHitOnTrack tempHot( *h, ambig(), 0. );
36 TrkHitOnTrk* newHot = tempHot.clone( &const_cast<TrkRep&>( rep ) );
37 newHot->setFltLen( fltLen() );
38 updateMeasurement( *newHot );
39 /*
40 //yzhang changed 2011-05-04
41 std::cout<< __FILE__ << " " << __LINE__ << " maintainAmbiguity
42 "<<maintainAmbiguity<<std::endl; if( maintainAmbiguity )
43 {
44 std::cout<< __FILE__ << " " << __LINE__ << " 2d "<<false<<std::endl;
45 updateMeasurement(*newHot,0, false); //2d maintainAmbiguity = false
46 }else{
47 std::cout<< __FILE__ << " " << __LINE__ << " 3d "<<true<<std::endl;
48 updateMeasurement(*newHot,0, true); //3d maintainAmbiguity = true
49 }
50 */
51 // zhangy
52 return newHot;
53}
54
55bool MdcHitUse::operator==( const TrkHitUse& rhs ) const {
56 // This is not going to win any design prizes:
57 if ( mdcHit() == 0 || rhs.mdcHit() == 0 ) return false;
58 const MdcHitUse& x = static_cast<const MdcHitUse&>( rhs );
59 return ( ambig() == x.ambig() && TrkHitUse::operator==( x ) );
60}
61
62const MdcHit* MdcHitUse::mdcHit() const { return static_cast<const MdcHit*>( &( hit() ) ); }
virtual bool operator==(const TrkHitUse &) const
Definition MdcHitUse.cxx:55
virtual TrkHitOnTrk * createHitOnTrk(const TrkRep &) const
Definition MdcHitUse.cxx:27
const MdcHit * mdcHit() const
Definition MdcHitUse.cxx:62
MdcHitUse(const MdcHit &, double fltLen, int ambig, bool active=true, int usable=1)
Definition MdcHitUse.cxx:20
virtual ~MdcHitUse()
Definition MdcHitUse.cxx:25
virtual TrkHitOnTrk * clone(TrkRep *, const TrkDifTraj *trkTraj=0) const
TrkErrCode updateMeasurement(TrkHitOnTrk &hot, const TrkDifTraj *traj=0, bool maintainAmbiguity=false) const
virtual const MdcHit * mdcHit() const
Definition TrkHitUse.cxx:32
TrkHitUse(const TrkFundHit &, double fltLen, bool active=true, int usable=1)
Definition TrkHitUse.cxx:18