BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
TrkRecoTrk Class Reference

#include <TrkRecoTrk.h>

Public Types

typedef std::unary_function< TrkRecoTrk, bool > predicate_type
typedef std::unary_function< TrkRecoTrk, bool > predicate_type
typedef std::unary_function< TrkRecoTrk, bool > predicate_type

Public Member Functions

const TrkIdid () const
PdtPid::PidType defaultType () const
PdtPid::PidType whichFit (PdtPid::PidType hypo) const
int fitNumber (PdtPid::PidType hypo) const
double trackT0 () const
const MdcPatRec::BFieldbField () const
TrkErrCode addFit (PdtPid::PidType hypo, bool fit=true)
void resetT0 (double time)
const TrkFitfitResult () const
const TrkFitfitResult (PdtPid::PidType hypo) const
TrkHitListhits ()
const TrkHitListhits () const
TrkHitListhits (PdtPid::PidType hypo)
const TrkHitListhits (PdtPid::PidType hypo) const
TrkHotListhots ()
const TrkHotListhots () const
TrkHotListhots (PdtPid::PidType hypo)
const TrkHotListhots (PdtPid::PidType hypo) const
const TrkFitStatusstatus () const
const TrkFitStatusstatus (PdtPid::PidType hypo) const
TrkFitStatusstatus ()
TrkFitStatusstatus (PdtPid::PidType hypo)
bool attach (TrkExtInterface &, PdtPid::PidType hypo)
bool attach (TrkExtInterface &, PdtPid::PidType hypo) const
 TrkRecoTrk (const TrkRecoTrk &right)
virtual ~TrkRecoTrk ()
const TrkRecoTrkoperator= (const TrkRecoTrk &right)
bool operator== (const TrkRecoTrk &other) const
bool operator< (const TrkRecoTrk &other) const
virtual void print (std::ostream &) const
virtual void printAll (std::ostream &) const
void markForStore (PdtPid::PidType hypo, double fltlen, const char *listname="Default")
const std::set< TrkStoreHypo > & storageRequests (const char *listname="Default") const
void clearStorageRequests (const char *listname="Default")
void storageLists (std::set< std::string > &storage) const
const TrkReptestRep (PdtPid::PidType hypo) const
const TrkIdid () const
PdtPid::PidType defaultType () const
PdtPid::PidType whichFit (PdtPid::PidType hypo) const
int fitNumber (PdtPid::PidType hypo) const
double trackT0 () const
const MdcPatRec::BFieldbField () const
TrkErrCode addFit (PdtPid::PidType hypo, bool fit=true)
void resetT0 (double time)
const TrkFitfitResult () const
const TrkFitfitResult (PdtPid::PidType hypo) const
TrkHitListhits ()
const TrkHitListhits () const
TrkHitListhits (PdtPid::PidType hypo)
const TrkHitListhits (PdtPid::PidType hypo) const
TrkHotListhots ()
const TrkHotListhots () const
TrkHotListhots (PdtPid::PidType hypo)
const TrkHotListhots (PdtPid::PidType hypo) const
const TrkFitStatusstatus () const
const TrkFitStatusstatus (PdtPid::PidType hypo) const
TrkFitStatusstatus ()
TrkFitStatusstatus (PdtPid::PidType hypo)
bool attach (TrkExtInterface &, PdtPid::PidType hypo)
bool attach (TrkExtInterface &, PdtPid::PidType hypo) const
 TrkRecoTrk (const TrkRecoTrk &right)
virtual ~TrkRecoTrk ()
const TrkRecoTrkoperator= (const TrkRecoTrk &right)
bool operator== (const TrkRecoTrk &other) const
bool operator< (const TrkRecoTrk &other) const
virtual void print (std::ostream &) const
virtual void printAll (std::ostream &) const
void markForStore (PdtPid::PidType hypo, double fltlen, const char *listname="Default")
const std::set< TrkStoreHypo > & storageRequests (const char *listname="Default") const
void clearStorageRequests (const char *listname="Default")
void storageLists (std::set< std::string > &storage) const
const TrkReptestRep (PdtPid::PidType hypo) const
const TrkIdid () const
PdtPid::PidType defaultType () const
PdtPid::PidType whichFit (PdtPid::PidType hypo) const
int fitNumber (PdtPid::PidType hypo) const
double trackT0 () const
const MdcPatRec::BFieldbField () const
TrkErrCode addFit (PdtPid::PidType hypo, bool fit=true)
void resetT0 (double time)
const TrkFitfitResult () const
const TrkFitfitResult (PdtPid::PidType hypo) const
TrkHitListhits ()
const TrkHitListhits () const
TrkHitListhits (PdtPid::PidType hypo)
const TrkHitListhits (PdtPid::PidType hypo) const
TrkHotListhots ()
const TrkHotListhots () const
TrkHotListhots (PdtPid::PidType hypo)
const TrkHotListhots (PdtPid::PidType hypo) const
const TrkFitStatusstatus () const
const TrkFitStatusstatus (PdtPid::PidType hypo) const
TrkFitStatusstatus ()
TrkFitStatusstatus (PdtPid::PidType hypo)
bool attach (TrkExtInterface &, PdtPid::PidType hypo)
bool attach (TrkExtInterface &, PdtPid::PidType hypo) const
 TrkRecoTrk (const TrkRecoTrk &right)
virtual ~TrkRecoTrk ()
const TrkRecoTrkoperator= (const TrkRecoTrk &right)
bool operator== (const TrkRecoTrk &other) const
bool operator< (const TrkRecoTrk &other) const
virtual void print (std::ostream &) const
virtual void printAll (std::ostream &) const
void markForStore (PdtPid::PidType hypo, double fltlen, const char *listname="Default")
const std::set< TrkStoreHypo > & storageRequests (const char *listname="Default") const
void clearStorageRequests (const char *listname="Default")
void storageLists (std::set< std::string > &storage) const
const TrkReptestRep (PdtPid::PidType hypo) const

Protected Member Functions

TrkRepgetRep (PdtPid::PidType hypo)
const TrkRepgetRep (PdtPid::PidType hypo) const
void copyReps (const TrkRecoTrk &rhs)
void setRep (TrkRep *)
void repointHypo (PdtPid::PidType hypo, PdtPid::PidType fit)
void changeDefault (PdtPid::PidType newHypo)
std::pair< TrkRepIter, TrkRepIteruniqueReps () const
std::pair< TrkRepIter, TrkRepIterallReps () const
void setFitNumber (PdtPid::PidType hypo, int newNumber)
void updateReps ()
void addHypoTo (TrkRep *newRep, PdtPid::PidType hypo)
void setIdManager (TrkIdManager *idMan)
void setBField (const MdcPatRec::BField *field)
 TrkRecoTrk (PdtPid::PidType defaultPart, const TrkContext &, double t0)
 TrkRecoTrk (PdtPid::PidType defaultPart, long idnum, double t0)
TrkRepgetRep (PdtPid::PidType hypo)
const TrkRepgetRep (PdtPid::PidType hypo) const
void copyReps (const TrkRecoTrk &rhs)
void setRep (TrkRep *)
void repointHypo (PdtPid::PidType hypo, PdtPid::PidType fit)
void changeDefault (PdtPid::PidType newHypo)
std::pair< TrkRepIter, TrkRepIteruniqueReps () const
std::pair< TrkRepIter, TrkRepIterallReps () const
void setFitNumber (PdtPid::PidType hypo, int newNumber)
void updateReps ()
void addHypoTo (TrkRep *newRep, PdtPid::PidType hypo)
void setIdManager (TrkIdManager *idMan)
void setBField (const MdcPatRec::BField *field)
 TrkRecoTrk (PdtPid::PidType defaultPart, const TrkContext &, double t0)
 TrkRecoTrk (PdtPid::PidType defaultPart, long idnum, double t0)
TrkRepgetRep (PdtPid::PidType hypo)
const TrkRepgetRep (PdtPid::PidType hypo) const
void copyReps (const TrkRecoTrk &rhs)
void setRep (TrkRep *)
void repointHypo (PdtPid::PidType hypo, PdtPid::PidType fit)
void changeDefault (PdtPid::PidType newHypo)
std::pair< TrkRepIter, TrkRepIteruniqueReps () const
std::pair< TrkRepIter, TrkRepIterallReps () const
void setFitNumber (PdtPid::PidType hypo, int newNumber)
void updateReps ()
void addHypoTo (TrkRep *newRep, PdtPid::PidType hypo)
void setIdManager (TrkIdManager *idMan)
void setBField (const MdcPatRec::BField *field)
 TrkRecoTrk (PdtPid::PidType defaultPart, const TrkContext &, double t0)
 TrkRecoTrk (PdtPid::PidType defaultPart, long idnum, double t0)

Friends

class TrkFitMaker
class TrkHitOnTrk
class TrkHitList
class KalMiniTrkK
class TrkKalMiniCompositeK

Detailed Description

Member Typedef Documentation

◆ predicate_type [1/3]

typedef std::unary_function<TrkRecoTrk, bool> TrkRecoTrk::predicate_type

◆ predicate_type [2/3]

typedef std::unary_function<TrkRecoTrk, bool> TrkRecoTrk::predicate_type

◆ predicate_type [3/3]

typedef std::unary_function<TrkRecoTrk, bool> TrkRecoTrk::predicate_type

Constructor & Destructor Documentation

◆ TrkRecoTrk() [1/9]

TrkRecoTrk::TrkRecoTrk ( const TrkRecoTrk & right)

Definition at line 95 of file TrkRecoTrk.cxx.

96 : _impl( new TrkRecoTrkImpl )
97 , _id( rhs._id.idManager() )
98 , _fitNumber( PdtPid::nPidType, (int)0 )
99 , _storage( rhs._storage )
100 , _trackT0( rhs._trackT0 )
101 , _bField( rhs._bField ) {
102 _defaultType = rhs.defaultType();
103 unsigned i = 0;
104 for ( TrkRecoTrkImpl::hitListIter iface = _impl->_hitInterfaces.begin();
105 iface != _impl->_hitInterfaces.end(); ++iface )
106 {
107 iface->reset( new TrkHitList( this, (PdtPid::PidType)i++ ) ); // cast
108 }
109 copyReps( rhs );
110}
void copyReps(const TrkRecoTrk &rhs)

Referenced by copyReps(), operator<(), operator=(), operator==(), printAll(), and TrkRecoTrk().

◆ ~TrkRecoTrk() [1/3]

TrkRecoTrk::~TrkRecoTrk ( )
virtual

Definition at line 112 of file TrkRecoTrk.cxx.

112{ delete _impl; }

◆ TrkRecoTrk() [2/9]

TrkRecoTrk::TrkRecoTrk ( PdtPid::PidType defaultPart,
const TrkContext & ctext,
double t0 )
protected

Definition at line 61 of file TrkRecoTrk.cxx.

62 : _impl( new TrkRecoTrkImpl )
63 , _id( ctext.getId() )
64 , _fitNumber( PdtPid::nPidType, (int)0 )
65 , _defaultType( defaultPart )
66 , _trackT0( t0 )
67 , _bField( ctext.bField() ) {
68 // No TrkRep is defined here; must be created in appropriate FitMaker.
69 unsigned i = 0;
70 for ( TrkRecoTrkImpl::hitListIter iface = _impl->_hitInterfaces.begin();
71 iface != _impl->_hitInterfaces.end(); ++iface )
72 {
73 iface->reset( new TrkHitList( this, (PdtPid::PidType)i++ ) ); // cast
74 }
75}
virtual TrkId getId() const =0

◆ TrkRecoTrk() [3/9]

TrkRecoTrk::TrkRecoTrk ( PdtPid::PidType defaultPart,
long idnum,
double t0 )
protected

Definition at line 78 of file TrkRecoTrk.cxx.

79 : _impl( new TrkRecoTrkImpl )
80 , _id( idnum, 0 )
81 , _fitNumber( PdtPid::nPidType, (int)0 )
82 , _defaultType( defaultPart )
83 , _trackT0( t0 )
84 , _bField( 0 ) {
85 // No TrkRep is defined here; must be created in appropriate FitMaker.
86 unsigned i = 0;
87 for ( TrkRecoTrkImpl::hitListIter iface = _impl->_hitInterfaces.begin();
88 iface != _impl->_hitInterfaces.end(); ++iface )
89 {
90 iface->reset( new TrkHitList( this, (PdtPid::PidType)i++ ) ); // cast
91 }
92}

◆ TrkRecoTrk() [4/9]

TrkRecoTrk::TrkRecoTrk ( const TrkRecoTrk & right)

◆ ~TrkRecoTrk() [2/3]

virtual TrkRecoTrk::~TrkRecoTrk ( )
virtual

◆ TrkRecoTrk() [5/9]

TrkRecoTrk::TrkRecoTrk ( PdtPid::PidType defaultPart,
const TrkContext & ,
double t0 )
protected

◆ TrkRecoTrk() [6/9]

TrkRecoTrk::TrkRecoTrk ( PdtPid::PidType defaultPart,
long idnum,
double t0 )
protected

◆ TrkRecoTrk() [7/9]

TrkRecoTrk::TrkRecoTrk ( const TrkRecoTrk & right)

◆ ~TrkRecoTrk() [3/3]

virtual TrkRecoTrk::~TrkRecoTrk ( )
virtual

◆ TrkRecoTrk() [8/9]

TrkRecoTrk::TrkRecoTrk ( PdtPid::PidType defaultPart,
const TrkContext & ,
double t0 )
protected

◆ TrkRecoTrk() [9/9]

TrkRecoTrk::TrkRecoTrk ( PdtPid::PidType defaultPart,
long idnum,
double t0 )
protected

Member Function Documentation

◆ addFit() [1/3]

TrkErrCode TrkRecoTrk::addFit ( PdtPid::PidType hypo,
bool fit = true )

Definition at line 181 of file TrkRecoTrk.cxx.

181 {
182 // If there is no fit, create one. If hypo points to a fit for a different
183 // particle type, create a fit of type hypo, and point at that. Carry
184 // out the fit if needed.
185 if ( hits() == 0 )
186 {
187 // Unfittable rep
188 return TrkErrCode( TrkErrCode::fail, 11,
189 "TrkRecoTrk::addFit(): cannot add a fit to this track." );
190 }
191 if ( whichFit( hypo ) == hypo )
192 {
193 return TrkErrCode( TrkErrCode::succeed, 11,
194 "TrkRecoTrk::addFit(): requested fit already exists." );
195 }
196 _impl->_reps[hypo].reset( _impl->_reps[defaultType()]->cloneNewHypo( hypo ) );
197 TrkErrCode fitErr( TrkErrCode::succeed, 1 );
198 if ( fit && !_impl->_reps[hypo]->fitCurrent() ) { fitErr = _impl->_reps[hypo]->fit(); }
199 ++_fitNumber[hypo];
200 return fitErr;
201}
PdtPid::PidType whichFit(PdtPid::PidType hypo) const

◆ addFit() [2/3]

TrkErrCode TrkRecoTrk::addFit ( PdtPid::PidType hypo,
bool fit = true )

◆ addFit() [3/3]

TrkErrCode TrkRecoTrk::addFit ( PdtPid::PidType hypo,
bool fit = true )

◆ addHypoTo() [1/3]

void TrkRecoTrk::addHypoTo ( TrkRep * newRep,
PdtPid::PidType hypo )
protected

Definition at line 331 of file TrkRecoTrk.cxx.

331 {
332 _impl->_reps[hypo].reset( newRep );
333}

Referenced by TrkFitMaker::addHypoTo().

◆ addHypoTo() [2/3]

void TrkRecoTrk::addHypoTo ( TrkRep * newRep,
PdtPid::PidType hypo )
protected

◆ addHypoTo() [3/3]

void TrkRecoTrk::addHypoTo ( TrkRep * newRep,
PdtPid::PidType hypo )
protected

◆ allReps() [1/3]

std::pair< TrkRepIter, TrkRepIter > TrkRecoTrk::allReps ( ) const
protected

Definition at line 391 of file TrkRecoTrk.cxx.

391 {
392 typedef std::vector<TrkRep*> RPL;
393 boost::shared_ptr<RPL> x( new RPL );
394 // std::cout << " TrkRecoTrk::allReps" << std::endl;//yzhang debug
395
396 for ( TrkRecoTrkImpl::repConstIter i = _impl->_reps.begin(); i != _impl->_reps.end(); ++i )
397 {
398 x->push_back( i->get() );
399 /*
400 i->get()->printType(std::cout);//yzhang debug
401 i->get()->printAll(std::cout);//yzhang debug
402 */
403 }
404 // std::cout << "------ " << std::endl;//yzhang debug
405 return std::make_pair( TrkRepIter( x, 0 ), TrkRepIter( x, x->size() ) );
406}
Double_t x[10]

◆ allReps() [2/3]

std::pair< TrkRepIter, TrkRepIter > TrkRecoTrk::allReps ( ) const
protected

◆ allReps() [3/3]

std::pair< TrkRepIter, TrkRepIter > TrkRecoTrk::allReps ( ) const
protected

◆ attach() [1/6]

bool TrkRecoTrk::attach ( TrkExtInterface & interface,
PdtPid::PidType hypo )

Definition at line 297 of file TrkRecoTrk.cxx.

297 {
298 TrkRep* rp = getRep( hypo );
299 return rp != 0 ? interface.attach( rp ) : 0;
300}
virtual bool attach(TrkRep *)
TrkRep * getRep(PdtPid::PidType hypo)

◆ attach() [2/6]

bool TrkRecoTrk::attach ( TrkExtInterface & ,
PdtPid::PidType hypo )

◆ attach() [3/6]

bool TrkRecoTrk::attach ( TrkExtInterface & ,
PdtPid::PidType hypo )

◆ attach() [4/6]

bool TrkRecoTrk::attach ( TrkExtInterface & interface,
PdtPid::PidType hypo ) const

Definition at line 292 of file TrkRecoTrk.cxx.

292 {
293 const TrkRep* rp = getRep( hypo );
294 return rp != 0 ? interface.attach( rp ) : 0;
295}

◆ attach() [5/6]

bool TrkRecoTrk::attach ( TrkExtInterface & ,
PdtPid::PidType hypo ) const

◆ attach() [6/6]

bool TrkRecoTrk::attach ( TrkExtInterface & ,
PdtPid::PidType hypo ) const

◆ bField() [1/3]

◆ bField() [2/3]

const MdcPatRec::BField & TrkRecoTrk::bField ( ) const
inline

Definition at line 84 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkBase/TrkRecoTrk.h.

84{ return *_bField; }

◆ bField() [3/3]

const MdcPatRec::BField & TrkRecoTrk::bField ( ) const
inline

Definition at line 84 of file Reconstruction/MdcPatRec/TrkBase/include/TrkBase/TrkRecoTrk.h.

84{ return *_bField; }

◆ changeDefault() [1/3]

void TrkRecoTrk::changeDefault ( PdtPid::PidType newHypo)
protected

Definition at line 238 of file TrkRecoTrk.cxx.

238 {
239 if ( newHypo == defaultType() ) return;
240 assert( whichFit( newHypo ) != PdtPid::null );
241
242 TrkHotList* oldList = getRep( defaultType() )->hotList();
243 std::for_each( oldList->begin(), oldList->end(),
244 std::mem_fun_ref( &TrkHitOnTrk::setUnusedHit ) );
245 assert( getRep( newHypo ) != 0 );
246 TrkHotList* newList = getRep( newHypo )->hotList();
247 std::for_each( newList->begin(), newList->end(),
248 std::mem_fun_ref( &TrkHitOnTrk::setUsedHit ) );
249 _defaultType = newHypo;
250}
void setUnusedHit()
void setUsedHit()

◆ changeDefault() [2/3]

void TrkRecoTrk::changeDefault ( PdtPid::PidType newHypo)
protected

◆ changeDefault() [3/3]

void TrkRecoTrk::changeDefault ( PdtPid::PidType newHypo)
protected

◆ clearStorageRequests() [1/3]

void TrkRecoTrk::clearStorageRequests ( const char * listname = "Default")

Definition at line 365 of file TrkRecoTrk.cxx.

365 {
366 _storage[std::string( listname )].clear();
367}

◆ clearStorageRequests() [2/3]

void TrkRecoTrk::clearStorageRequests ( const char * listname = "Default")

◆ clearStorageRequests() [3/3]

void TrkRecoTrk::clearStorageRequests ( const char * listname = "Default")

◆ copyReps() [1/3]

void TrkRecoTrk::copyReps ( const TrkRecoTrk & rhs)
protected

Definition at line 252 of file TrkRecoTrk.cxx.

252 {
253 TrkRecoTrkImpl::repIter lhs = _impl->_reps.begin();
254 for ( TrkRecoTrkImpl::repIter i = rhs._impl->_reps.begin(); i != rhs._impl->_reps.end();
255 ++i, ++lhs )
256 {
257 TrkRecoTrkImpl::repIter j = std::find( rhs._impl->_reps.begin(), i, *i );
258 if ( j == i )
259 { // first time this one is seen
260 lhs->reset( ( *i )->clone( this ) );
261 ( *lhs )->setValid( ( *i )->fitValid() );
262 ( *lhs )->setCurrent( ( *i )->fitCurrent() );
263 }
264 else { *lhs = *( _impl->_reps.begin() + ( j - rhs._impl->_reps.begin() ) ); }
265 }
266 assert( _fitNumber.size() == rhs._fitNumber.size() );
267 std::copy( rhs._fitNumber.begin(), rhs._fitNumber.end(), _fitNumber.begin() );
268}

Referenced by operator=(), and TrkRecoTrk().

◆ copyReps() [2/3]

void TrkRecoTrk::copyReps ( const TrkRecoTrk & rhs)
protected

◆ copyReps() [3/3]

void TrkRecoTrk::copyReps ( const TrkRecoTrk & rhs)
protected

◆ defaultType() [1/3]

◆ defaultType() [2/3]

PdtPid::PidType TrkRecoTrk::defaultType ( ) const
inline

Definition at line 80 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkBase/TrkRecoTrk.h.

80{ return _defaultType; }

◆ defaultType() [3/3]

PdtPid::PidType TrkRecoTrk::defaultType ( ) const
inline

Definition at line 80 of file Reconstruction/MdcPatRec/TrkBase/include/TrkBase/TrkRecoTrk.h.

80{ return _defaultType; }

◆ fitNumber() [1/3]

int TrkRecoTrk::fitNumber ( PdtPid::PidType hypo) const

Definition at line 137 of file TrkRecoTrk.cxx.

137 {
138 PdtPid::PidType used = whichFit( hypo );
139 if ( used == PdtPid::null ) return -1;
140 int index = used;
141 return _fitNumber[index];
142}

◆ fitNumber() [2/3]

int TrkRecoTrk::fitNumber ( PdtPid::PidType hypo) const

◆ fitNumber() [3/3]

int TrkRecoTrk::fitNumber ( PdtPid::PidType hypo) const

◆ fitResult() [1/6]

◆ fitResult() [2/6]

const TrkFit * TrkRecoTrk::fitResult ( ) const

◆ fitResult() [3/6]

const TrkFit * TrkRecoTrk::fitResult ( ) const

◆ fitResult() [4/6]

const TrkFit * TrkRecoTrk::fitResult ( PdtPid::PidType hypo) const

Definition at line 314 of file TrkRecoTrk.cxx.

314 {
315 const TrkRep* rp = getRep( hypo );
316 return rp == 0 ? 0 : ( rp->fitValid() ? rp : 0 );
317}

◆ fitResult() [5/6]

const TrkFit * TrkRecoTrk::fitResult ( PdtPid::PidType hypo) const

◆ fitResult() [6/6]

const TrkFit * TrkRecoTrk::fitResult ( PdtPid::PidType hypo) const

◆ getRep() [1/6]

TrkRep * TrkRecoTrk::getRep ( PdtPid::PidType hypo)
protected

Definition at line 223 of file TrkRecoTrk.cxx.

223 {
224 assert( hypo >= PdtPid::electron && hypo <= PdtPid::proton );
225 TrkRep* theRep = _impl->_reps[hypo].get();
226 // insist the default rep exist
227 if ( hypo == defaultType() ) assert( 0 != theRep );
228 return theRep;
229}

Referenced by attach(), attach(), changeDefault(), fitResult(), hits(), hits(), hots(), hots(), markForStore(), repointHypo(), status(), status(), and testRep().

◆ getRep() [2/6]

TrkRep * TrkRecoTrk::getRep ( PdtPid::PidType hypo)
protected

◆ getRep() [3/6]

TrkRep * TrkRecoTrk::getRep ( PdtPid::PidType hypo)
protected

◆ getRep() [4/6]

const TrkRep * TrkRecoTrk::getRep ( PdtPid::PidType hypo) const
protected

Definition at line 231 of file TrkRecoTrk.cxx.

231 {
232 assert( hypo >= PdtPid::electron && hypo <= PdtPid::proton );
233 const TrkRep* theRep = _impl->_reps[hypo].get();
234 if ( hypo == defaultType() ) assert( 0 != theRep );
235 return theRep;
236}

◆ getRep() [5/6]

const TrkRep * TrkRecoTrk::getRep ( PdtPid::PidType hypo) const
protected

◆ getRep() [6/6]

const TrkRep * TrkRecoTrk::getRep ( PdtPid::PidType hypo) const
protected

◆ hits() [1/12]

◆ hits() [2/12]

TrkHitList * TrkRecoTrk::hits ( )
inline

Definition at line 108 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkBase/TrkRecoTrk.h.

108{ return hits( defaultType() ); }

Referenced by hits().

◆ hits() [3/12]

TrkHitList * TrkRecoTrk::hits ( )
inline

Definition at line 108 of file Reconstruction/MdcPatRec/TrkBase/include/TrkBase/TrkRecoTrk.h.

108{ return hits( defaultType() ); }

Referenced by hits().

◆ hits() [4/12]

const TrkHitList * TrkRecoTrk::hits ( ) const
inline

Definition at line 109 of file InstallArea/x86_64-el9-gcc13-dbg/include/TrkBase/TrkRecoTrk.h.

109{ return hits( defaultType() ); }

Referenced by hits().

◆ hits() [5/12]

const TrkHitList * TrkRecoTrk::hits ( ) const
inline

Definition at line 109 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkBase/TrkRecoTrk.h.

109{ return hits( defaultType() ); }

Referenced by hits().

◆ hits() [6/12]

const TrkHitList * TrkRecoTrk::hits ( ) const
inline

Definition at line 109 of file Reconstruction/MdcPatRec/TrkBase/include/TrkBase/TrkRecoTrk.h.

109{ return hits( defaultType() ); }

Referenced by hits().

◆ hits() [7/12]

TrkHitList * TrkRecoTrk::hits ( PdtPid::PidType hypo)

Definition at line 302 of file TrkRecoTrk.cxx.

302 {
303 const TrkRep* rp = getRep( hypo );
304 return rp == 0 ? 0 : _impl->_hitInterfaces[hypo].get();
305}

◆ hits() [8/12]

TrkHitList * TrkRecoTrk::hits ( PdtPid::PidType hypo)

◆ hits() [9/12]

TrkHitList * TrkRecoTrk::hits ( PdtPid::PidType hypo)

◆ hits() [10/12]

const TrkHitList * TrkRecoTrk::hits ( PdtPid::PidType hypo) const

Definition at line 307 of file TrkRecoTrk.cxx.

307 {
308 const TrkRep* rp = getRep( hypo );
309 return rp == 0 ? 0 : _impl->_hitInterfaces[hypo].get();
310}

◆ hits() [11/12]

const TrkHitList * TrkRecoTrk::hits ( PdtPid::PidType hypo) const

◆ hits() [12/12]

const TrkHitList * TrkRecoTrk::hits ( PdtPid::PidType hypo) const

◆ hots() [1/12]

TrkHotList * TrkRecoTrk::hots ( )
inline

◆ hots() [2/12]

TrkHotList * TrkRecoTrk::hots ( )
inline

Definition at line 114 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkBase/TrkRecoTrk.h.

114{ return hots( defaultType() ); }

Referenced by hots().

◆ hots() [3/12]

TrkHotList * TrkRecoTrk::hots ( )
inline

Definition at line 114 of file Reconstruction/MdcPatRec/TrkBase/include/TrkBase/TrkRecoTrk.h.

114{ return hots( defaultType() ); }

Referenced by hots().

◆ hots() [4/12]

const TrkHotList * TrkRecoTrk::hots ( ) const
inline

Definition at line 115 of file InstallArea/x86_64-el9-gcc13-dbg/include/TrkBase/TrkRecoTrk.h.

115{ return hots( defaultType() ); }

Referenced by hots().

◆ hots() [5/12]

const TrkHotList * TrkRecoTrk::hots ( ) const
inline

Definition at line 115 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkBase/TrkRecoTrk.h.

115{ return hots( defaultType() ); }

Referenced by hots().

◆ hots() [6/12]

const TrkHotList * TrkRecoTrk::hots ( ) const
inline

Definition at line 115 of file Reconstruction/MdcPatRec/TrkBase/include/TrkBase/TrkRecoTrk.h.

115{ return hots( defaultType() ); }

Referenced by hots().

◆ hots() [7/12]

TrkHotList * TrkRecoTrk::hots ( PdtPid::PidType hypo)

Definition at line 381 of file TrkRecoTrk.cxx.

381 {
382 TrkRep* rp = getRep( hypo );
383 return rp == 0 ? 0 : rp->hotList();
384}

◆ hots() [8/12]

TrkHotList * TrkRecoTrk::hots ( PdtPid::PidType hypo)

◆ hots() [9/12]

TrkHotList * TrkRecoTrk::hots ( PdtPid::PidType hypo)

◆ hots() [10/12]

const TrkHotList * TrkRecoTrk::hots ( PdtPid::PidType hypo) const

Definition at line 386 of file TrkRecoTrk.cxx.

386 {
387 const TrkRep* rp = getRep( hypo );
388 return rp == 0 ? 0 : rp->hotList();
389}

◆ hots() [11/12]

const TrkHotList * TrkRecoTrk::hots ( PdtPid::PidType hypo) const

◆ hots() [12/12]

const TrkHotList * TrkRecoTrk::hots ( PdtPid::PidType hypo) const

◆ id() [1/3]

const TrkId & TrkRecoTrk::id ( ) const

Definition at line 126 of file TrkRecoTrk.cxx.

126{ return _id; }

Referenced by MdcTrackListBase::arbitrateHits().

◆ id() [2/3]

const TrkId & TrkRecoTrk::id ( ) const

◆ id() [3/3]

const TrkId & TrkRecoTrk::id ( ) const

◆ markForStore() [1/3]

void TrkRecoTrk::markForStore ( PdtPid::PidType hypo,
double fltlen,
const char * listname = "Default" )

Definition at line 344 of file TrkRecoTrk.cxx.

344 {
345 // first, translate to the real hypo
346 PdtPid::PidType realhypo = whichFit( hypo );
347 // Then, make sure this hypo has a valid fit
348 if ( getRep( realhypo ) != 0 && getRep( realhypo )->fitValid() )
349 // add an entry in the toStore list (if it's unique)
350 _storage[std::string( listname )].insert( TrkStoreHypo( realhypo, fltlen ) );
351 else
352 // It's an error to try to store invalid fits
353 std::cout << "ErrMsg(error) "
354 << "Invalid fits cannot be marked for storage" << std::endl;
355}

◆ markForStore() [2/3]

void TrkRecoTrk::markForStore ( PdtPid::PidType hypo,
double fltlen,
const char * listname = "Default" )

◆ markForStore() [3/3]

void TrkRecoTrk::markForStore ( PdtPid::PidType hypo,
double fltlen,
const char * listname = "Default" )

◆ operator<() [1/3]

bool TrkRecoTrk::operator< ( const TrkRecoTrk & other) const

Definition at line 217 of file TrkRecoTrk.cxx.

217{ return _id < other._id; }
Index other(Index i, Index j)

◆ operator<() [2/3]

bool TrkRecoTrk::operator< ( const TrkRecoTrk & other) const

◆ operator<() [3/3]

bool TrkRecoTrk::operator< ( const TrkRecoTrk & other) const

◆ operator=() [1/3]

const TrkRecoTrk & TrkRecoTrk::operator= ( const TrkRecoTrk & right)

Definition at line 114 of file TrkRecoTrk.cxx.

114 {
115 if ( &right == this ) return *this;
116 _trackT0 = right._trackT0;
117 _defaultType = right.defaultType();
118 copyReps( right );
119 _bField = right._bField;
120 // AbsEvtObj::operator=(right);
121 _id.setNewValue( right._id );
122 _storage = right._storage;
123 return *this;
124}

◆ operator=() [2/3]

const TrkRecoTrk & TrkRecoTrk::operator= ( const TrkRecoTrk & right)

◆ operator=() [3/3]

const TrkRecoTrk & TrkRecoTrk::operator= ( const TrkRecoTrk & right)

◆ operator==() [1/3]

bool TrkRecoTrk::operator== ( const TrkRecoTrk & other) const

Definition at line 215 of file TrkRecoTrk.cxx.

215{ return _id == other._id; }

◆ operator==() [2/3]

bool TrkRecoTrk::operator== ( const TrkRecoTrk & other) const

◆ operator==() [3/3]

bool TrkRecoTrk::operator== ( const TrkRecoTrk & other) const

◆ print() [1/3]

virtual void TrkRecoTrk::print ( std::ostream & ) const
virtual

◆ print() [2/3]

virtual void TrkRecoTrk::print ( std::ostream & ) const
virtual

◆ print() [3/3]

virtual void TrkRecoTrk::print ( std::ostream & ) const
virtual

◆ printAll() [1/3]

◆ printAll() [2/3]

virtual void TrkRecoTrk::printAll ( std::ostream & ) const
virtual

◆ printAll() [3/3]

virtual void TrkRecoTrk::printAll ( std::ostream & ) const
virtual

◆ repointHypo() [1/3]

void TrkRecoTrk::repointHypo ( PdtPid::PidType hypo,
PdtPid::PidType fit )
protected

Definition at line 278 of file TrkRecoTrk.cxx.

278 {
279 // Do we have to do anything?
280 if ( fit == hypo || getRep( fit ) == getRep( hypo ) ) return;
281
282 if ( hypo == defaultType() )
283 {
284 std::cout << "ErrMsg(error) "
285 << "TrkRecoTrk: can't make default hypothesis point at different fit"
286 << std::endl;
287 return;
288 }
289 _impl->_reps[hypo] = _impl->_reps[fit];
290}

◆ repointHypo() [2/3]

void TrkRecoTrk::repointHypo ( PdtPid::PidType hypo,
PdtPid::PidType fit )
protected

◆ repointHypo() [3/3]

void TrkRecoTrk::repointHypo ( PdtPid::PidType hypo,
PdtPid::PidType fit )
protected

◆ resetT0() [1/3]

void TrkRecoTrk::resetT0 ( double time)

Definition at line 203 of file TrkRecoTrk.cxx.

203 {
204 _trackT0 = t;
205 updateReps();
206}
void updateReps()
int t()
Definition t.c:1

◆ resetT0() [2/3]

void TrkRecoTrk::resetT0 ( double time)

◆ resetT0() [3/3]

void TrkRecoTrk::resetT0 ( double time)

◆ setBField() [1/3]

void TrkRecoTrk::setBField ( const MdcPatRec::BField * field)
protected

Definition at line 342 of file TrkRecoTrk.cxx.

342{ _bField = field; }

Referenced by TrkFitMaker::setBField().

◆ setBField() [2/3]

void TrkRecoTrk::setBField ( const MdcPatRec::BField * field)
protected

◆ setBField() [3/3]

void TrkRecoTrk::setBField ( const MdcPatRec::BField * field)
protected

◆ setFitNumber() [1/3]

void TrkRecoTrk::setFitNumber ( PdtPid::PidType hypo,
int newNumber )
protected

Definition at line 327 of file TrkRecoTrk.cxx.

327 {
328 _fitNumber[hypo] = newNumber;
329}

◆ setFitNumber() [2/3]

void TrkRecoTrk::setFitNumber ( PdtPid::PidType hypo,
int newNumber )
protected

◆ setFitNumber() [3/3]

void TrkRecoTrk::setFitNumber ( PdtPid::PidType hypo,
int newNumber )
protected

◆ setIdManager() [1/3]

void TrkRecoTrk::setIdManager ( TrkIdManager * idMan)
protected

Definition at line 335 of file TrkRecoTrk.cxx.

335{ _id.setIdManager( idMan ); }

Referenced by TrkFitMaker::setIdManager().

◆ setIdManager() [2/3]

void TrkRecoTrk::setIdManager ( TrkIdManager * idMan)
protected

◆ setIdManager() [3/3]

void TrkRecoTrk::setIdManager ( TrkIdManager * idMan)
protected

◆ setRep() [1/3]

void TrkRecoTrk::setRep ( TrkRep * r)
protected

Definition at line 270 of file TrkRecoTrk.cxx.

270 {
271 // Sets the default rep to be r, clears out other reps., and sets
272 // non-default rep ptrs to point at default. Increments all fit numbers.
273 std::fill( _impl->_reps.begin(), _impl->_reps.end(), boost::shared_ptr<TrkRep>( r ) );
274 std::transform( _fitNumber.begin(), _fitNumber.end(), _fitNumber.begin(),
275 std::bind2nd( std::plus<int>(), 1 ) );
276}

Referenced by TrkFitMaker::setRep().

◆ setRep() [2/3]

void TrkRecoTrk::setRep ( TrkRep * )
protected

◆ setRep() [3/3]

void TrkRecoTrk::setRep ( TrkRep * )
protected

◆ status() [1/12]

TrkFitStatus * TrkRecoTrk::status ( )

Definition at line 323 of file TrkRecoTrk.cxx.

323{ return status( defaultType() ); }
const TrkFitStatus * status() const

◆ status() [2/12]

TrkFitStatus * TrkRecoTrk::status ( )

◆ status() [3/12]

TrkFitStatus * TrkRecoTrk::status ( )

◆ status() [4/12]

const TrkFitStatus * TrkRecoTrk::status ( ) const

◆ status() [5/12]

const TrkFitStatus * TrkRecoTrk::status ( ) const

◆ status() [6/12]

const TrkFitStatus * TrkRecoTrk::status ( ) const

◆ status() [7/12]

TrkFitStatus * TrkRecoTrk::status ( PdtPid::PidType hypo)

Definition at line 325 of file TrkRecoTrk.cxx.

325{ return getRep( hypo ); }

◆ status() [8/12]

TrkFitStatus * TrkRecoTrk::status ( PdtPid::PidType hypo)

◆ status() [9/12]

TrkFitStatus * TrkRecoTrk::status ( PdtPid::PidType hypo)

◆ status() [10/12]

const TrkFitStatus * TrkRecoTrk::status ( PdtPid::PidType hypo) const

Definition at line 321 of file TrkRecoTrk.cxx.

321{ return getRep( hypo ); }

◆ status() [11/12]

const TrkFitStatus * TrkRecoTrk::status ( PdtPid::PidType hypo) const

◆ status() [12/12]

const TrkFitStatus * TrkRecoTrk::status ( PdtPid::PidType hypo) const

◆ storageLists() [1/3]

void TrkRecoTrk::storageLists ( std::set< std::string > & storage) const

Definition at line 369 of file TrkRecoTrk.cxx.

369 {
370 // clear the output set
371 storage.clear();
372 // iterate over all the storage requests
373 std::map<std::string, std::set<TrkStoreHypo>>::const_iterator miter = _storage.begin();
374 while ( miter != _storage.end() )
375 {
376 storage.insert( miter->first );
377 miter++;
378 }
379}

◆ storageLists() [2/3]

void TrkRecoTrk::storageLists ( std::set< std::string > & storage) const

◆ storageLists() [3/3]

void TrkRecoTrk::storageLists ( std::set< std::string > & storage) const

◆ storageRequests() [1/3]

const std::set< TrkStoreHypo > & TrkRecoTrk::storageRequests ( const char * listname = "Default") const

Definition at line 357 of file TrkRecoTrk.cxx.

357 {
358 static std::set<TrkStoreHypo> empty; // empty set to return if list doesn't exist
359 std::map<std::string, std::set<TrkStoreHypo>>::const_iterator foundit =
360 _storage.find( std::string( listname ) );
361 if ( foundit != _storage.end() ) return foundit->second;
362 else return empty;
363}

◆ storageRequests() [2/3]

const std::set< TrkStoreHypo > & TrkRecoTrk::storageRequests ( const char * listname = "Default") const

◆ storageRequests() [3/3]

const std::set< TrkStoreHypo > & TrkRecoTrk::storageRequests ( const char * listname = "Default") const

◆ testRep() [1/3]

const TrkRep * TrkRecoTrk::testRep ( PdtPid::PidType hypo) const
inline

Definition at line 218 of file InstallArea/x86_64-el9-gcc13-dbg/include/TrkBase/TrkRecoTrk.h.

218{ return getRep( hypo ); }

Referenced by TrkTypeUtil::getRep().

◆ testRep() [2/3]

const TrkRep * TrkRecoTrk::testRep ( PdtPid::PidType hypo) const
inline

Definition at line 218 of file InstallArea/x86_64-el9-gcc13-opt/include/TrkBase/TrkRecoTrk.h.

218{ return getRep( hypo ); }

◆ testRep() [3/3]

const TrkRep * TrkRecoTrk::testRep ( PdtPid::PidType hypo) const
inline

Definition at line 218 of file Reconstruction/MdcPatRec/TrkBase/include/TrkBase/TrkRecoTrk.h.

218{ return getRep( hypo ); }

◆ trackT0() [1/3]

double TrkRecoTrk::trackT0 ( ) const

◆ trackT0() [2/3]

double TrkRecoTrk::trackT0 ( ) const

◆ trackT0() [3/3]

double TrkRecoTrk::trackT0 ( ) const

◆ uniqueReps() [1/3]

std::pair< TrkRepIter, TrkRepIter > TrkRecoTrk::uniqueReps ( ) const
protected

Definition at line 408 of file TrkRecoTrk.cxx.

408 {
409 typedef std::vector<TrkRep*> RPL;
410 boost::shared_ptr<RPL> x( new RPL );
411 for ( TrkRecoTrkImpl::repConstIter i = _impl->_reps.begin(); i != _impl->_reps.end(); ++i )
412 {
413 if ( std::find( x->begin(), x->end(), i->get() ) == x->end() ) x->push_back( i->get() );
414 }
415 return std::make_pair( TrkRepIter( x, 0 ), TrkRepIter( x, x->size() ) );
416}

Referenced by updateReps().

◆ uniqueReps() [2/3]

std::pair< TrkRepIter, TrkRepIter > TrkRecoTrk::uniqueReps ( ) const
protected

◆ uniqueReps() [3/3]

std::pair< TrkRepIter, TrkRepIter > TrkRecoTrk::uniqueReps ( ) const
protected

◆ updateReps() [1/3]

void TrkRecoTrk::updateReps ( )
protected

Definition at line 208 of file TrkRecoTrk.cxx.

208 {
209 std::pair<TrkRepIter, TrkRepIter> x = uniqueReps();
210 std::for_each( x.first, x.second, std::mem_fun_ref( &TrkRep::updateHots ) );
211 std::transform( _fitNumber.begin(), _fitNumber.end(), _fitNumber.begin(),
212 std::bind2nd( std::plus<int>(), 1 ) );
213}
std::pair< TrkRepIter, TrkRepIter > uniqueReps() const
virtual void updateHots()
Definition TrkRep.cxx:258

Referenced by resetT0().

◆ updateReps() [2/3]

void TrkRecoTrk::updateReps ( )
protected

◆ updateReps() [3/3]

void TrkRecoTrk::updateReps ( )
protected

◆ whichFit() [1/3]

PdtPid::PidType TrkRecoTrk::whichFit ( PdtPid::PidType hypo) const

Definition at line 130 of file TrkRecoTrk.cxx.

130 {
131 if ( _impl->_reps[hypo].get() == 0 ) { return hypo; }
132 // return _repPtr[hypo]->fitValid() ? _repPtr[hypo]->particleType()
133 // : PdtPid::null;
134 return _impl->_reps[hypo]->particleType();
135}

Referenced by addFit(), changeDefault(), fitNumber(), and markForStore().

◆ whichFit() [2/3]

PdtPid::PidType TrkRecoTrk::whichFit ( PdtPid::PidType hypo) const

◆ whichFit() [3/3]

PdtPid::PidType TrkRecoTrk::whichFit ( PdtPid::PidType hypo) const

◆ KalMiniTrkK

KalMiniTrkK
friend

◆ TrkFitMaker

◆ TrkHitList

◆ TrkHitOnTrk

◆ TrkKalMiniCompositeK

TrkKalMiniCompositeK
friend

The documentation for this class was generated from the following files: