Skip to content
Snippets Groups Projects
THcDCTrack.cxx 1.58 KiB
Newer Older
  • Learn to ignore specific revisions
  • /** \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)
    
    ///////////////////////////////////////////////////////////////////////////////