diff --git a/SConstruct b/SConstruct
index b5a7758873abd2c922ea1152814b3a89ef4458a7..5e33af1ecb3aaeb23aa8041380a1d919d6577e17 100644
--- a/SConstruct
+++ b/SConstruct
@@ -7,6 +7,7 @@ import sys
 import platform
 import commands
 import SCons
+import subprocess
 
 def rootcint(target,source,env):
 	"""Executes the ROOT dictionary generator over a list of headers."""
@@ -67,7 +68,7 @@ if evio_libdir is None or evio_incdir is None:
 	print "EVIO_INCDIR = %s" % evio_incdir
 	print "Using local installation ... "
 	evio_local = baseenv.subst('$HA_DIR')+'/evio'
-	evio_version = '4.4.5'
+	evio_version = '4.4.6'
 	uname = os.uname();
 	platform = uname[0];
 	machine = uname[4];
@@ -76,15 +77,35 @@ if evio_libdir is None or evio_incdir is None:
 	evio_local_lib = "%s/evio-%s/%s/lib" % (evio_local,evio_version,evio_name) 
 	evio_local_inc = "%s/evio-%s/%s/include" % (evio_local,evio_version,evio_name)
 	evio_tarfile = "%s/evio-%s.tgz" % (evio_local,evio_version)
-	if not os.path.isdir(evio_local_lib):
-		if not os.path.exists(evio_tarfile):
-			evio_command_scons = "cd %s; wget --no-check-certificate https://coda.jlab.org/drupal/system/files/coda/evio/evio-4.4/evio-%s.tgz; tar xvfz evio-%s.tgz; cd evio-%s/ ; scons install --prefix=." % (evio_local,evio_version,evio_version,evio_version)
+
+	####### Check to see if scons -c has been called #########
+
+	if baseenv.GetOption('clean'):
+    		subprocess.call(['echo', '!!!!!!!!!!!!!! EVIO Cleaning Process !!!!!!!!!!!! '])
+		if not os.path.isdir(evio_local_lib):
+			if not os.path.exists(evio_tarfile):
+				evio_command_scons = "rm libevio*.*; cd %s; wget --no-check-certificate https://coda.jlab.org/drupal/system/files/evio-%s.tgz; tar xvfz evio-%s.tgz; cd evio-%s/ ; scons install -c --prefix=." % (evio_local,evio_version,evio_version,evio_version)
+			else:
+				evio_command_scons = "rm libevio*.*; cd %s; tar xvfz evio-%s.tgz; cd evio-%s/ ; scons install -c --prefix=." % (evio_local,evio_version,evio_version)
 		else:
-			evio_command_scons = "cd %s; tar xvfz evio-%s.tgz; cd evio-%s/ ; scons install --prefix=." % (evio_local,evio_version,evio_version)
+			evio_command_scons = "rm libevio*.*; cd %s; cd evio-%s/ ; scons install -c --prefix=." % (evio_local,evio_version)
+		print "evio_command_scons = %s" % evio_command_scons
+		os.system(evio_command_scons)
 	else:
+		if not os.path.isdir(evio_local_lib):
+			if not os.path.exists(evio_tarfile):
+				evio_command_scons = "cd %s; wget --no-check-certificate https://coda.jlab.org/drupal/system/files/evio-%s.tgz; tar xvfz evio-%s.tgz; cd evio-%s/ ; scons install --prefix=." % (evio_local,evio_version,evio_version,evio_version)
+			else:
+				evio_command_scons = "cd %s; tar xvfz evio-%s.tgz; cd evio-%s/ ; scons install --prefix=." % (evio_local,evio_version,evio_version)
+		else:
 			evio_command_scons = "cd %s; cd evio-%s/ ; scons install --prefix=." % (evio_local,evio_version)
-			
-	os.system(evio_command_scons)
+		print "evio_command_scons = %s" % evio_command_scons
+		os.system(evio_command_scons)
+		evio_local_lib_files = "%s/*.*" % (evio_local_lib)
+		evio_command_libcopy = "cp %s %s" % (evio_local_lib_files,baseenv.subst('$HA_DIR'))
+		print "evio_command_libcopy = %s" % evio_command_libcopy
+		os.system(evio_command_libcopy)
+
 	baseenv.Append(EVIO_LIB = evio_local_lib)
 	baseenv.Append(EVIO_INC = evio_local_inc)
 else:
diff --git a/examples/output.def b/examples/output.def
index 570af14fe1beebdeb36e348c753e02bfa14d08d6..26e3551bdcc7a062e5e530ca559646d85b2b7ba2 100644
--- a/examples/output.def
+++ b/examples/output.def
@@ -129,18 +129,18 @@ TH1F hcaladc_B13n 'HMS Cal ADC B13n - PED' H.cal.2ta.aneg_p[12] 150 50 500
 
 # Can we use variables for the constants.  In CTP we used hdc_nwire(i)
 #
-TH1F hdc1x1_wm 'HDC 1X1 Wiremap' H.dc.1x1.tdchits 113 0.5 113.5
-TH1F hdc1y1_wm 'HDC 1Y1 Wiremap' H.dc.1y1.tdchits 52 0.5 52.5
-TH1F hdc1u1_wm 'HDC 1U1 Wiremap' H.dc.1u1.tdchits 107 0.5 107.5
-TH1F hdc1v1_wm 'HDC 1V1 Wiremap' H.dc.1v1.tdchits 107 0.5 107.5
-TH1F hdc1y2_wm 'HDC 1Y2 Wiremap' H.dc.1y2.tdchits 52 0.5 52.5
-TH1F hdc1x2_wm 'HDC 1X2 Wiremap' H.dc.1x2.tdchits 113 0.5 113.5
-TH1F hdc2x1_wm 'HDC 2X1 Wiremap' H.dc.2x1.tdchits 113 0.5 113.5
-TH1F hdc2y1_wm 'HDC 2Y1 Wiremap' H.dc.2y1.tdchits 52 0.5 52.5
-TH1F hdc2u1_wm 'HDC 2U1 Wiremap' H.dc.2u1.tdchits 107 0.5 107.5
-TH1F hdc2v1_wm 'HDC 2V1 Wiremap' H.dc.2v1.tdchits 107 0.5 107.5
-TH1F hdc2y2_wm 'HDC 2Y2 Wiremap' H.dc.2y2.tdchits 52 0.5 52.5
-TH1F hdc2x2_wm 'HDC 2X2 Wiremap' H.dc.2x2.tdchits 113 0.5 113.5
+TH1F hdc1x1_wm 'HDC 1X1 Wiremap' H.dc.1x1.wirenum 113 0.5 113.5
+TH1F hdc1y1_wm 'HDC 1Y1 Wiremap' H.dc.1y1.wirenum 52 0.5 52.5
+TH1F hdc1u1_wm 'HDC 1U1 Wiremap' H.dc.1u1.wirenum 107 0.5 107.5
+TH1F hdc1v1_wm 'HDC 1V1 Wiremap' H.dc.1v1.wirenum 107 0.5 107.5
+TH1F hdc1y2_wm 'HDC 1Y2 Wiremap' H.dc.1y2.wirenum 52 0.5 52.5
+TH1F hdc1x2_wm 'HDC 1X2 Wiremap' H.dc.1x2.wirenum 113 0.5 113.5
+TH1F hdc2x1_wm 'HDC 2X1 Wiremap' H.dc.2x1.wirenum 113 0.5 113.5
+TH1F hdc2y1_wm 'HDC 2Y1 Wiremap' H.dc.2y1.wirenum 52 0.5 52.5
+TH1F hdc2u1_wm 'HDC 2U1 Wiremap' H.dc.2u1.wirenum 107 0.5 107.5
+TH1F hdc2v1_wm 'HDC 2V1 Wiremap' H.dc.2v1.wirenum 107 0.5 107.5
+TH1F hdc2y2_wm 'HDC 2Y2 Wiremap' H.dc.2y2.wirenum 52 0.5 52.5
+TH1F hdc2x2_wm 'HDC 2X2 Wiremap' H.dc.2x2.wirenum 113 0.5 113.5
 
 # Drift Time and Drift Distance Spectra
 TH1F hdc1x1_dt 'HDC 1X1 Drift Time' H.dc.1x1.time 200 -100 300
@@ -211,18 +211,18 @@ TH1F snegadc3 'SOS s2x- ADC hits' S.hod.2x.negadcpad 16 0.5 16.5
 TH1F sposadc4 'SOS s2y+ ADC hits' S.hod.2y.posadcpad 9 0.5 9.5
 TH1F snegadc4 'SOS s2y- ADC hits' S.hod.2y.negadcpad 9 0.5 9.5
 
-TH1F sdc1u1_wm 'SDC 1U1 Wiremap' S.dc.1u1.tdchits 48 0.5 48.5
-TH1F sdc1u2_wm 'SDC 1U2 Wiremap' S.dc.1u2.tdchits 48 0.5 48.5
-TH1F sdc1x1_wm 'SDC 1X1 Wiremap' S.dc.1x1.tdchits 64 0.5 64.5
-TH1F sdc1x2_wm 'SDC 1X2 Wiremap' S.dc.1x2.tdchits 64 0.5 64.5
-TH1F sdc1v1_wm 'SDC 1V1 Wiremap' S.dc.1v1.tdchits 48 0.5 48.5
-TH1F sdc1v2_wm 'SDC 1V2 Wiremap' S.dc.1v2.tdchits 48 0.5 48.5
-TH1F sdc2u1_wm 'SDC 2U1 Wiremap' S.dc.2u1.tdchits 48 0.5 48.5
-TH1F sdc2u2_wm 'SDC 2U2 Wiremap' S.dc.2u2.tdchits 48 0.5 48.5
-TH1F sdc2x1_wm 'SDC 2X1 Wiremap' S.dc.2x1.tdchits 64 0.5 64.5
-TH1F sdc2x2_wm 'SDC 2X2 Wiremap' S.dc.2x2.tdchits 64 0.5 64.5
-TH1F sdc2v1_wm 'SDC 2V1 Wiremap' S.dc.2v1.tdchits 48 0.5 48.5
-TH1F sdc2v2_wm 'SDC 2V2 Wiremap' S.dc.2v2.tdchits 48 0.5 48.5
+TH1F sdc1u1_wm 'SDC 1U1 Wiremap' S.dc.1u1.wirenum 48 0.5 48.5
+TH1F sdc1u2_wm 'SDC 1U2 Wiremap' S.dc.1u2.wirenum 48 0.5 48.5
+TH1F sdc1x1_wm 'SDC 1X1 Wiremap' S.dc.1x1.wirenum 64 0.5 64.5
+TH1F sdc1x2_wm 'SDC 1X2 Wiremap' S.dc.1x2.wirenum 64 0.5 64.5
+TH1F sdc1v1_wm 'SDC 1V1 Wiremap' S.dc.1v1.wirenum 48 0.5 48.5
+TH1F sdc1v2_wm 'SDC 1V2 Wiremap' S.dc.1v2.wirenum 48 0.5 48.5
+TH1F sdc2u1_wm 'SDC 2U1 Wiremap' S.dc.2u1.wirenum 48 0.5 48.5
+TH1F sdc2u2_wm 'SDC 2U2 Wiremap' S.dc.2u2.wirenum 48 0.5 48.5
+TH1F sdc2x1_wm 'SDC 2X1 Wiremap' S.dc.2x1.wirenum 64 0.5 64.5
+TH1F sdc2x2_wm 'SDC 2X2 Wiremap' S.dc.2x2.wirenum 64 0.5 64.5
+TH1F sdc2v1_wm 'SDC 2V1 Wiremap' S.dc.2v1.wirenum 48 0.5 48.5
+TH1F sdc2v2_wm 'SDC 2V2 Wiremap' S.dc.2v2.wirenum 48 0.5 48.5
 
 TH1F sdc1u1_dd 'SDC 1U1 Drift Distance' S.dc.1u1.dist 300 -0.1 0.6
 TH1F sdc1u2_dd 'SDC 1U2 Drift Distance' S.dc.1u2.dist 300 -0.1 0.6
diff --git a/linux32.py b/linux32.py
index 8d664b85aa6ca7be3e829106088219cee4be5ec6..283b5607f53516afb3f3f06c9e2913f0f5645a59 100644
--- a/linux32.py
+++ b/linux32.py
@@ -23,7 +23,9 @@ def config(env,args):
 	if int(checkheaders):
 		env.Append(CHECKHEADERS= '1')
 
-	env.Append(CXXFLAGS = '-m32 -Wall -Woverloaded-virtual')
+	env.Append(CXXFLAGS = '-m32')
+	env.Append(CXXFLAGS = '-Wall')
+	env.Append(CXXFLAGS = '-Woverloaded-virtual')
 	env.Append(CPPDEFINES = '-DLINUXVERS')
 
 	cxxversion = env.subst('$CXXVERSION')
diff --git a/linux64.py b/linux64.py
index 2a2e1234681e8f222889fc1b4dbf659d7d6b4125..79703f6f1d1747f08782a2ebd5ade12d42017665 100644
--- a/linux64.py
+++ b/linux64.py
@@ -23,7 +23,8 @@ def config(env,args):
 	if int(checkheaders):
 		env.Append(CHECKHEADERS= '1')
 	
-	env.Append(CXXFLAGS = '-Wall -Woverloaded-virtual')
+	env.Append(CXXFLAGS = '-Wall')
+	env.Append(CXXFLAGS = '-Woverloaded-virtual')
 	env.Append(CPPDEFINES = '-DLINUXVERS')
 
 	cxxversion = env.subst('$CXXVERSION')
diff --git a/podd b/podd
index 265db6e763bf2069aa39d16ce0051328e3e7793e..16d47683831f9d08d68bcbfc515b10533489c523 160000
--- a/podd
+++ b/podd
@@ -1 +1 @@
-Subproject commit 265db6e763bf2069aa39d16ce0051328e3e7793e
+Subproject commit 16d47683831f9d08d68bcbfc515b10533489c523
diff --git a/src/THcDriftChamberPlane.cxx b/src/THcDriftChamberPlane.cxx
index 50d246bff36677ae451f27045d6d77c89afe6199..02e3cbe05299ae2e49ed5c22861c1e4256ef07c7 100644
--- a/src/THcDriftChamberPlane.cxx
+++ b/src/THcDriftChamberPlane.cxx
@@ -239,7 +239,7 @@ Int_t THcDriftChamberPlane::DefineVariables( EMode mode )
 
   // Register variables in global list
   RVarDef vars[] = {
-    {"tdchits", "List of TDC hits", 
+    {"wirenum", "List of TDC wire number", 
      "fHits.THcDCHit.GetWireNum()"},
     {"rawtdc", "Raw TDC Values", 
      "fHits.THcDCHit.GetRawTime()"},
diff --git a/src/THcHodoscope.cxx b/src/THcHodoscope.cxx
index 185e09710c2de8ad50cebe9bdf28207db8e21bac..b7ce40020394e147b0209ca05c401c21d64ddbb7 100644
--- a/src/THcHodoscope.cxx
+++ b/src/THcHodoscope.cxx
@@ -617,7 +617,6 @@ Int_t THcHodoscope::Decode( const THaEvData& evdata )
     // as per the Engine h_strip_scin.f
     nexthit = fPlanes[ip]->ProcessHits(fRawHitList,nexthit);
   }
-
   EstimateFocalPlaneTime();
 
   if (fdebugprintscinraw == 1) {
@@ -686,20 +685,15 @@ void THcHodoscope::EstimateFocalPlaneTime( void )
       maxhit = timehist[i];
     }
   }
-
   ihit = 0;
   Double_t fpTimeSum = 0.0;
   fNfptimes=0;
   Int_t  Ngood_hits_plane=0;
   Double_t Plane_fptime_sum=0.0;
     
-  //  fNoTrkPlaneInfo.clear(); 
-  //  fNoTrkHitInfo.clear();
   Bool_t goodplanetime[fNPlanes];
   Bool_t twogoodtimes[nscinhits];
   for(Int_t ip=0;ip<fNPlanes;ip++) {
-    //    fNoTrkPlaneInfo.push_back(NoTrkPlaneInfo());
-    //    fNoTrkPlaneInfo[ip].goodplanetime = kFALSE;
     goodplanetime[ip] = kFALSE;
     Int_t nphits=fPlanes[ip]->GetNScinHits();
     TClonesArray* hodoHits = fPlanes[ip]->GetHits();
@@ -707,18 +701,14 @@ void THcHodoscope::EstimateFocalPlaneTime( void )
     Plane_fptime_sum=0.0;
     for(Int_t i=0;i<nphits;i++) {
       THcHodoHit *hit = (THcHodoHit*)hodoHits->At(i);
-      //      fNoTrkHitInfo.push_back(NoTrkHitInfo());
-      //      fNoTrkHitInfo[ihit].goodtwotimes = kFALSE;
-      //      fNoTrkHitInfo[ihit].goodscintime = kFALSE;
       twogoodtimes[ihit] = kFALSE;
+      if(hit->GetHasCorrectedTimes()) {
       Double_t tmin = 0.5*binmax;
-      Double_t postime=hit->GetPosCorrectedTime();
-      Double_t negtime=hit->GetNegCorrectedTime();
+      Double_t postime=hit->GetPosTOFCorrectedTime();
+      Double_t negtime=hit->GetNegTOFCorrectedTime();
       if ((postime>tmin) && (postime<tmin+fTofTolerance) &&
 	  (negtime>tmin) && (negtime<tmin+fTofTolerance)) {
 	hit->SetTwoGoodTimes(kTRUE);
-	//	fNoTrkHitInfo[ihit].goodtwotimes = kTRUE;
-	//	fNoTrkHitInfo[ihit].goodscintime = kTRUE;
 	twogoodtimes[ihit] = kTRUE;
 	// Both tubes fired
 	Int_t index=hit->GetPaddleNumber()-1;
@@ -732,15 +722,15 @@ void THcHodoscope::EstimateFocalPlaneTime( void )
 	  fpTimeSum += fptime;
 	  fNfptimes++;
 	  goodplanetime[ip] = kTRUE;
-	  //fNoTrkPlaneInfo[ip].goodplanetime = kTRUE;
 	}
       } else {
 	hit->SetTwoGoodTimes(kFALSE);
       }
-      fPlanes[ip]->SetFpTime(Plane_fptime_sum/float(Ngood_hits_plane));
-      fPlanes[ip]->SetNGoodHits(Ngood_hits_plane);
+      }
     }
     ihit++;
+      fPlanes[ip]->SetFpTime(Plane_fptime_sum/float(Ngood_hits_plane));
+      fPlanes[ip]->SetNGoodHits(Ngood_hits_plane);
   }
 
   if(fNfptimes>0) {
@@ -751,9 +741,6 @@ void THcHodoscope::EstimateFocalPlaneTime( void )
     fGoodStartTime=kFALSE;
   }
 
-
-  //  if ( ( fNoTrkPlaneInfo[0].goodplanetime || fNoTrkPlaneInfo[1].goodplanetime ) &&
-  //       ( fNoTrkPlaneInfo[2].goodplanetime || fNoTrkPlaneInfo[3].goodplanetime ) ){
   if((goodplanetime[0]||goodplanetime[1])
      &&(goodplanetime[2]||goodplanetime[3])) {
 
@@ -771,7 +758,6 @@ void THcHodoscope::EstimateFocalPlaneTime( void )
       for(Int_t i=0;i<nphits;i++) {	
 	Int_t index=((THcHodoHit*)hodoHits->At(i))->GetPaddleNumber()-1;
 	    
-	//	if ( fNoTrkHitInfo[ihhit].goodscintime ) {
 	if(twogoodtimes[ihhit]){
 	  
 	  Double_t sigma = 0.5 * ( TMath::Sqrt( TMath::Power( fHodoPosSigma[GetScinIndex(ip,index)],2) + 
@@ -809,7 +795,6 @@ void THcHodoscope::EstimateFocalPlaneTime( void )
 	for(Int_t i=0;i<nphits;i++) {
 	  Int_t index=((THcHodoHit*)hodoHits->At(i))->GetPaddleNumber()-1;
 	  
-	  //	  if ( fNoTrkHitInfo[ihhit].goodscintime ) {
 	  if(twogoodtimes[ihhit]) {
 	    
 	    Double_t zPosition = fPlanes[ip]->GetZpos() + (index%2)*fPlanes[ip]->GetDzpos();