-
Stephen A. Wood authoredStephen A. Wood authored
THcDCTrack.cxx 1.57 KiB
/** \class THcDCTrack
\ingroup DetSupport
Class representing a track found from linking DC Space points
*/
#include "THcDCHit.h"
#include "THcDCTrack.h"
#include "THcSpacePoint.h"
THcDCTrack::THcDCTrack(Int_t nplanes) : fnSP(0), fNHits(0)
{
fHits.clear();
fCoords.resize(nplanes);
fResiduals.resize(nplanes);
fResidualsExclPlane.resize(nplanes);
fDoubleResiduals.resize(nplanes);
}
void THcDCTrack::AddHit(THcDCHit * hit, Double_t dist, Int_t lr)
{
/**
Add hit to list of hits associated with the track
*/
Hit newhit;
newhit.dchit = hit;
newhit.distCorr = dist;
newhit.lr = lr;
fHits.push_back(newhit);
fNHits++;
}
void THcDCTrack::AddSpacePoint( THcSpacePoint* sp )
{
/**
Add a space point to the list of space points associated with the track.
All hits in the SP are added to the tracks hit list.
*/
if (fnSP <10) {
fSp[fnSP++] = sp;
// Copy all the hits from the space point into the track
// Will need to also copy the corrected distance and lr information
for(Int_t ihit=0;ihit<sp->GetNHits();ihit++) {
AddHit(sp->GetHit(ihit),sp->GetHitDist(ihit),sp->GetHitLR(ihit));
}
}
}
void THcDCTrack::Clear( const Option_t* )
{
/**
Clear the space point and hit lists
*/
fnSP = 0;
fSp1_ID=-1;
fSp2_ID=-1;
ClearHits();
// Need to set default values (0 or -100)
//fCoords.clear();
//fResiduals.clear();
//fDoubleResiduals.clear();
}
void THcDCTrack::ClearHits( )
{
fNHits = 0;
fHits.clear();
}
ClassImp(THcDCTrack)
///////////////////////////////////////////////////////////////////////////////