Skip to content
Snippets Groups Projects
THcDCTrack.cxx 1.58 KiB
Newer Older
/** \class THcDCTrack
    \ingroup DetSupport

    \brief Class representing a track found from linking DC Space points

#include "THcDCHit.h"
#include "THcDCTrack.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);
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.
  */

    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
  */
hallc-online's avatar
hallc-online committed
  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)

///////////////////////////////////////////////////////////////////////////////