From 92ba0782b6d34f66400fb3e6c41037e3f58b5a42 Mon Sep 17 00:00:00 2001
From: "Stephen A. Wood" <saw@jlab.org>
Date: Fri, 2 Nov 2012 17:23:40 -0400
Subject: [PATCH] Remove Rootversion >5.32 in code and instead require >5.32 in
 Makefile.

---
 Makefile                     | 10 +++++++++
 src/THcDriftChamberPlane.cxx | 11 ----------
 src/THcDriftChamberPlane.h   |  2 --
 src/THcHitList.cxx           |  8 --------
 src/THcScintillatorPlane.cxx | 39 ------------------------------------
 src/THcScintillatorPlane.h   |  5 -----
 src/THcShowerPlane.cxx       | 31 ----------------------------
 src/THcShowerPlane.h         |  4 ----
 8 files changed, 10 insertions(+), 100 deletions(-)

diff --git a/Makefile b/Makefile
index 735a3c9..737e528 100644
--- a/Makefile
+++ b/Makefile
@@ -55,6 +55,16 @@ endif
 
 INCDIRS  = $(wildcard $(addprefix $(ANALYZER)/, include src hana_decode hana_scaler)), $(shell pwd)/src
 
+#------------------------------------------------------------------------------
+# Check that root version is new enough (>= 5.32) by requiring
+# root-config --svn-revision to be >= 43166
+
+GOODROOTVERSION := $(shell expr `root-config --svn-revision` \>= 43166)
+
+ifneq ($(GOODROOTVERSION),1)
+  $(error ROOT version 5.32 or later required)
+endif
+
 #------------------------------------------------------------------------------
 # Do not change anything  below here unless you know what you are doing
 
diff --git a/src/THcDriftChamberPlane.cxx b/src/THcDriftChamberPlane.cxx
index d57327a..a4316ce 100644
--- a/src/THcDriftChamberPlane.cxx
+++ b/src/THcDriftChamberPlane.cxx
@@ -33,9 +33,6 @@ THcDriftChamberPlane::THcDriftChamberPlane( const char* name,
 {
   // Normal constructor with name and description
   fTDCHits = new TClonesArray("THcSignalHit",100);
-#if ROOT_VERSION_CODE < ROOT_VERSION(5,32,0)
-  fTDCHitsClass = fTDCHits->GetClass();
-#endif
   fPlaneNum = planenum;
 }
 
@@ -154,15 +151,7 @@ Int_t THcDriftChamberPlane::ProcessHits(TClonesArray* rawhits, Int_t nexthit)
     }
     // Just put in the first hit for now
     if(hit->fNHits > 0) {	// Should always be the case
-#if ROOT_VERSION_CODE >= ROOT_VERSION(5,32,0)      
       THcSignalHit *sighit = (THcSignalHit*) fTDCHits->ConstructedAt(nTDCHits++);
-#else
-      TObject* obj = (*fTDCHits)[nTDCHits++];
-      R__ASSERT( obj );
-      if(!obj->TestBit (TObject::kNotDeleted))
-	fTDCHitsClass->New(obj);
-      THcSignalHit *sighit = (THcSignalHit*)obj;
-#endif
       sighit->Set(hit->fCounter, hit->fTDC[0]);
     }
     ihit++;
diff --git a/src/THcDriftChamberPlane.h b/src/THcDriftChamberPlane.h
index bbe6e7f..29f4bb7 100644
--- a/src/THcDriftChamberPlane.h
+++ b/src/THcDriftChamberPlane.h
@@ -44,8 +44,6 @@ class THcDriftChamberPlane : public THaSubDetector {
 
   TClonesArray* fTDCHits;
 
-  TClass* fTDCHitsClass;
-
   Int_t fPlaneNum;
 
   virtual Int_t  ReadDatabase( const TDatime& date );
diff --git a/src/THcHitList.cxx b/src/THcHitList.cxx
index d1bd947..4659785 100644
--- a/src/THcHitList.cxx
+++ b/src/THcHitList.cxx
@@ -37,15 +37,7 @@ void THcHitList::InitHitList(THaDetMap* detmap,
   fNMaxRawHits = maxhits;
   fNRawHits = 0;
   for(Int_t i=0;i<maxhits;i++) {
-#if ROOT_VERSION_CODE >= ROOT_VERSION(5,32,0)
     fRawHitList->ConstructedAt(i);
-#else
-  // The essence of the ConstructedAt code explictly
-    TObject* obj = (*fRawHitList)[i];
-    R__ASSERT( obj );  // should never happen ...
-    if( !obj->TestBit(TObject::kNotDeleted) )
-      fRawHitClass->New(obj);
-#endif
   }
   
   fdMap = detmap;
diff --git a/src/THcScintillatorPlane.cxx b/src/THcScintillatorPlane.cxx
index f355e13..aaf6bd2 100644
--- a/src/THcScintillatorPlane.cxx
+++ b/src/THcScintillatorPlane.cxx
@@ -36,12 +36,6 @@ THcScintillatorPlane::THcScintillatorPlane( const char* name,
   fNegTDCHits = new TClonesArray("THcSignalHit",16);
   fPosADCHits = new TClonesArray("THcSignalHit",16);
   fNegADCHits = new TClonesArray("THcSignalHit",16);
-#if ROOT_VERSION_CODE < ROOT_VERSION(5,32,0)
-  fPosTDCHitsClass = fPosTDCHits->GetClass();
-  fNegTDCHitsClass = fNegTDCHits->GetClass();
-  fPosADCHitsClass = fPosADCHits->GetClass();
-  fNegADCHitsClass = fNegADCHits->GetClass();
-#endif
   fPlaneNum = planenum;
 }
 
@@ -216,60 +210,27 @@ Int_t THcScintillatorPlane::ProcessHits(TClonesArray* rawhits, Int_t nexthit)
 
     // TDC positive hit
     if(hit->fTDC_pos >  0) {
-#if ROOT_VERSION_CODE >= ROOT_VERSION(5,32,0)
       THcSignalHit *sighit = (THcSignalHit*) fPosTDCHits->ConstructedAt(nPosTDCHits++);
-#else
-      TObject* obj = (*fPosTDCHits)[nPosTDCHits++];
-      R__ASSERT( obj );
-      if(!obj->TestBit (TObject::kNotDeleted))
-	fPosTDCHitsClass->New(obj);
-      THcSignalHit *sighit = (THcSignalHit*)obj;
-#endif
       sighit->Set(hit->fCounter, hit->fTDC_pos);
     }
 
     // TDC negative hit
     if(hit->fTDC_neg >  0) {
-#if ROOT_VERSION_CODE >= ROOT_VERSION(5,32,0)
       THcSignalHit *sighit = (THcSignalHit*) fNegTDCHits->ConstructedAt(nNegTDCHits++);
-#else
-
-      TObject* obj = (*fNegTDCHits)[nNegTDCHits++];
-      R__ASSERT( obj );
-      if(!obj->TestBit (TObject::kNotDeleted))
-	fNegTDCHitsClass->New(obj);
-      THcSignalHit *sighit = (THcSignalHit*)obj;
-#endif
       sighit->Set(hit->fCounter, hit->fTDC_neg);
     }
 
     // ADC positive hit
     if(hit->fADC_pos >  0) {
       //     cout <<"adc pos hit!!\n";
-#if ROOT_VERSION_CODE >= ROOT_VERSION(5,32,0)
       THcSignalHit *sighit = (THcSignalHit*) fPosADCHits->ConstructedAt(nPosADCHits++);
-#else
-      TObject* obj = (*fPosADCHits)[nPosADCHits++];
-      R__ASSERT( obj );
-      if(!obj->TestBit (TObject::kNotDeleted))
-	fPosADCHitsClass->New(obj);
-      THcSignalHit *sighit = (THcSignalHit*)obj;
-#endif
       sighit->Set(hit->fCounter, hit->fADC_pos);
     }
 
     // ADC negative hit
     if(hit->fADC_neg >  0) {   
       // cout <<"adc neg hit!!\n";
-#if ROOT_VERSION_CODE >= ROOT_VERSION(5,32,0)
       THcSignalHit *sighit = (THcSignalHit*) fNegADCHits->ConstructedAt(nNegADCHits++);
-#else
-      TObject* obj = (*fNegADCHits)[nNegADCHits++];
-      R__ASSERT( obj );
-      if(!obj->TestBit (TObject::kNotDeleted))
-	fNegADCHitsClass->New(obj);
-      THcSignalHit *sighit = (THcSignalHit*)obj;
-#endif
       sighit->Set(hit->fCounter, hit->fADC_neg);
     }
 
diff --git a/src/THcScintillatorPlane.h b/src/THcScintillatorPlane.h
index 431fbd8..eefae3e 100644
--- a/src/THcScintillatorPlane.h
+++ b/src/THcScintillatorPlane.h
@@ -49,11 +49,6 @@ class THcScintillatorPlane : public THaSubDetector {
   TClonesArray* fPosADCHits;
   TClonesArray* fNegADCHits;
 
-  TClass* fPosTDCHitsClass;
-  TClass* fNegTDCHitsClass;
-  TClass* fPosADCHitsClass;
-  TClass* fNegADCHitsClass;
-  
   Int_t fPlaneNum;		/* Which plane am I 1-4 */
   Int_t fNelem;			/* Need since we don't inherit from 
 				 detector base class */
diff --git a/src/THcShowerPlane.cxx b/src/THcShowerPlane.cxx
index 9ec3dcc..643a4f4 100644
--- a/src/THcShowerPlane.cxx
+++ b/src/THcShowerPlane.cxx
@@ -36,12 +36,7 @@ THcShowerPlane::THcShowerPlane( const char* name,
   // Normal constructor with name and description
   fPosADCHits = new TClonesArray("THcSignalHit",13);
   fNegADCHits = new TClonesArray("THcSignalHit",13);
-#if ROOT_VERSION_CODE < ROOT_VERSION(5,32,0)
-  fPosADCHitsClass = fPosADCHits->GetClass();
-  fNegADCHitsClass = fNegADCHits->GetClass();
-#endif
   fPosADC1 = new TClonesArray("THcSignalHit",13);
-  fPosADCHitsClass = fPosADC1->GetClass();
 
   fLayerNum = layernum;
 }
@@ -278,16 +273,8 @@ CalADC1File = fopen("adc1_new.dat", "a");
     }
 
 if(hit->fCounter == 1){
-#if ROOT_VERSION_CODE >= ROOT_VERSION(5,32,0)
 THcSignalHit *sighit1 = (THcSignalHit*) fPosADC1->ConstructedAt(nPosADCHits++);
 
-#else
-	TObject* obj = (*fPosADC1)[nPosADCHits++];
-	R__ASSERT( obj );
-        if(!obj->TestBit (TObject::kNotDeleted))
-	fPosADCHitsClass->New(obj);
-	THcSignalHit *sighit1 = (THcSignalHit*)obj;
-#endif
 //THcSignalHit *sighit1 = (THcSignalHit*) fA[1]->ConstructedAt(nPosADCHits++);
  sighit1->Set(1,(Int_t)(hit->fADC_pos - 470.7));
 //fprintf(CalADC1File, "%d\n", hit->fADC_pos);
@@ -296,33 +283,15 @@ THcSignalHit *sighit1 = (THcSignalHit*) fPosADC1->ConstructedAt(nPosADCHits++);
 double thresh_pos = fPosThresh[hit->fCounter -1];
 //double thresh_pos = hcal_new_threshold_pos[hit->fCounter + 13*(hit->fPlane -1) -1];
 if(hit->fADC_pos >  thresh_pos) {
-#if ROOT_VERSION_CODE >= ROOT_VERSION(5,32,0)
 	THcSignalHit *sighit = (THcSignalHit*) fPosADCHits->ConstructedAt(nPosADCHits++);
 
-#else
-	TObject* obj = (*fPosADCHits)[nPosADCHits++];
-	R__ASSERT( obj );
-if(!obj->TestBit (TObject::kNotDeleted))
-	fPosADCHitsClass->New(obj);
-	THcSignalHit *sighit = (THcSignalHit*)obj;
-#endif
-
    sighit->Set(hit->fCounter, hit->fADC_pos);
 }
 
 double thresh_neg = fNegThresh[hit->fCounter -1];
 //double thresh_neg = hcal_new_threshold_neg[hit->fCounter + 13*(hit->fPlane -1) -1];
 if(hit->fADC_neg >  thresh_neg) {
-#if ROOT_VERSION_CODE >= ROOT_VERSION(5,32,0)
 	THcSignalHit *sighit = (THcSignalHit*) fNegADCHits->ConstructedAt(nNegADCHits++);
-	sighit->Set(hit->fCounter, hit->fADC_neg);
-#else
-	TObject* obj = (*fNegADCHits)[nNegADCHits++];
-	R__ASSERT( obj );
-if(!obj->TestBit (TObject::kNotDeleted))
-	fNegADCHitsClass->New(obj);
-	THcSignalHit *sighit = (THcSignalHit*)obj;
-#endif
    sighit->Set(hit->fCounter, hit->fADC_neg);
 }
 
diff --git a/src/THcShowerPlane.h b/src/THcShowerPlane.h
index 4d8c4a8..8ecde52 100644
--- a/src/THcShowerPlane.h
+++ b/src/THcShowerPlane.h
@@ -59,10 +59,6 @@ TClonesArray* fPosADC[13];
   TClonesArray* fPosADCHits;
   TClonesArray* fNegADCHits;
 
-  TClass* fPosADCHitsClass;
-  TClass* fNegADCHitsClass;
-  TClass* fPosADC1Class;
-
   FILE* CalADC1File;
 
   Int_t fLayerNum;
-- 
GitLab