From 0015a43c202e3dc2f19ab50d4d59e1b4d3c589c3 Mon Sep 17 00:00:00 2001 From: Mark Jones <jones@jlab.org> Date: Mon, 15 Apr 2019 11:30:28 -0400 Subject: [PATCH] Modify THcDC In THcDC.h change MAXTRACKS from 10 to 50. The maximum number of tracks is set by parameter ntracks_max_fp Previously the LinkStubs method would not create a track if the total number of spacepoints in the two chambers was larger than 10. Now LinkStubs will create a vector of THcSpacePoints of up to 100 spacepoints with no more than 50 spacepoints from chamber 1 and use that to find possible tracks. I --- src/THcDC.cxx | 9 +++++---- src/THcDC.h | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/THcDC.cxx b/src/THcDC.cxx index 25c7128..85d027c 100644 --- a/src/THcDC.cxx +++ b/src/THcDC.cxx @@ -736,11 +736,11 @@ void THcDC::LinkStubs() std::vector<THcSpacePoint*> fSp; fNSp=0; fSp.clear(); - fSp.reserve(10); + fSp.reserve(100); fNDCTracks=0; // Number of Focal Plane tracks found fDCTracks->Delete(); // Make a vector of pointers to the SpacePoints - if (fChambers[0]->GetNSpacePoints()+fChambers[1]->GetNSpacePoints()>10) return; + //if (fChambers[0]->GetNSpacePoints()+fChambers[1]->GetNSpacePoints()>10) return; for(UInt_t ich=0;ich<fNChambers;ich++) { Int_t nchamber=fChambers[ich]->GetChamberNum(); @@ -750,7 +750,8 @@ void THcDC::LinkStubs() fSp[fNSp]->fNChamber = nchamber; fSp[fNSp]->fNChamber_spnum = isp; fNSp++; - if (fNSp>10) break; + if (ich==0 && fNSp>50) break; + if (fNSp>100) break; } } Double_t stubminx = 999999; @@ -817,7 +818,7 @@ void THcDC::LinkStubs() fStubTest = 1; //stubtest=1; Used in h_track_tests.f // Make a new track if there are not to many - if(fNDCTracks < MAXTRACKS) { + if(fNDCTracks < fNTracksMaxFP) { sptracks=0; // Number of tracks with this seed stub_tracks[sptracks++] = fNDCTracks; THcDCTrack *theDCTrack = new( (*fDCTracks)[fNDCTracks++]) THcDCTrack(fNPlanes); diff --git a/src/THcDC.h b/src/THcDC.h index 80918fd..8fbd3a6 100644 --- a/src/THcDC.h +++ b/src/THcDC.h @@ -189,7 +189,7 @@ protected: // double tan_angle, sin_angle, cos_angle; // Intermediate structure for building - static const UInt_t MAXTRACKS = 10; + static const UInt_t MAXTRACKS = 50; std::vector<THcDriftChamberPlane*> fPlanes; // List of plane objects std::vector<THcDriftChamber*> fChambers; // List of chamber objects -- GitLab