From 1d759da19ceab4c6f24e289d3eb224c665d4d82b Mon Sep 17 00:00:00 2001
From: adrien-matta <a.matta@surrey.ac.uk>
Date: Wed, 12 Apr 2017 22:46:09 +0200
Subject: [PATCH] * Cleaner CATS Data class

---
 NPLib/Detectors/CATS/TCATSData.h      | 99 ++++++++++++++-------------
 NPLib/Detectors/CATS/TCATSPhysics.cxx | 16 ++---
 2 files changed, 60 insertions(+), 55 deletions(-)

diff --git a/NPLib/Detectors/CATS/TCATSData.h b/NPLib/Detectors/CATS/TCATSData.h
index 186c6f738..4b166849a 100644
--- a/NPLib/Detectors/CATS/TCATSData.h
+++ b/NPLib/Detectors/CATS/TCATSData.h
@@ -28,60 +28,65 @@ using namespace std;
 
 
 class TCATSData : public TObject {
- protected:
-   // X strips
-   vector<UShort_t>	fCATS_DetX;
-   vector<UShort_t>	fCATS_StripX;
-   vector<UShort_t>	fCATS_ChargeX;
+  protected:
+    // X strips
+    vector<UShort_t>	fCATS_DetX;
+    vector<UShort_t>	fCATS_StripX;
+    vector<UShort_t>	fCATS_ChargeX;
 
-   // Y strips
-   vector<UShort_t>	fCATS_DetY;
-   vector<UShort_t>	fCATS_StripY;
-   vector<UShort_t>	fCATS_ChargeY;
+    // Y strips
+    vector<UShort_t>	fCATS_DetY;
+    vector<UShort_t>	fCATS_StripY;
+    vector<UShort_t>	fCATS_ChargeY;
 
-   //Q Fil
-   vector<UShort_t>	fCATS_DetQ;
-   vector<UShort_t>	fCATS_Charge;
+    //Q Fil
+    vector<UShort_t>	fCATS_DetQ;
+    vector<UShort_t>	fCATS_Charge;
 
- public:
-   TCATSData();
-   virtual ~TCATSData();
+  public:
+    TCATSData();
+   ~TCATSData();
 
-   void	Clear();
-   void Clear(const Option_t*) {};
-   void	Dump() const;
+    void Clear();
+    void Clear(const Option_t*) {};
+    void Dump() const;
 
-   /////////////////////           SETTERS           ////////////////////////
-   // X
-   void SetCATSDetX(UShort_t DetX)	      {fCATS_DetX.push_back(DetX);}
-   void SetCATSStripX(UShort_t StripX)	  {fCATS_StripX.push_back(StripX);}
-   void SetCATSChargeX(UShort_t ChargeX)  {fCATS_ChargeX.push_back(ChargeX);}
-   // Y
-   void SetCATSDetY(UShort_t DetY)	      {fCATS_DetY.push_back(DetY);}
-   void SetCATSStripY(UShort_t StripY)	  {fCATS_StripY.push_back(StripY);}
-   void SetCATSChargeY(UShort_t ChargeY)  {fCATS_ChargeY.push_back(ChargeY);}
+    /////////////////////           SETTERS           ////////////////////////
+    // X
+    inline void SetStripX(const UShort_t& DetX, const UShort_t& StripX, const UShort_t& ChargeX){
+      fCATS_DetX.push_back(DetX);                                                 
+      fCATS_StripX.push_back(StripX);                                             
+      fCATS_ChargeX.push_back(ChargeX);                                           
+    }
+    // Y
+    inline void SetStripY(const UShort_t& DetY, const UShort_t& StripY, const UShort_t& ChargeY){
+      fCATS_DetY.push_back(DetY);                                                 
+      fCATS_StripY.push_back(StripY);                                             
+      fCATS_ChargeY.push_back(ChargeY);                                           
+    }
 
-   //Q fil
-   void SetCATSDetQ(UShort_t DetQ)	      {fCATS_DetQ.push_back(DetQ);}
-   void SetCATSCharge(UShort_t Charge)    {fCATS_Charge.push_back(Charge);}
+    //Q fil
+    inline void SetQ(const UShort_t& DetQ, const UShort_t& Charge){
+      fCATS_DetQ.push_back(DetQ);
+      fCATS_Charge.push_back(Charge);
+    }
+    /////////////////////           GETTERS           ////////////////////////
+    // X
+    inline UShort_t	GetCATSMultX()		              const {return fCATS_DetX.size();}
+    inline UShort_t	GetCATSDetX(const Int_t& i)	    const {return fCATS_DetX.at(i);}
+    inline UShort_t	GetCATSStripX(const Int_t& i)   const {return fCATS_StripX.at(i);}
+    inline UShort_t	GetCATSChargeX(const Int_t& i)	const {return fCATS_ChargeX.at(i);}
+    // Y
+    inline UShort_t	GetCATSMultY()		              const {return fCATS_DetY.size();}
+    inline UShort_t	GetCATSDetY(const Int_t& i)	    const {return fCATS_DetY.at(i);}
+    inline UShort_t	GetCATSStripY(const Int_t& i)   const {return fCATS_StripY.at(i);}
+    inline UShort_t	GetCATSChargeY(const Int_t& i)	const {return fCATS_ChargeY.at(i);}
+    //Q fil
+    inline UShort_t	GetCATSMultQ()                 const {return fCATS_DetQ.size();}
+    inline UShort_t	GetCATSDetQ(const Int_t& i)    const {return fCATS_DetQ.at(i);}
+    inline UShort_t	GetCATSCharge(const Int_t& i)  const {return fCATS_Charge.at(i);}
 
-   /////////////////////           GETTERS           ////////////////////////
-   // X
-   UShort_t	GetCATSMultX()		            const {return fCATS_DetX.size();}
-   UShort_t	GetCATSDetX(Int_t i)	         const {return fCATS_DetX.at(i);}
-   UShort_t	GetCATSStripX(Int_t i)        const {return fCATS_StripX.at(i);}
-   UShort_t	GetCATSChargeX(Int_t i)	      const {return fCATS_ChargeX.at(i);}
-   // Y
-   UShort_t	GetCATSMultY()		            const {return fCATS_DetY.size();}
-   UShort_t	GetCATSDetY(Int_t i)	         const {return fCATS_DetY.at(i);}
-   UShort_t	GetCATSStripY(Int_t i)        const {return fCATS_StripY.at(i);}
-   UShort_t	GetCATSChargeY(Int_t i)	      const {return fCATS_ChargeY.at(i);}
-   //Q fil
-   UShort_t	GetCATSMultQ()                const {return fCATS_DetQ.size();}
-   UShort_t	GetCATSDetQ(Int_t i)          const {return fCATS_DetQ.at(i);}
-   UShort_t	GetCATSCharge(Int_t i)        const {return fCATS_Charge.at(i);}
-
-   ClassDef(TCATSData,2)  // CATSData structure
+    ClassDef(TCATSData,2)  // CATSData structure
 };
 
 #endif
diff --git a/NPLib/Detectors/CATS/TCATSPhysics.cxx b/NPLib/Detectors/CATS/TCATSPhysics.cxx
index 9322f54fa..7cfc5aa9e 100644
--- a/NPLib/Detectors/CATS/TCATSPhysics.cxx
+++ b/NPLib/Detectors/CATS/TCATSPhysics.cxx
@@ -66,15 +66,15 @@ void TCATSPhysics::PreTreat(){
     if(IsValidChannel("X", m_EventData->GetCATSDetX(i), m_EventData->GetCATSStripX(i)) ){
       if( fCATS_Threshold_X(m_EventData , i) ){
         double QX = fCATS_X_Q(m_EventData , i);
-        m_PreTreatedData->SetCATSChargeX( QX );
+        unsigned int stripX = -1;
         //Inversion X
         if( *(m_CATSXInversion[m_EventData->GetCATSDetX(i)-1].begin() + m_EventData->GetCATSStripX(i)-1) != m_EventData->GetCATSStripX(i) ){
-          m_PreTreatedData->SetCATSStripX( *(m_CATSXInversion[m_EventData->GetCATSDetX(i)-1].begin() + m_EventData->GetCATSStripX(i)-1) );
+          stripX = *(m_CATSXInversion[m_EventData->GetCATSDetX(i)-1].begin() + m_EventData->GetCATSStripX(i)-1); 
         }
         else {
-          m_PreTreatedData->SetCATSStripX( m_EventData->GetCATSStripX(i) );
+          stripX =  m_EventData->GetCATSStripX(i);
         }
-        m_PreTreatedData->SetCATSDetX( m_EventData->GetCATSDetX(i) );
+        m_PreTreatedData->SetStripX( m_EventData->GetCATSDetX(i) , stripX, QX);
       }
     }
   }
@@ -86,15 +86,15 @@ void TCATSPhysics::PreTreat(){
     if(IsValidChannel("Y", m_EventData->GetCATSDetY(i), m_EventData->GetCATSStripY(i))){
       if( fCATS_Threshold_Y(m_EventData , i) ){
         double QY = fCATS_Y_Q(m_EventData , i);
-        m_PreTreatedData->SetCATSChargeY( QY );
+        unsigned int stripY = -1;
         //Inversion Y
         if( *(m_CATSYInversion[m_EventData->GetCATSDetY(i)-1].begin() + m_EventData->GetCATSStripY(i)-1) != m_EventData->GetCATSStripY(i) ){
-          m_PreTreatedData->SetCATSStripY( *(m_CATSYInversion[m_EventData->GetCATSDetY(i)-1].begin() + m_EventData->GetCATSStripY(i)-1) );
+          stripY = *(m_CATSYInversion[m_EventData->GetCATSDetY(i)-1].begin() + m_EventData->GetCATSStripY(i)-1); 
         }
         else {
-          m_PreTreatedData->SetCATSStripY( m_EventData->GetCATSStripY(i) );
+          stripY = m_EventData->GetCATSStripY(i) ;
         }
-        m_PreTreatedData->SetCATSDetY( m_EventData->GetCATSDetY(i) );
+        m_PreTreatedData->SetStripY( m_EventData->GetCATSDetY(i), stripY, QY );
       }
     }
   }
-- 
GitLab