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