From b94de91a869fd2b4079cbf203a537e7cc0c573f1 Mon Sep 17 00:00:00 2001
From: matta <matta@npt>
Date: Tue, 4 Dec 2012 10:30:43 +0000
Subject: [PATCH] * Updating the Tigress and Sharc classes with recent dev of
 S1107 exp

---
 NPLib/Sharc/Makefile                    |   12 +-
 NPLib/Sharc/TSharcData.cxx              |   27 +-
 NPLib/Sharc/TSharcData.h                |   50 +-
 NPLib/Sharc/TSharcDataDict.cxx          |  256 +++-
 NPLib/Sharc/TSharcPhysics.cxx           |  911 +++++++++++++
 NPLib/Sharc/TSharcPhysics.h             |  219 ++++
 NPLib/Sharc/TSharcPhysicsDict.cxx       | 1560 +++++++++++++++++++++++
 NPLib/Sharc/TSharcPhysicsDict.h         |   93 ++
 NPLib/Tigress/Makefile                  |   22 +-
 NPLib/Tigress/TTigEventFragment.cxx     |   51 +
 NPLib/Tigress/TTigEventFragment.h       |   48 +
 NPLib/Tigress/TTigEventFragmentDict.cxx | 1240 ++++++++++++++++++
 NPLib/Tigress/TTigEventFragmentDict.h   |   59 +
 NPLib/Tigress/TTigressClover.cxx        |   89 ++
 NPLib/Tigress/TTigressClover.h          |   56 +
 NPLib/Tigress/TTigressCrystal.cxx       |   64 +
 NPLib/Tigress/TTigressCrystal.h         |   53 +
 NPLib/Tigress/TTigressData.cxx          |   32 +-
 NPLib/Tigress/TTigressData.h            |   75 +-
 NPLib/Tigress/TTigressDataDict.cxx      |  421 +++++-
 NPLib/Tigress/TTigressDataPhysics.h     |  188 +++
 NPLib/Tigress/TTigressPhysics.cxx       |  221 ++++
 NPLib/Tigress/TTigressPhysics.h         |  107 ++
 NPLib/Tigress/TTigressPhysicsDict.cxx   | 1275 ++++++++++++++++++
 NPLib/Tigress/TTigressPhysicsDict.h     |   90 ++
 25 files changed, 7040 insertions(+), 179 deletions(-)
 create mode 100644 NPLib/Sharc/TSharcPhysics.cxx
 create mode 100644 NPLib/Sharc/TSharcPhysics.h
 create mode 100644 NPLib/Sharc/TSharcPhysicsDict.cxx
 create mode 100644 NPLib/Sharc/TSharcPhysicsDict.h
 create mode 100644 NPLib/Tigress/TTigEventFragment.cxx
 create mode 100644 NPLib/Tigress/TTigEventFragment.h
 create mode 100644 NPLib/Tigress/TTigEventFragmentDict.cxx
 create mode 100644 NPLib/Tigress/TTigEventFragmentDict.h
 create mode 100644 NPLib/Tigress/TTigressClover.cxx
 create mode 100644 NPLib/Tigress/TTigressClover.h
 create mode 100644 NPLib/Tigress/TTigressCrystal.cxx
 create mode 100644 NPLib/Tigress/TTigressCrystal.h
 create mode 100644 NPLib/Tigress/TTigressDataPhysics.h
 create mode 100644 NPLib/Tigress/TTigressPhysics.cxx
 create mode 100644 NPLib/Tigress/TTigressPhysics.h
 create mode 100644 NPLib/Tigress/TTigressPhysicsDict.cxx
 create mode 100644 NPLib/Tigress/TTigressPhysicsDict.h

diff --git a/NPLib/Sharc/Makefile b/NPLib/Sharc/Makefile
index 403a56ae7..d923d6d98 100644
--- a/NPLib/Sharc/Makefile
+++ b/NPLib/Sharc/Makefile
@@ -1,7 +1,7 @@
 include ../Makefile.arch
  
 #------------------------------------------------------------------------------
-SHARELIB      =  libSharcData.so 
+SHARELIB      =  libSharcData.so libSharcPhysics.so
 #libSharcPhysics.so
 
 all:            $(SHARELIB)
@@ -15,15 +15,15 @@ libSharcData.so:	TSharcData.o	TSharcDataDict.o
 TSharcDataDict.cxx:	TSharcData.h
 			rootcint -f $@ -c $^
 
-#libSharcPhysics.so:	TSharcPhysics.o	TSharcPhysicsDict.o
-#		$(LD) $(SOFLAGS) $^ $(OutPutOpt) $@
+libSharcPhysics.so:	TSharcPhysics.o	TSharcPhysicsDict.o
+		$(LD) $(SOFLAGS) $^ $(OutPutOpt) $@
 
-#TSharcPhysicsDict.cxx:	TSharcPhysics.h
-#			rootcint -f $@ -c $^
+TSharcPhysicsDict.cxx:	TSharcPhysics.h
+			rootcint -f $@ -c $^
 			
 # dependances
 TSharcData.o:		TSharcData.cxx	TSharcData.h
-#TSharcPhysics.o:	TSharcPhysics.cxx	TSharcPhysics.h
+TSharcPhysics.o:	TSharcPhysics.cxx	TSharcPhysics.h
 #######################################
 
 ############# Clean and More ##########
diff --git a/NPLib/Sharc/TSharcData.cxx b/NPLib/Sharc/TSharcData.cxx
index c57d9b2e5..472cc7678 100644
--- a/NPLib/Sharc/TSharcData.cxx
+++ b/NPLib/Sharc/TSharcData.cxx
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2009-2010   this file is part of the NPTool Project         *
+ * Copyright (C) 2009-2012   this file is part of the NPTool Project         *
  *                                                                           *
  * For the licensing terms see $NPTOOL/Licence/NPTool_Licence                *
  * For the list of contributors see $NPTOOL/Licence/Contributors             *
@@ -8,7 +8,7 @@
 /*****************************************************************************
  * Original Author: Adrien MATTA  contact address: matta@ipno.in2p3.fr       *
  *                                                                           *
- * Creation Date  : febuary 2009                                             *
+ * Creation Date  : November 2012                                            *
  * Last update    :                                                          *
  *---------------------------------------------------------------------------*
  * Decription:                                                               *
@@ -16,11 +16,11 @@
  *                                                                           *
  *---------------------------------------------------------------------------*
  * Comment:                                                                  *
- *                                                                           *
+ *                                                                           *   
  *                                                                           *
  *****************************************************************************/
 #include <iostream>
-using namespace std;
+using namespace std; 
 
 #include "TSharcData.h"
 
@@ -51,6 +51,10 @@ void TSharcData::Clear()
   fSharc_StripBack_StripNbr.clear();
   fSharc_StripBack_Energy.clear();
   fSharc_StripBack_Time.clear();
+  
+  fSharc_PAD_DetectorNbr.clear();
+  fSharc_PAD_Energy.clear();
+  fSharc_PAD_Time.clear();
 }
 
 /////////////////////////
@@ -63,13 +67,22 @@ void TSharcData::Dump() const
   for (UShort_t i = 0; i < fSharc_StripFront_DetectorNbr.size(); i++){
     cout << "DetNbr: " << fSharc_StripFront_DetectorNbr[i]
          << " Strip: " << fSharc_StripFront_StripNbr[i]
-         << " Energy: " << fSharc_StripFront_Energy[i] << endl;
+         << " Energy: " << fSharc_StripFront_Energy[i]
+         << " Time: " << fSharc_StripFront_Time[i] << endl;
   }
   
   // Back
   for (UShort_t i = 0; i < fSharc_StripFront_DetectorNbr.size(); i++){
     cout << "DetNbr: " << fSharc_StripFront_DetectorNbr[i]
     << " Strip: " << fSharc_StripFront_StripNbr[i]
-    << " Energy: " << fSharc_StripFront_Energy[i] << endl;
+    << " Energy: " << fSharc_StripFront_Energy[i]
+    << " Time: " << fSharc_StripBack_Time[i] << endl;
   }
-}
\ No newline at end of file
+  
+  // PAD
+  for (UShort_t i = 0; i < fSharc_PAD_DetectorNbr.size(); i++){
+    cout << "DetNbr: " << fSharc_PAD_DetectorNbr[i]
+    << " Energy: " << fSharc_PAD_Energy[i]
+    << " Time: " << fSharc_PAD_Time[i] << endl;
+  }
+}
diff --git a/NPLib/Sharc/TSharcData.h b/NPLib/Sharc/TSharcData.h
index a0ac1063d..0b2a7b305 100644
--- a/NPLib/Sharc/TSharcData.h
+++ b/NPLib/Sharc/TSharcData.h
@@ -39,6 +39,10 @@ private:
   vector<Double_t>   fSharc_StripBack_Energy;
   vector<Double_t>   fSharc_StripBack_Time;
   
+  vector<UShort_t>   fSharc_PAD_DetectorNbr;
+  vector<Double_t>   fSharc_PAD_Energy;
+  vector<Double_t>   fSharc_PAD_Time;
+  
 public:
   TSharcData();
   virtual ~TSharcData();
@@ -48,26 +52,40 @@ public:
   void Dump() const;
   
   /////////////////////           SETTERS           ////////////////////////
-  void SetFrontE_DetectorNbr(UShort_t DetNbr){fSharc_StripFront_DetectorNbr.push_back(DetNbr);}
-  void SetFrontE_StripNbr(UShort_t StripNbr){fSharc_StripFront_StripNbr.push_back(StripNbr);}
-  void SetFrontE_Energy(Double_t Energy){fSharc_StripFront_Energy.push_back(Energy);}
-  void SetFrontE_Time(Double_t Time){fSharc_StripFront_Time.push_back(Time);}
+  void SetFront_DetectorNbr(UShort_t DetNbr){fSharc_StripFront_DetectorNbr.push_back(DetNbr);}
+  void SetFront_StripNbr(UShort_t StripNbr){fSharc_StripFront_StripNbr.push_back(StripNbr);}
+  void SetFront_Energy(Double_t Energy){fSharc_StripFront_Energy.push_back(Energy);}
+  void SetFront_Time(Double_t Time){fSharc_StripFront_Time.push_back(Time);}
+  
+  void SetBack_DetectorNbr(UShort_t DetNbr){fSharc_StripBack_DetectorNbr.push_back(DetNbr);}
+  void SetBack_StripNbr(UShort_t StripNbr){fSharc_StripBack_StripNbr.push_back(StripNbr);}
+  void SetBack_Energy(Double_t Energy){fSharc_StripBack_Energy.push_back(Energy);}
+  void SetBack_Time(Double_t Time){fSharc_StripBack_Time.push_back(Time);}
+  
+  void SetPAD_DetectorNbr(UShort_t DetNbr){fSharc_PAD_DetectorNbr.push_back(DetNbr);}
+  void SetPAD_Energy(Double_t Energy){fSharc_PAD_Energy.push_back(Energy);}
+  void SetPAD_Time(Double_t Time){fSharc_PAD_Time.push_back(Time);}
   
-  void SetBackE_DetectorNbr(UShort_t DetNbr){fSharc_StripBack_DetectorNbr.push_back(DetNbr);}
-  void SetBackE_StripNbr(UShort_t StripNbr){fSharc_StripBack_StripNbr.push_back(StripNbr);}
-  void SetBackE_Energy(Double_t Energy){fSharc_StripBack_Energy.push_back(Energy);}
-  void SetBackE_Time(Double_t Time){fSharc_StripBack_Time.push_back(Time);}
   
   /////////////////////           GETTERS           ////////////////////////
-  UShort_t GetFrontE_DetectorNbr(unsigned int i){return fSharc_StripFront_DetectorNbr[i];}
-  UShort_t GetFrontE_StripNbr(unsigned int i)   {return fSharc_StripFront_StripNbr[i];}
-  Double_t GetFrontE_Energy(unsigned int i)     {return fSharc_StripFront_Energy[i];}
-  Double_t GetFrontE_Time(unsigned int i)       {return fSharc_StripFront_Time[i];}
+  UShort_t GetFront_DetectorNbr(unsigned int i) const {return fSharc_StripFront_DetectorNbr[i];}
+  UShort_t GetFront_StripNbr(unsigned int i)    const {return fSharc_StripFront_StripNbr[i];}
+  Double_t GetFront_Energy(unsigned int i)      const {return fSharc_StripFront_Energy[i];}
+  Double_t GetFront_Time(unsigned int i)       const {return fSharc_StripFront_Time[i];}
   
-  UShort_t GetBackE_DetectorNbr(unsigned int i) {return fSharc_StripFront_DetectorNbr[i];}
-  UShort_t GetBackE_StripNbr(unsigned int i)    {return fSharc_StripFront_StripNbr[i];}
-  Double_t GetBackE_Energy(unsigned int i)      {return fSharc_StripFront_Energy[i];}
-  Double_t GetBackE_Time(unsigned int i)        {return fSharc_StripFront_Time[i];}
+  UShort_t GetBack_DetectorNbr(unsigned int i) const {return fSharc_StripBack_DetectorNbr[i];}
+  UShort_t GetBack_StripNbr(unsigned int i)    const {return fSharc_StripBack_StripNbr[i];}
+  Double_t GetBack_Energy(unsigned int i)      const {return fSharc_StripBack_Energy[i];}
+  Double_t GetBack_Time(unsigned int i)        const {return fSharc_StripBack_Time[i];}
+  
+  UShort_t GetPAD_DetectorNbr(unsigned int i) const {return fSharc_PAD_DetectorNbr[i];}
+  Double_t GetPAD_Energy(unsigned int i)      const {return fSharc_PAD_Energy[i];}
+  Double_t GetPAD_Time(unsigned int i)        const {return fSharc_PAD_Time[i];}
+
+  unsigned int GetMultiplicityFront() const {return fSharc_StripFront_DetectorNbr.size();}
+  unsigned int GetMultiplicityBack()  const {return fSharc_StripBack_DetectorNbr.size();}
+  unsigned int GetMultiplicityPAD()   const {return fSharc_PAD_DetectorNbr.size();}
+
   
   ClassDef(TSharcData,1)  // SharcData structure
 };
diff --git a/NPLib/Sharc/TSharcDataDict.cxx b/NPLib/Sharc/TSharcDataDict.cxx
index 27df52633..61f2c7ac0 100644
--- a/NPLib/Sharc/TSharcDataDict.cxx
+++ b/NPLib/Sharc/TSharcDataDict.cxx
@@ -1,5 +1,5 @@
 //
-// File generated by rootcint at Sat Nov 17 13:59:38 2012
+// File generated by rootcint at Tue Dec  4 10:29:46 2012
 
 // Do NOT change. Changes will be lost next time file is generated
 //
@@ -212,6 +212,42 @@ void TSharcData::Streamer(TBuffer &R__b)
             R__stl.push_back(R__t);
          }
       }
+      {
+         vector<UShort_t> &R__stl =  fSharc_PAD_DetectorNbr;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            unsigned short R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<Double_t> &R__stl =  fSharc_PAD_Energy;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            double R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<Double_t> &R__stl =  fSharc_PAD_Time;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            double R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
       R__b.CheckByteCount(R__s, R__c, TSharcData::IsA());
    } else {
       R__c = R__b.WriteVersion(TSharcData::IsA(), kTRUE);
@@ -304,6 +340,39 @@ void TSharcData::Streamer(TBuffer &R__b)
             }
          }
       }
+      {
+         vector<UShort_t> &R__stl =  fSharc_PAD_DetectorNbr;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<UShort_t>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<Double_t> &R__stl =  fSharc_PAD_Energy;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<Double_t>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<Double_t> &R__stl =  fSharc_PAD_Time;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<Double_t>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
       R__b.SetByteCount(R__c, kTRUE);
    }
 }
@@ -330,6 +399,12 @@ void TSharcData::ShowMembers(TMemberInspector &R__insp)
       R__insp.InspectMember("vector<Double_t>", (void*)&fSharc_StripBack_Energy, "fSharc_StripBack_Energy.", false);
       R__insp.Inspect(R__cl, R__insp.GetParent(), "fSharc_StripBack_Time", (void*)&fSharc_StripBack_Time);
       R__insp.InspectMember("vector<Double_t>", (void*)&fSharc_StripBack_Time, "fSharc_StripBack_Time.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "fSharc_PAD_DetectorNbr", (void*)&fSharc_PAD_DetectorNbr);
+      R__insp.InspectMember("vector<UShort_t>", (void*)&fSharc_PAD_DetectorNbr, "fSharc_PAD_DetectorNbr.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "fSharc_PAD_Energy", (void*)&fSharc_PAD_Energy);
+      R__insp.InspectMember("vector<Double_t>", (void*)&fSharc_PAD_Energy, "fSharc_PAD_Energy.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "fSharc_PAD_Time", (void*)&fSharc_PAD_Time);
+      R__insp.InspectMember("vector<Double_t>", (void*)&fSharc_PAD_Time, "fSharc_PAD_Time.", false);
       TObject::ShowMembers(R__insp);
 }
 
@@ -539,166 +614,223 @@ static int G__TSharcDataDict_162_0_2(G__value* result7, G__CONST char* funcname,
 
 static int G__TSharcDataDict_162_0_5(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      ((TSharcData*) G__getstructoffset())->SetFrontE_DetectorNbr((UShort_t) G__int(libp->para[0]));
+      ((TSharcData*) G__getstructoffset())->SetFront_DetectorNbr((UShort_t) G__int(libp->para[0]));
       G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_6(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      ((TSharcData*) G__getstructoffset())->SetFrontE_StripNbr((UShort_t) G__int(libp->para[0]));
+      ((TSharcData*) G__getstructoffset())->SetFront_StripNbr((UShort_t) G__int(libp->para[0]));
       G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_7(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      ((TSharcData*) G__getstructoffset())->SetFrontE_Energy((Double_t) G__double(libp->para[0]));
+      ((TSharcData*) G__getstructoffset())->SetFront_Energy((Double_t) G__double(libp->para[0]));
       G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_8(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      ((TSharcData*) G__getstructoffset())->SetFrontE_Time((Double_t) G__double(libp->para[0]));
+      ((TSharcData*) G__getstructoffset())->SetFront_Time((Double_t) G__double(libp->para[0]));
       G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_9(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      ((TSharcData*) G__getstructoffset())->SetBackE_DetectorNbr((UShort_t) G__int(libp->para[0]));
+      ((TSharcData*) G__getstructoffset())->SetBack_DetectorNbr((UShort_t) G__int(libp->para[0]));
       G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_10(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      ((TSharcData*) G__getstructoffset())->SetBackE_StripNbr((UShort_t) G__int(libp->para[0]));
+      ((TSharcData*) G__getstructoffset())->SetBack_StripNbr((UShort_t) G__int(libp->para[0]));
       G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_11(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      ((TSharcData*) G__getstructoffset())->SetBackE_Energy((Double_t) G__double(libp->para[0]));
+      ((TSharcData*) G__getstructoffset())->SetBack_Energy((Double_t) G__double(libp->para[0]));
       G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_12(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      ((TSharcData*) G__getstructoffset())->SetBackE_Time((Double_t) G__double(libp->para[0]));
+      ((TSharcData*) G__getstructoffset())->SetBack_Time((Double_t) G__double(libp->para[0]));
       G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_13(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letint(result7, 114, (long) ((TSharcData*) G__getstructoffset())->GetFrontE_DetectorNbr((unsigned int) G__int(libp->para[0])));
+      ((TSharcData*) G__getstructoffset())->SetPAD_DetectorNbr((UShort_t) G__int(libp->para[0]));
+      G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_14(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letint(result7, 114, (long) ((TSharcData*) G__getstructoffset())->GetFrontE_StripNbr((unsigned int) G__int(libp->para[0])));
+      ((TSharcData*) G__getstructoffset())->SetPAD_Energy((Double_t) G__double(libp->para[0]));
+      G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_15(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letdouble(result7, 100, (double) ((TSharcData*) G__getstructoffset())->GetFrontE_Energy((unsigned int) G__int(libp->para[0])));
+      ((TSharcData*) G__getstructoffset())->SetPAD_Time((Double_t) G__double(libp->para[0]));
+      G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_16(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letdouble(result7, 100, (double) ((TSharcData*) G__getstructoffset())->GetFrontE_Time((unsigned int) G__int(libp->para[0])));
+      G__letint(result7, 114, (long) ((const TSharcData*) G__getstructoffset())->GetFront_DetectorNbr((unsigned int) G__int(libp->para[0])));
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_17(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letint(result7, 114, (long) ((TSharcData*) G__getstructoffset())->GetBackE_DetectorNbr((unsigned int) G__int(libp->para[0])));
+      G__letint(result7, 114, (long) ((const TSharcData*) G__getstructoffset())->GetFront_StripNbr((unsigned int) G__int(libp->para[0])));
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_18(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letint(result7, 114, (long) ((TSharcData*) G__getstructoffset())->GetBackE_StripNbr((unsigned int) G__int(libp->para[0])));
+      G__letdouble(result7, 100, (double) ((const TSharcData*) G__getstructoffset())->GetFront_Energy((unsigned int) G__int(libp->para[0])));
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_19(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letdouble(result7, 100, (double) ((TSharcData*) G__getstructoffset())->GetBackE_Energy((unsigned int) G__int(libp->para[0])));
+      G__letdouble(result7, 100, (double) ((const TSharcData*) G__getstructoffset())->GetFront_Time((unsigned int) G__int(libp->para[0])));
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_20(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letdouble(result7, 100, (double) ((TSharcData*) G__getstructoffset())->GetBackE_Time((unsigned int) G__int(libp->para[0])));
+      G__letint(result7, 114, (long) ((const TSharcData*) G__getstructoffset())->GetBack_DetectorNbr((unsigned int) G__int(libp->para[0])));
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_21(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letint(result7, 85, (long) TSharcData::Class());
+      G__letint(result7, 114, (long) ((const TSharcData*) G__getstructoffset())->GetBack_StripNbr((unsigned int) G__int(libp->para[0])));
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_22(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letint(result7, 67, (long) TSharcData::Class_Name());
+      G__letdouble(result7, 100, (double) ((const TSharcData*) G__getstructoffset())->GetBack_Energy((unsigned int) G__int(libp->para[0])));
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_23(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letint(result7, 115, (long) TSharcData::Class_Version());
+      G__letdouble(result7, 100, (double) ((const TSharcData*) G__getstructoffset())->GetBack_Time((unsigned int) G__int(libp->para[0])));
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TSharcDataDict_162_0_24(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 114, (long) ((const TSharcData*) G__getstructoffset())->GetPAD_DetectorNbr((unsigned int) G__int(libp->para[0])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcDataDict_162_0_25(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letdouble(result7, 100, (double) ((const TSharcData*) G__getstructoffset())->GetPAD_Energy((unsigned int) G__int(libp->para[0])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcDataDict_162_0_26(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letdouble(result7, 100, (double) ((const TSharcData*) G__getstructoffset())->GetPAD_Time((unsigned int) G__int(libp->para[0])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcDataDict_162_0_27(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 104, (long) ((const TSharcData*) G__getstructoffset())->GetMultiplicityFront());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcDataDict_162_0_28(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 104, (long) ((const TSharcData*) G__getstructoffset())->GetMultiplicityBack());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcDataDict_162_0_29(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 104, (long) ((const TSharcData*) G__getstructoffset())->GetMultiplicityPAD());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcDataDict_162_0_30(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 85, (long) TSharcData::Class());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcDataDict_162_0_31(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 67, (long) TSharcData::Class_Name());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcDataDict_162_0_32(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 115, (long) TSharcData::Class_Version());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcDataDict_162_0_33(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
       TSharcData::Dictionary();
       G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
-static int G__TSharcDataDict_162_0_28(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+static int G__TSharcDataDict_162_0_37(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
       ((TSharcData*) G__getstructoffset())->StreamerNVirtual(*(TBuffer*) libp->para[0].ref);
       G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
-static int G__TSharcDataDict_162_0_29(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+static int G__TSharcDataDict_162_0_38(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
       G__letint(result7, 67, (long) TSharcData::DeclFileName());
    return(1 || funcname || hash || result7 || libp) ;
 }
 
-static int G__TSharcDataDict_162_0_30(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+static int G__TSharcDataDict_162_0_39(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
       G__letint(result7, 105, (long) TSharcData::ImplFileLine());
    return(1 || funcname || hash || result7 || libp) ;
 }
 
-static int G__TSharcDataDict_162_0_31(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+static int G__TSharcDataDict_162_0_40(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
       G__letint(result7, 67, (long) TSharcData::ImplFileName());
    return(1 || funcname || hash || result7 || libp) ;
 }
 
-static int G__TSharcDataDict_162_0_32(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+static int G__TSharcDataDict_162_0_41(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
       G__letint(result7, 105, (long) TSharcData::DeclFileLine());
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 // automatic copy constructor
-static int G__TSharcDataDict_162_0_33(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+static int G__TSharcDataDict_162_0_42(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 
 {
    TSharcData* p;
@@ -712,7 +844,7 @@ static int G__TSharcDataDict_162_0_33(G__value* result7, G__CONST char* funcname
 
 // automatic destructor
 typedef TSharcData G__TTSharcData;
-static int G__TSharcDataDict_162_0_34(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+static int G__TSharcDataDict_162_0_43(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
    char* gvp = (char*) G__getgvp();
    long soff = G__getstructoffset();
@@ -749,7 +881,7 @@ static int G__TSharcDataDict_162_0_34(G__value* result7, G__CONST char* funcname
 }
 
 // automatic assignment operator
-static int G__TSharcDataDict_162_0_35(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+static int G__TSharcDataDict_162_0_44(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
    TSharcData* dest = (TSharcData*) G__getstructoffset();
    *dest = *(TSharcData*) libp->para[0].ref;
@@ -861,6 +993,9 @@ static void G__setup_memvarTSharcData(void) {
    G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TSharcDataDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR),G__defined_typename("vector<UShort_t>"),-1,4,"fSharc_StripBack_StripNbr=",0,(char*)NULL);
    G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TSharcDataDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<Double_t>"),-1,4,"fSharc_StripBack_Energy=",0,(char*)NULL);
    G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TSharcDataDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<Double_t>"),-1,4,"fSharc_StripBack_Time=",0,(char*)NULL);
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TSharcDataDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR),G__defined_typename("vector<UShort_t>"),-1,4,"fSharc_PAD_DetectorNbr=",0,(char*)NULL);
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TSharcDataDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<Double_t>"),-1,4,"fSharc_PAD_Energy=",0,(char*)NULL);
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TSharcDataDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<Double_t>"),-1,4,"fSharc_PAD_Time=",0,(char*)NULL);
    G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__TSharcDataDictLN_TClass),-1,-2,4,"fgIsA=",0,(char*)NULL);
    }
    G__tag_memvar_reset();
@@ -887,40 +1022,49 @@ static void G__setup_memfuncTSharcData(void) {
    G__memfunc_setup("Clear",487,G__TSharcDataDict_162_0_2, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
    G__memfunc_setup("Clear",487,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "C - 'Option_t' 10 - -", (char*)NULL, (void*) NULL, 1);
    G__memfunc_setup("Dump",406,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 1);
-   G__memfunc_setup("SetFrontE_DetectorNbr",2101,G__TSharcDataDict_162_0_5, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - DetNbr", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("SetFrontE_StripNbr",1805,G__TSharcDataDict_162_0_6, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - StripNbr", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("SetFrontE_Energy",1603,G__TSharcDataDict_162_0_7, 121, -1, -1, 0, 1, 1, 1, 0, "d - 'Double_t' 0 - Energy", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("SetFrontE_Time",1384,G__TSharcDataDict_162_0_8, 121, -1, -1, 0, 1, 1, 1, 0, "d - 'Double_t' 0 - Time", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("SetBackE_DetectorNbr",1949,G__TSharcDataDict_162_0_9, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - DetNbr", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("SetBackE_StripNbr",1653,G__TSharcDataDict_162_0_10, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - StripNbr", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("SetBackE_Energy",1451,G__TSharcDataDict_162_0_11, 121, -1, -1, 0, 1, 1, 1, 0, "d - 'Double_t' 0 - Energy", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("SetBackE_Time",1232,G__TSharcDataDict_162_0_12, 121, -1, -1, 0, 1, 1, 1, 0, "d - 'Double_t' 0 - Time", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetFrontE_DetectorNbr",2089,G__TSharcDataDict_162_0_13, 114, -1, G__defined_typename("UShort_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetFrontE_StripNbr",1793,G__TSharcDataDict_162_0_14, 114, -1, G__defined_typename("UShort_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetFrontE_Energy",1591,G__TSharcDataDict_162_0_15, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetFrontE_Time",1372,G__TSharcDataDict_162_0_16, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetBackE_DetectorNbr",1937,G__TSharcDataDict_162_0_17, 114, -1, G__defined_typename("UShort_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetBackE_StripNbr",1641,G__TSharcDataDict_162_0_18, 114, -1, G__defined_typename("UShort_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetBackE_Energy",1439,G__TSharcDataDict_162_0_19, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetBackE_Time",1220,G__TSharcDataDict_162_0_20, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Class",502,G__TSharcDataDict_162_0_21, 85, G__get_linked_tagnum(&G__TSharcDataDictLN_TClass), -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (TClass* (*)())(&TSharcData::Class) ), 0);
-   G__memfunc_setup("Class_Name",982,G__TSharcDataDict_162_0_22, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TSharcData::Class_Name) ), 0);
-   G__memfunc_setup("Class_Version",1339,G__TSharcDataDict_162_0_23, 115, -1, G__defined_typename("Version_t"), 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (Version_t (*)())(&TSharcData::Class_Version) ), 0);
-   G__memfunc_setup("Dictionary",1046,G__TSharcDataDict_162_0_24, 121, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (void (*)())(&TSharcData::Dictionary) ), 0);
+   G__memfunc_setup("SetFront_DetectorNbr",2032,G__TSharcDataDict_162_0_5, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - DetNbr", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetFront_StripNbr",1736,G__TSharcDataDict_162_0_6, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - StripNbr", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetFront_Energy",1534,G__TSharcDataDict_162_0_7, 121, -1, -1, 0, 1, 1, 1, 0, "d - 'Double_t' 0 - Energy", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetFront_Time",1315,G__TSharcDataDict_162_0_8, 121, -1, -1, 0, 1, 1, 1, 0, "d - 'Double_t' 0 - Time", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetBack_DetectorNbr",1880,G__TSharcDataDict_162_0_9, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - DetNbr", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetBack_StripNbr",1584,G__TSharcDataDict_162_0_10, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - StripNbr", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetBack_Energy",1382,G__TSharcDataDict_162_0_11, 121, -1, -1, 0, 1, 1, 1, 0, "d - 'Double_t' 0 - Energy", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetBack_Time",1163,G__TSharcDataDict_162_0_12, 121, -1, -1, 0, 1, 1, 1, 0, "d - 'Double_t' 0 - Time", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetPAD_DetectorNbr",1724,G__TSharcDataDict_162_0_13, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - DetNbr", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetPAD_Energy",1226,G__TSharcDataDict_162_0_14, 121, -1, -1, 0, 1, 1, 1, 0, "d - 'Double_t' 0 - Energy", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetPAD_Time",1007,G__TSharcDataDict_162_0_15, 121, -1, -1, 0, 1, 1, 1, 0, "d - 'Double_t' 0 - Time", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetFront_DetectorNbr",2020,G__TSharcDataDict_162_0_16, 114, -1, G__defined_typename("UShort_t"), 0, 1, 1, 1, 8, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetFront_StripNbr",1724,G__TSharcDataDict_162_0_17, 114, -1, G__defined_typename("UShort_t"), 0, 1, 1, 1, 8, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetFront_Energy",1522,G__TSharcDataDict_162_0_18, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 8, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetFront_Time",1303,G__TSharcDataDict_162_0_19, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 8, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetBack_DetectorNbr",1868,G__TSharcDataDict_162_0_20, 114, -1, G__defined_typename("UShort_t"), 0, 1, 1, 1, 8, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetBack_StripNbr",1572,G__TSharcDataDict_162_0_21, 114, -1, G__defined_typename("UShort_t"), 0, 1, 1, 1, 8, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetBack_Energy",1370,G__TSharcDataDict_162_0_22, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 8, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetBack_Time",1151,G__TSharcDataDict_162_0_23, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 8, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetPAD_DetectorNbr",1712,G__TSharcDataDict_162_0_24, 114, -1, G__defined_typename("UShort_t"), 0, 1, 1, 1, 8, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetPAD_Energy",1214,G__TSharcDataDict_162_0_25, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 8, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetPAD_Time",995,G__TSharcDataDict_162_0_26, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 8, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetMultiplicityFront",2098,G__TSharcDataDict_162_0_27, 104, -1, -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetMultiplicityBack",1946,G__TSharcDataDict_162_0_28, 104, -1, -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetMultiplicityPAD",1790,G__TSharcDataDict_162_0_29, 104, -1, -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("Class",502,G__TSharcDataDict_162_0_30, 85, G__get_linked_tagnum(&G__TSharcDataDictLN_TClass), -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (TClass* (*)())(&TSharcData::Class) ), 0);
+   G__memfunc_setup("Class_Name",982,G__TSharcDataDict_162_0_31, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TSharcData::Class_Name) ), 0);
+   G__memfunc_setup("Class_Version",1339,G__TSharcDataDict_162_0_32, 115, -1, G__defined_typename("Version_t"), 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (Version_t (*)())(&TSharcData::Class_Version) ), 0);
+   G__memfunc_setup("Dictionary",1046,G__TSharcDataDict_162_0_33, 121, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (void (*)())(&TSharcData::Dictionary) ), 0);
    G__memfunc_setup("IsA",253,(G__InterfaceMethod) NULL,85, G__get_linked_tagnum(&G__TSharcDataDictLN_TClass), -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 1);
    G__memfunc_setup("ShowMembers",1132,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'TMemberInspector' - 1 - insp", (char*)NULL, (void*) NULL, 1);
    G__memfunc_setup("Streamer",835,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - b", (char*)NULL, (void*) NULL, 1);
-   G__memfunc_setup("StreamerNVirtual",1656,G__TSharcDataDict_162_0_28, 121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - b", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("DeclFileName",1145,G__TSharcDataDict_162_0_29, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TSharcData::DeclFileName) ), 0);
-   G__memfunc_setup("ImplFileLine",1178,G__TSharcDataDict_162_0_30, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&TSharcData::ImplFileLine) ), 0);
-   G__memfunc_setup("ImplFileName",1171,G__TSharcDataDict_162_0_31, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TSharcData::ImplFileName) ), 0);
-   G__memfunc_setup("DeclFileLine",1152,G__TSharcDataDict_162_0_32, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&TSharcData::DeclFileLine) ), 0);
+   G__memfunc_setup("StreamerNVirtual",1656,G__TSharcDataDict_162_0_37, 121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - b", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("DeclFileName",1145,G__TSharcDataDict_162_0_38, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TSharcData::DeclFileName) ), 0);
+   G__memfunc_setup("ImplFileLine",1178,G__TSharcDataDict_162_0_39, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&TSharcData::ImplFileLine) ), 0);
+   G__memfunc_setup("ImplFileName",1171,G__TSharcDataDict_162_0_40, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TSharcData::ImplFileName) ), 0);
+   G__memfunc_setup("DeclFileLine",1152,G__TSharcDataDict_162_0_41, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&TSharcData::DeclFileLine) ), 0);
    // automatic copy constructor
-   G__memfunc_setup("TSharcData", 959, G__TSharcDataDict_162_0_33, (int) ('i'), G__get_linked_tagnum(&G__TSharcDataDictLN_TSharcData), -1, 0, 1, 1, 1, 0, "u 'TSharcData' - 11 - -", (char*) NULL, (void*) NULL, 0);
+   G__memfunc_setup("TSharcData", 959, G__TSharcDataDict_162_0_42, (int) ('i'), G__get_linked_tagnum(&G__TSharcDataDictLN_TSharcData), -1, 0, 1, 1, 1, 0, "u 'TSharcData' - 11 - -", (char*) NULL, (void*) NULL, 0);
    // automatic destructor
-   G__memfunc_setup("~TSharcData", 1085, G__TSharcDataDict_162_0_34, (int) ('y'), -1, -1, 0, 0, 1, 1, 0, "", (char*) NULL, (void*) NULL, 1);
+   G__memfunc_setup("~TSharcData", 1085, G__TSharcDataDict_162_0_43, (int) ('y'), -1, -1, 0, 0, 1, 1, 0, "", (char*) NULL, (void*) NULL, 1);
    // automatic assignment operator
-   G__memfunc_setup("operator=", 937, G__TSharcDataDict_162_0_35, (int) ('u'), G__get_linked_tagnum(&G__TSharcDataDictLN_TSharcData), -1, 1, 1, 1, 1, 0, "u 'TSharcData' - 11 - -", (char*) NULL, (void*) NULL, 0);
+   G__memfunc_setup("operator=", 937, G__TSharcDataDict_162_0_44, (int) ('u'), G__get_linked_tagnum(&G__TSharcDataDictLN_TSharcData), -1, 1, 1, 1, 1, 0, "u 'TSharcData' - 11 - -", (char*) NULL, (void*) NULL, 0);
    G__tag_memfunc_reset();
 }
 
diff --git a/NPLib/Sharc/TSharcPhysics.cxx b/NPLib/Sharc/TSharcPhysics.cxx
new file mode 100644
index 000000000..d514b11b0
--- /dev/null
+++ b/NPLib/Sharc/TSharcPhysics.cxx
@@ -0,0 +1,911 @@
+/*****************************************************************************
+ * Copyright (C) 2009-2010   this file is part of the NPTool Project         *
+ *                                                                           *
+ * For the licensing terms see $NPTOOL/Licence/NPTool_Licence                *
+ * For the list of contributors see $NPTOOL/Licence/Contributors             *
+ *****************************************************************************/
+
+/*****************************************************************************
+ * Original Author: Adrien MATTA  contact address: matta@ipno.in2p3.fr       *
+ *                                                                           *
+ * Creation Date  : November 2012                                            *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class hold Sharc treated data                                       *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *****************************************************************************/
+#include "TSharcPhysics.h"
+using namespace Sharc_LOCAL;
+   
+//   STL
+#include <sstream>
+#include <iostream>
+#include <cmath>
+#include <stdlib.h>
+#include <limits>
+
+//   NPL
+#include "RootInput.h"
+#include "RootOutput.h"
+#include "TAsciiFile.h"
+//   ROOT
+#include "TChain.h"
+///////////////////////////////////////////////////////////////////////////
+
+ClassImp(TSharcPhysics)
+///////////////////////////////////////////////////////////////////////////
+TSharcPhysics::TSharcPhysics() 
+   { 
+      EventMultiplicity   = 0 ;
+      m_EventData         = new TSharcData ;
+      m_PreTreatedData    = new TSharcData ;
+      m_EventPhysics      = this ;
+      m_NumberOfDetector = 0 ;
+      m_MaximumStripMultiplicityAllowed = 10;
+      m_StripEnergyMatchingSigma = 0.060    ; 
+      m_StripEnergyMatchingNumberOfSigma = 3; 
+      
+    // Threshold
+      m_StripFront_E_RAW_Threshold = 0 ;
+      m_StripFront_E_Threshold = 0 ;
+      
+      m_StripBack_E_RAW_Threshold = 0 ;
+      m_StripBack_E_Threshold = 0 ;
+      
+      m_Take_E_Front=false;
+      m_Take_T_Back=true;
+   }
+      
+///////////////////////////////////////////////////////////////////////////
+void TSharcPhysics::BuildSimplePhysicalEvent()
+   { 
+     BuildPhysicalEvent();
+   }
+   
+///////////////////////////////////////////////////////////////////////////
+   
+void TSharcPhysics::BuildPhysicalEvent()
+   { 
+      PreTreat();
+
+      bool check_PAD = false ;
+
+      if( CheckEvent() == 1 )
+         {
+            vector< TVector2 > couple = Match_Front_Back() ;
+            EventMultiplicity = couple.size();
+
+            for(unsigned int i = 0 ; i < couple.size() ; ++i)
+               {
+                  check_PAD = false ;
+                  
+                  int N = m_PreTreatedData->GetFront_DetectorNbr(couple[i].X()) ;
+                  int Front = m_PreTreatedData->GetFront_StripNbr(couple[i].X()) ;
+                  int Back  = m_PreTreatedData->GetBack_StripNbr(couple[i].Y()) ;
+                  double Front_E = m_PreTreatedData->GetFront_Energy( couple[i].X() ) ;
+                  double Back_E  = m_PreTreatedData->GetBack_Energy( couple[i].Y() ) ;  
+                  double Front_T = m_PreTreatedData->GetFront_Time( couple[i].X() ) ;
+                  double Back_T  = m_PreTreatedData->GetBack_Time ( couple[i].Y() ) ;  
+
+                  DetectorNumber.push_back(N);
+                  StripFront_E.push_back(Front_E);
+                  StripFront_T.push_back(Front_T) ;
+                  StripBack_E.push_back(Back_E) ;
+                  StripBack_T.push_back(Back_T) ;
+
+                  if(m_Take_E_Front)
+                    Strip_E.push_back(Front_E) ;
+                  else
+                    Strip_E.push_back(Back_E) ;
+
+                  if(m_Take_T_Back)
+                    Strip_T.push_back(Back_T) ;
+                  else
+                    Strip_T.push_back(Front_T) ;
+
+                  Strip_Front.push_back(Front) ;
+                  Strip_Back.push_back(Back) ;
+
+                  // Search for associate PAD
+                  for(unsigned int j = 0 ; j < m_PreTreatedData-> GetMultiplicityPAD() ; ++j){
+                    if(m_PreTreatedData->GetPAD_DetectorNbr(j)==N){
+                      PAD_E.push_back( m_PreTreatedData-> GetPAD_Energy(j)) ;
+                      PAD_T.push_back( m_PreTreatedData-> GetPAD_Time(j)  ) ;
+                      check_PAD = true ;
+                    }
+                    
+                  }
+                     
+                  if(!check_PAD) 
+                     {
+                        PAD_E.push_back(-1000)   ;
+                        PAD_T.push_back(-1000)   ;
+                     }
+               }
+         }
+      return;
+   }   
+
+///////////////////////////////////////////////////////////////////////////
+void TSharcPhysics::PreTreat()
+   {
+      ClearPreTreatedData();
+   
+      //   Front
+         for(unsigned int i = 0 ; i < m_EventData->GetMultiplicityFront() ; ++i){
+           if( m_EventData->GetFront_Energy(i)>m_StripFront_E_RAW_Threshold && IsValidChannel("Front", m_EventData->GetFront_DetectorNbr(i), m_EventData->GetFront_StripNbr(i)) ){
+             double Front_E = fStrip_Front_E(m_EventData , i); 
+             if( Front_E > m_StripFront_E_Threshold ){
+                   m_PreTreatedData->SetFront_DetectorNbr( m_EventData->GetFront_DetectorNbr(i) );
+                   m_PreTreatedData->SetFront_StripNbr( m_EventData->GetFront_StripNbr(i) );
+                   m_PreTreatedData->SetFront_Time( m_EventData->GetFront_Time(i) );
+                   m_PreTreatedData->SetFront_Energy( Front_E );
+                   
+                }
+              }
+            }
+            
+         
+      //  Back
+         for(unsigned int i = 0 ; i < m_EventData->GetMultiplicityBack() ; ++i){
+           if( m_EventData->GetBack_Energy(i)>m_StripBack_E_RAW_Threshold && IsValidChannel("Back", m_EventData->GetBack_DetectorNbr(i), m_EventData->GetBack_StripNbr(i)) ){
+             double Back_E = fStrip_Back_E(m_EventData , i); 
+             if( Back_E > m_StripBack_E_Threshold ){
+                   m_PreTreatedData->SetBack_DetectorNbr( m_EventData->GetBack_DetectorNbr(i) );
+                   m_PreTreatedData->SetBack_StripNbr( m_EventData->GetBack_StripNbr(i) );
+                   m_PreTreatedData->SetBack_Time( m_EventData->GetBack_Time(i) );
+                   m_PreTreatedData->SetBack_Energy( Back_E );
+                }
+              }
+            }
+            
+      
+      //  PAD
+         for(unsigned int i = 0 ; i < m_EventData->GetMultiplicityPAD() ; ++i){
+           if( m_EventData->GetPAD_Energy(i)>m_PAD_E_RAW_Threshold && IsValidChannel("PAD", m_EventData->GetPAD_DetectorNbr(i),1) ){
+             double PAD_E = fPAD_E(m_EventData , i); 
+             if( PAD_E > m_PAD_E_Threshold ){
+                   m_PreTreatedData->SetPAD_DetectorNbr( m_EventData->GetPAD_DetectorNbr(i) );
+                   m_PreTreatedData->SetPAD_Energy( PAD_E );
+                   m_PreTreatedData->SetPAD_Time( m_EventData->GetPAD_Time(i) );
+                }
+              }
+            }
+            
+        
+
+      return;
+   }
+
+
+///////////////////////////////////////////////////////////////////////////
+int TSharcPhysics :: CheckEvent()
+   {
+      // Check the size of the different elements
+      if(         m_PreTreatedData->GetMultiplicityBack() == m_PreTreatedData->GetMultiplicityFront() )
+         return 1 ; // Regular Event
+      
+      else    
+         return -1 ; // Rejected Event
+
+   }
+
+///////////////////////////////////////////////////////////////////////////
+vector < TVector2 > TSharcPhysics :: Match_Front_Back()
+   {
+      vector < TVector2 > ArrayOfGoodCouple ;
+      
+      // Prevent code from treating very high multiplicity Event
+      // Those event are not physical anyway and that improve speed.
+      if( m_PreTreatedData->GetMultiplicityFront() > m_MaximumStripMultiplicityAllowed || m_PreTreatedData->GetMultiplicityBack() > m_MaximumStripMultiplicityAllowed )
+         return ArrayOfGoodCouple;
+      
+      for(unsigned int i = 0 ; i < m_PreTreatedData->GetMultiplicityFront(); i++) {
+        for(unsigned int j = 0 ; j < m_PreTreatedData->GetMultiplicityBack(); j++){
+          //   if same detector check energy
+          if ( m_PreTreatedData->GetFront_DetectorNbr(i) == m_PreTreatedData->GetBack_DetectorNbr(j) ){
+            //   Look if energy match
+            if( abs( (m_PreTreatedData->GetFront_Energy(i)-m_PreTreatedData->GetBack_Energy(j))/2. ) < m_StripEnergyMatchingNumberOfSigma*m_StripEnergyMatchingSigma )
+               ArrayOfGoodCouple . push_back ( TVector2(i,j) ) ;   
+         }
+       }
+     }
+   
+      //   Prevent to treat event with ambiguous matchin beetween X and Y
+      if( ArrayOfGoodCouple.size() > m_PreTreatedData->GetMultiplicityFront() ) ArrayOfGoodCouple.clear() ;
+      return ArrayOfGoodCouple;   
+   }
+   
+   
+////////////////////////////////////////////////////////////////////////////
+bool TSharcPhysics :: IsValidChannel(const string DetectorType, const int telescope , const int channel) 
+   {
+     
+           if(DetectorType == "Front")
+            return *(m_FrontChannelStatus[telescope-1].begin()+channel-1);
+         
+      else if(DetectorType == "Back")
+            return *(m_BackChannelStatus[telescope-1].begin()+channel-1);
+         
+      else if(DetectorType == "PAD")
+            return *(m_PADChannelStatus[telescope-1].begin()+channel-1);
+         
+      else return false;
+   }
+   
+///////////////////////////////////////////////////////////////////////////
+void TSharcPhysics::ReadAnalysisConfig()
+{
+   bool ReadingStatus = false;
+
+   // path to file
+   string FileName = "./configs/ConfigSharc.dat";
+
+   // open analysis config file
+   ifstream AnalysisConfigFile;
+   AnalysisConfigFile.open(FileName.c_str());
+
+   if (!AnalysisConfigFile.is_open()) {
+      cout << " No ConfigSharc.dat found: Default parameter loaded for Analayis " << FileName << endl;
+      return;
+   }
+   cout << " Loading user parameter for Analysis from ConfigSharc.dat " << endl;
+   
+   // Save it in a TAsciiFile
+   TAsciiFile* asciiConfig = RootOutput::getInstance()->GetAsciiFileAnalysisConfig();
+   asciiConfig->AppendLine("%%% ConfigSharc.dat %%%");
+   asciiConfig->Append(FileName.c_str());
+   asciiConfig->AppendLine("");
+   // read analysis config file
+   string LineBuffer,DataBuffer,whatToDo;
+   while (!AnalysisConfigFile.eof()) {
+      // Pick-up next line
+      getline(AnalysisConfigFile, LineBuffer);
+
+      // search for "header"
+      if (LineBuffer.compare(0, 11, "ConfigSharc") == 0) ReadingStatus = true;
+
+      // loop on tokens and data
+      while (ReadingStatus ) {
+
+          whatToDo="";
+          AnalysisConfigFile >> whatToDo;
+         
+         // Search for comment symbol (%)
+         if (whatToDo.compare(0, 1, "%") == 0) {
+            AnalysisConfigFile.ignore(numeric_limits<streamsize>::max(), '\n' );
+         }
+         
+           else if (whatToDo=="MAX_STRIP_MULTIPLICITY") { 
+            AnalysisConfigFile >> DataBuffer;
+            m_MaximumStripMultiplicityAllowed = atoi(DataBuffer.c_str() );
+            cout << "MAXIMUN STRIP MULTIPLICITY " << m_MaximumStripMultiplicityAllowed << endl;
+         }
+         
+          else if (whatToDo=="STRIP_ENERGY_MATCHING_SIGMA") {
+            AnalysisConfigFile >> DataBuffer;
+            m_StripEnergyMatchingSigma = atof(DataBuffer.c_str() );
+            cout << "STRIP ENERGY MATCHING SIGMA " << m_StripEnergyMatchingSigma <<endl;
+         }
+         
+         else if (whatToDo=="STRIP_ENERGY_MATCHING_NUMBER_OF_SIGMA") {
+            AnalysisConfigFile >> DataBuffer;
+            m_StripEnergyMatchingNumberOfSigma = atoi(DataBuffer.c_str() );
+            cout << "STRIP ENERGY MATCHING NUMBER OF SIGMA " << m_StripEnergyMatchingNumberOfSigma << endl;
+         }
+         
+         else if (whatToDo== "DISABLE_ALL") {
+               AnalysisConfigFile >> DataBuffer;
+               cout << whatToDo << "  " << DataBuffer << endl;
+               int Detector = atoi(DataBuffer.substr(2,1).c_str());
+               vector< bool > ChannelStatus;
+               ChannelStatus.resize(24,false);
+               m_FrontChannelStatus[Detector-1] = ChannelStatus;
+               ChannelStatus.resize(48,false);
+               m_BackChannelStatus[Detector-1] = ChannelStatus;
+               ChannelStatus.resize(1,false);
+               m_PADChannelStatus[Detector-1] = ChannelStatus;
+            }
+            
+        else if (whatToDo == "DISABLE_CHANNEL") {
+           AnalysisConfigFile >> DataBuffer;
+           cout << whatToDo << "  " << DataBuffer << endl;
+           int Detector = atoi(DataBuffer.substr(2,1).c_str());
+           int channel = -1;
+           if (DataBuffer.compare(3,4,"STRF") == 0) {
+              channel = atoi(DataBuffer.substr(7).c_str());
+              *(m_FrontChannelStatus[Detector-1].begin()+channel-1) = false;
+           }
+           
+           else if (DataBuffer.compare(3,4,"STRB") == 0) {
+              channel = atoi(DataBuffer.substr(7).c_str());
+              *(m_BackChannelStatus[Detector-1].begin()+channel-1) = false;
+           }
+           
+           else if (DataBuffer.compare(3,3,"PAD") == 0) {
+              channel = atoi(DataBuffer.substr(6).c_str());
+              *(m_PADChannelStatus[Detector-1].begin()+channel-1) = false;
+           }
+           
+           else cout << "Warning: detector type for Sharc unknown!" << endl;
+       
+        } 
+   
+        else if (whatToDo=="TAKE_E_FRONT") {
+           m_Take_E_Front = true;
+           cout << whatToDo << endl;
+        } 
+        
+        else if (whatToDo=="TAKE_E_BACK") {
+           m_Take_E_Front = false;
+           cout << whatToDo << endl;
+        }
+        
+        else if (whatToDo=="TAKE_T_FRONT") {
+           m_Take_T_Back = false;
+           cout << whatToDo << endl;
+        }
+        
+        else if (whatToDo=="TAKE_T_BACK") {
+           m_Take_T_Back = true;
+           cout << whatToDo << endl;
+        }
+           
+        else if (whatToDo=="STRIP_FRONT_E_RAW_THRESHOLD") {
+           AnalysisConfigFile >> DataBuffer;
+           m_StripFront_E_RAW_Threshold = atoi(DataBuffer.c_str());
+           cout << whatToDo << " " << m_StripFront_E_RAW_Threshold << endl;
+        }  
+        
+        else if (whatToDo=="STRIP_BACK_E_RAW_THRESHOLD") {
+           AnalysisConfigFile >> DataBuffer;
+           m_StripBack_E_RAW_Threshold = atoi(DataBuffer.c_str());
+           cout << whatToDo << " " << m_StripBack_E_RAW_Threshold << endl;
+        } 
+      
+        else if (whatToDo=="STRIP_FRONT_E_THRESHOLD") {
+           AnalysisConfigFile >> DataBuffer;
+           m_StripFront_E_Threshold = atoi(DataBuffer.c_str());
+           cout << whatToDo << " " << m_StripFront_E_Threshold << endl;
+        }  
+        
+        else if (whatToDo=="STRIP_BACK_THRESHOLD") {
+           AnalysisConfigFile >> DataBuffer;
+           m_StripBack_E_Threshold = atoi(DataBuffer.c_str());
+           cout << whatToDo << " " << m_StripBack_E_Threshold << endl;
+        }
+        
+        else if (whatToDo=="PAD_E_RAW_THRESHOLD") {
+           AnalysisConfigFile >> DataBuffer;
+           m_PAD_E_RAW_Threshold = atoi(DataBuffer.c_str());
+           cout << whatToDo << " " << m_PAD_E_RAW_Threshold << endl;
+        }
+        
+        else if (whatToDo=="PAD_E_THRESHOLD") {
+           AnalysisConfigFile >> DataBuffer;
+           m_PAD_E_Threshold = atoi(DataBuffer.c_str());
+           cout << whatToDo << " " << m_PAD_E_Threshold << endl;
+        }
+   
+       else {
+          ReadingStatus = false;
+       }
+       
+      }
+   }
+
+}   
+
+
+///////////////////////////////////////////////////////////////////////////
+void TSharcPhysics::Clear()
+   {
+      EventMultiplicity = 0;
+             
+      //   Provide a Classification of Event
+      EventType.clear() ;
+       
+      // Detector
+      DetectorNumber.clear() ;
+
+      //   DSSD
+      Strip_E.clear() ;
+      Strip_T.clear() ;
+      StripFront_E.clear() ;
+      StripFront_T.clear();
+      StripBack_E.clear() ;
+      StripBack_T.clear() ;
+      Strip_Front.clear() ;
+      Strip_Back.clear() ;
+
+      // PAD
+      PAD_E.clear() ;
+      PAD_T.clear() ;
+   }
+///////////////////////////////////////////////////////////////////////////
+
+////   Innherited from VDetector Class   ////            
+            
+///////////////////////////////////////////////////////////////////////////
+void TSharcPhysics::ReadConfiguration(string Path)  
+{
+  ifstream ConfigFile           ;
+  ConfigFile.open(Path.c_str()) ;
+  string LineBuffer             ;
+  string DataBuffer             ;
+  
+  double R,Phi,Z;
+  TVector3 Pos;
+  bool check_R   = false ;
+  bool check_Phi = false ;
+  bool check_Z   = false ;
+  
+  bool ReadingStatusQQQ = false ;
+  bool ReadingStatusBOX = false ;
+  bool ReadingStatus    = false ;
+  while (!ConfigFile.eof()){
+    
+    getline(ConfigFile, LineBuffer);
+    // cout << LineBuffer << endl;
+    if (LineBuffer.compare(0, 5, "Sharc") == 0)
+      ReadingStatus = true;
+    
+    while (ReadingStatus && !ConfigFile.eof()) {
+      ConfigFile >> DataBuffer ;
+      //   Comment Line
+      if (DataBuffer.compare(0, 1, "%") == 0) {   ConfigFile.ignore ( std::numeric_limits<std::streamsize>::max(), '\n' );}
+      
+      //   CD case
+      if (DataBuffer=="SharcQQQ"){
+        cout << "///" << endl           ;
+        cout << "QQQ Quadrant found: " << endl   ;
+        ReadingStatusQQQ = true ;
+      }
+      
+      //  Box case
+      else if (DataBuffer=="SharcBOX"){
+        cout << "///" << endl           ;
+        cout << "Box Detector found: " << endl   ;
+        ReadingStatusBOX = true ;
+      }
+      
+      //   Reading Block
+      while(ReadingStatusQQQ){
+        // Pickup Next Word
+        ConfigFile >> DataBuffer ;
+        
+        //   Comment Line
+        if (DataBuffer.compare(0, 1, "%") == 0) {   ConfigFile.ignore ( std::numeric_limits<std::streamsize>::max(), '\n' );}
+        
+        //Position method
+        else if (DataBuffer == "Z=") {
+          check_Z = true;
+          ConfigFile >> DataBuffer ;
+          Z= atof(DataBuffer.c_str());
+          cout << "  Z= " << Z << "mm" << endl;
+        }
+        
+        else if (DataBuffer == "R=") {
+          check_R = true;
+          ConfigFile >> DataBuffer ;
+          R= atof(DataBuffer.c_str());
+          cout << "  R= " << R << "mm" << endl;
+        }
+        
+        else if (DataBuffer == "Phi=") {
+          check_Phi = true;
+          ConfigFile >> DataBuffer ;
+          Phi= atof(DataBuffer.c_str());
+          cout << "  Phi= " << Phi << "deg" << endl;
+        }
+        
+        else if (DataBuffer == "ThicknessDector=") {
+          /*ignore that*/
+        }
+        
+        ///////////////////////////////////////////////////
+        //   If no Detector Token and no comment, toggle out
+        else{
+          ReadingStatusQQQ = false;
+          cout << "Error: Wrong Token Sequence: Getting out " << DataBuffer << endl ;
+          exit(1);
+        }
+        
+        /////////////////////////////////////////////////
+        //   If All necessary information there, toggle out
+        
+        if (check_R && check_Phi && check_Z){
+          
+          ReadingStatusQQQ = false;
+          AddQQQDetector(R,Phi,Z);
+          //   Reinitialisation of Check Boolean
+          check_R   = false ;
+          check_Phi = false ;
+        }
+        
+      }
+      
+      while(ReadingStatusBOX){
+        // Pickup Next Word
+        ConfigFile >> DataBuffer ;
+        
+        //   Comment Line
+        if (DataBuffer.compare(0, 1, "%") == 0) {   ConfigFile.ignore ( std::numeric_limits<std::streamsize>::max(), '\n' );}
+        
+        //Position method
+        else if (DataBuffer == "Z=") {
+          check_Z = true;
+          ConfigFile >> DataBuffer ;
+          Z= atof(DataBuffer.c_str());
+          cout << "  Z= " << Z << "mm" << endl;
+        }
+        
+        else if (DataBuffer == "ThicknessDector1=") {
+          /*ignore this */
+        }
+        
+        else if (DataBuffer == "ThicknessDector2=") {
+          /*ignore this */
+        }
+        
+        else if (DataBuffer == "ThicknessDector3=") {
+          /*ignore this */
+        }
+        
+        else if (DataBuffer == "ThicknessDector4=") {
+          /*ignore this */
+        }
+        
+        else if (DataBuffer == "ThicknessPAD1=") {
+          /*ignore this */
+        }
+        
+        else if (DataBuffer == "ThicknessPAD2=") {
+          /*ignore this */
+        }
+        
+        else if (DataBuffer == "ThicknessPAD3=") {
+          /*ignore this */
+        }
+        
+        else if (DataBuffer == "ThicknessPAD4=") {
+          /*ignore this */
+        }
+        
+        ///////////////////////////////////////////////////
+        //   If no Detector Token and no comment, toggle out
+        else{
+          ReadingStatusBOX = false;
+          cout << "Error: Wrong Token Sequence: Getting out " << DataBuffer << endl ;
+          exit(1);
+        }
+        
+        /////////////////////////////////////////////////
+        //   If All necessary information there, toggle out
+        
+        if (check_Z){
+          ReadingStatusBOX = false;
+          AddBoxDetector(Z);
+          //   Reinitialisation of Check Boolean
+          check_R = false ;
+          check_Phi = false ;
+          check_Z = false ;
+          
+        }
+      }
+    }
+  }
+  
+   InitializeStandardParameter();        
+   ReadAnalysisConfig();
+}
+
+///////////////////////////////////////////////////////////////////////////
+void TSharcPhysics::AddParameterToCalibrationManager()   
+   {
+      CalibrationManager* Cal = CalibrationManager::getInstance();
+      
+      for(int i = 0 ; i < m_NumberOfDetector ; ++i)
+         {
+         
+            for( int j = 0 ; j < 24 ; ++j)
+               {
+                  Cal->AddParameter("SHARC", "D"+itoa(i+1)+"_STRIP_FRONT"+itoa(j+1)+"_E","SHARC_D"+itoa(i+1)+"_STRIP_FRONT"+itoa(j+1)+"_E")   ;
+                  Cal->AddParameter("SHARC", "D"+itoa(i+1)+"_STRIP_FRONT"+itoa(j+1)+"_T","SHARC_D"+itoa(i+1)+"_STRIP_FRONT"+itoa(j+1)+"_T")   ;
+               }
+               
+             for( int j = 0 ; j < 48 ; ++j)
+               {
+                  Cal->AddParameter("SHARC", "D"+itoa(i+1)+"_STRIP_BACK"+itoa(j+1)+"_E","SHARC_D"+itoa(i+1)+"_STRIP_BACK"+itoa(j+1)+"_E")   ;
+                  Cal->AddParameter("SHARC", "D"+itoa(i+1)+"_STRIP_BACK"+itoa(j+1)+"_T","SHARC_D"+itoa(i+1)+"_STRIP_BACK"+itoa(j+1)+"_T")   ;  
+               }
+      
+            for( int j = 0 ; j < 1 ; ++j)
+               {
+                  Cal->AddParameter("SHARC", "D"+itoa(i+1)+"_PAD"+itoa(j+1)+"_E","SHARC_D"+itoa(i+1)+"_PAD_E")   ;
+                  Cal->AddParameter("SHARC", "D"+itoa(i+1)+"_PAD"+itoa(j+1)+"_T","SHARC_D"+itoa(i+1)+"_PAD_T")   ;
+               }
+         }
+         
+      return;
+   
+   }
+
+///////////////////////////////////////////////////////////////////////////
+void TSharcPhysics::InitializeRootInputRaw() 
+   {
+      TChain* inputChain = RootInput::getInstance()->GetChain()   ;
+      inputChain->SetBranchStatus( "Sharc" , true )               ;
+      inputChain->SetBranchStatus( "fSharc_*" , true )               ;
+      inputChain->SetBranchAddress( "Sharc" , &m_EventData )      ;
+   }
+   
+///////////////////////////////////////////////////////////////////////////
+void TSharcPhysics::InitializeRootInputPhysics() 
+   {
+      TChain* inputChain = RootInput::getInstance()->GetChain();
+      inputChain->SetBranchStatus( "EventMultiplicity" , true );      
+      inputChain->SetBranchStatus( "EventType " , true );
+      inputChain->SetBranchStatus( "DetectorNumber " , true );
+      inputChain->SetBranchStatus( "Strip_E " , true );
+      inputChain->SetBranchStatus( "Strip_T " , true );
+      inputChain->SetBranchStatus( "StripFront_E " , true );
+      inputChain->SetBranchStatus( "StripBack_T " , true );
+      inputChain->SetBranchStatus( "StripFront_E " , true );
+      inputChain->SetBranchStatus( "StripBack_T " , true );
+      inputChain->SetBranchStatus( "Strip_Front " , true );
+      inputChain->SetBranchStatus( "Strip_Back " , true );
+      inputChain->SetBranchStatus( "PAD_E " , true );
+      inputChain->SetBranchStatus( "PAD_T " , true );
+   }
+
+///////////////////////////////////////////////////////////////////////////
+void TSharcPhysics::InitializeRootOutput()    
+   {
+      TTree* outputTree = RootOutput::getInstance()->GetTree();
+      outputTree->Branch( "Sharc" , "TSharcPhysics" , &m_EventPhysics );
+   }
+
+
+/////   Specific to SharcArray   ////
+
+void TSharcPhysics::AddBoxDetector(double Z)
+   {
+      double BOX_Wafer_Width  = 52.20;
+      double BOX_Wafer_Length = 76.20;
+      int    BOX_Wafer_Front_NumberOfStrip = 24 ;
+      int    BOX_Wafer_Back_NumberOfStrip = 48 ;
+      
+      double StripPitchFront = BOX_Wafer_Length/BOX_Wafer_Front_NumberOfStrip ; //mm
+      double StripPitchBack  = BOX_Wafer_Width/BOX_Wafer_Back_NumberOfStrip ; //mm
+      
+      TVector3 U; TVector3 V;TVector3 Strip_1_1;
+      for(int i = 0 ; i < 4 ; i++){
+        m_NumberOfDetector++;
+        if(Z<0){// Up Stream
+          
+             if(i==0) {U=TVector3(1,0,0);V=TVector3(0,0,1);  Strip_1_1=TVector3(-36.,42.5,-56.)   ;}
+        else if(i==1) {U=TVector3(0,1,0);V=TVector3(0,0,1);  Strip_1_1=TVector3(-42.5,-36.,-56.)  ;}
+        else if(i==2) {U=TVector3(-1,0,0);V=TVector3(0,0,1); Strip_1_1=TVector3(36.,-42.5,-56.)   ;}
+        else if(i==3) {U=TVector3(0,-1,0);V=TVector3(0,0,1); Strip_1_1=TVector3(42.5,36.,-56.)    ;}
+        }
+        
+        if(Z>0){//Down Stream
+             if(i==0) {U=TVector3(-1,0,0);V=TVector3(0,0,-1); Strip_1_1=TVector3(36.,40.5,60.)   ;}
+        else if(i==1) {U=TVector3(0,-1,0);V=TVector3(0,0,-1); Strip_1_1=TVector3(-40.5,36.,60.)  ;}
+        else if(i==2) {U=TVector3(1,0,0);V=TVector3(0,0,-1);  Strip_1_1=TVector3(-36.,-40.5,60.)  ;}
+        else if(i==3) {U=TVector3(0,1,0);V=TVector3(0,0,-1);  Strip_1_1=TVector3(40.5,-36.,60.)   ;}
+        }
+      
+        //   Buffer object to fill Position Array
+        vector<double> lineX ; vector<double> lineY ; vector<double> lineZ ;
+
+        vector< vector< double > >   OneBoxStripPositionX   ;
+        vector< vector< double > >   OneBoxStripPositionY   ;
+        vector< vector< double > >   OneBoxStripPositionZ   ;
+      
+        TVector3 StripCenter = Strip_1_1;
+        for(int f = 0 ; f < BOX_Wafer_Front_NumberOfStrip ; f++){
+          lineX.clear()   ;
+          lineY.clear()   ;
+          lineZ.clear()   ;
+
+          for(int b = 0 ; b < BOX_Wafer_Back_NumberOfStrip ; b++){
+            StripCenter = Strip_1_1 + ( StripPitchFront*f*U + StripPitchBack*b*V  );
+
+            lineX.push_back( StripCenter.X() );
+            lineY.push_back( StripCenter.Y() );
+            lineZ.push_back( StripCenter.Z() );   
+                     //   cout << "D" << m_NumberOfDetector << " F"<<f << " B" <<b<< "("<< StripCenter.X() << ";"<<StripCenter.Y()<< ";"<<StripCenter.Z()<<")"<<endl;
+          }
+          
+          OneBoxStripPositionX.push_back(lineX);
+          OneBoxStripPositionY.push_back(lineY);
+          OneBoxStripPositionZ.push_back(lineZ);
+       }
+        m_StripPositionX.push_back( OneBoxStripPositionX ) ;
+        m_StripPositionY.push_back( OneBoxStripPositionY ) ;
+        m_StripPositionZ.push_back( OneBoxStripPositionZ ) ;   
+      }
+   }
+   
+void TSharcPhysics::AddQQQDetector( double R,double Phi,double Z){
+      
+      double QQQ_R_Min = 9.;
+      double QQQ_R_Max = 41.0;
+      
+      double QQQ_Phi_Min = 2.0*M_PI/180.  ;
+      double QQQ_Phi_Max = 83.6*M_PI/180. ;
+      Phi= Phi*M_PI/180.;
+      Z= -63.5;
+      
+      int    QQQ_Radial_NumberOfStrip = 16 ;
+      int    QQQ_Sector_NumberOfStrip = 24 ;
+      
+      double StripPitchSector = (QQQ_Phi_Max-QQQ_Phi_Min)/QQQ_Sector_NumberOfStrip ; //radial strip spacing in rad
+      double StripPitchRadial = (QQQ_R_Max-QQQ_R_Min)/QQQ_Radial_NumberOfStrip  ; // ring strip spacing in mm
+      
+      TVector3 Strip_1_1;
+
+        m_NumberOfDetector++;
+        Strip_1_1=TVector3(0,0,Z);
+   
+        //   Buffer object to fill Position Array
+        vector<double> lineX ; vector<double> lineY ; vector<double> lineZ ;
+
+        vector< vector< double > >   OneQQQStripPositionX   ;
+        vector< vector< double > >   OneQQQStripPositionY   ;
+        vector< vector< double > >   OneQQQStripPositionZ   ;
+      
+        TVector3 StripCenter = Strip_1_1;
+        for(int f = 0 ; f < QQQ_Radial_NumberOfStrip ; f++){
+          lineX.clear()   ;
+          lineY.clear()   ;
+          lineZ.clear()   ;
+
+          for(int b = 0 ; b < QQQ_Sector_NumberOfStrip ; b++){
+            StripCenter = Strip_1_1;
+            StripCenter.SetY(QQQ_R_Max-StripPitchRadial*f);
+            StripCenter.SetZ(Z);
+            StripCenter.RotateZ(Phi+QQQ_Phi_Min+b*StripPitchSector);
+            lineX.push_back( StripCenter.X() );
+            lineY.push_back( StripCenter.Y() );
+            lineZ.push_back( StripCenter.Z() );   
+          }
+          
+          OneQQQStripPositionX.push_back(lineX);
+          OneQQQStripPositionY.push_back(lineY);
+          OneQQQStripPositionZ.push_back(lineZ);
+       }
+        m_StripPositionX.push_back( OneQQQStripPositionX ) ;
+        m_StripPositionY.push_back( OneQQQStripPositionY ) ;
+        m_StripPositionZ.push_back( OneQQQStripPositionZ ) ;   
+
+return;
+}
+
+TVector3 TSharcPhysics::GetDetectorNormal( const int i) const 
+   {
+    /*  TVector3 U =    TVector3 ( GetStripPositionX( DetectorNumber[i] , 24 , 1 ) ,
+                                 GetStripPositionY( DetectorNumber[i] , 24 , 1 ) ,
+                                 GetStripPositionZ( DetectorNumber[i] , 24 , 1 ) )
+                           
+                     -TVector3 ( GetStripPositionX( DetectorNumber[i] , 1 , 1 ) ,
+                                 GetStripPositionY( DetectorNumber[i] , 1 , 1 ) ,
+                                 GetStripPositionZ( DetectorNumber[i] , 1 , 1 ) );
+                        
+      TVector3 V =    TVector3 ( GetStripPositionX( DetectorNumber[i] , 24 , 48 ) ,
+                                 GetStripPositionY( DetectorNumber[i] , 24 , 48 ) ,
+                                 GetStripPositionZ( DetectorNumber[i] , 24 , 48 ) )
+                           
+                     -TVector3 ( GetStripPositionX( DetectorNumber[i] , 24 , 1 ) ,
+                                 GetStripPositionY( DetectorNumber[i] , 24 , 1 ) ,
+                                 GetStripPositionZ( DetectorNumber[i] , 24 , 1 ) );
+                           
+      TVector3 Normal = U.Cross(V);
+      
+      return(Normal.Unit()) ;*/
+   }   
+
+TVector3 TSharcPhysics::GetPositionOfInteraction(const int i) const 
+   {
+      TVector3 Position = TVector3 (   GetStripPositionX( DetectorNumber[i] , Strip_Front[i] , Strip_Back[i] )    ,
+                                       GetStripPositionY( DetectorNumber[i] , Strip_Front[i] , Strip_Back[i] )    ,
+                                       GetStripPositionZ( DetectorNumber[i] , Strip_Front[i] , Strip_Back[i] )    ) ;
+      
+      return(Position) ;   
+   
+   }
+ 
+void TSharcPhysics::InitializeStandardParameter()
+   {
+      //   Enable all channel
+      vector< bool > ChannelStatus;
+      m_FrontChannelStatus.clear()    ;
+      m_BackChannelStatus.clear()    ;
+      m_PADChannelStatus.clear() ;
+    
+      ChannelStatus.resize(24,true);
+      for(int i = 0 ; i < m_NumberOfDetector ; ++i)      
+         {
+            m_FrontChannelStatus[i] = ChannelStatus;
+         }
+      
+      ChannelStatus.resize(48,true);
+      for(int i = 0 ; i < m_NumberOfDetector ; ++i)      
+         {
+            m_BackChannelStatus[i] = ChannelStatus;
+         }
+      
+      ChannelStatus.resize(1,true);
+      for(int i = 0 ; i < m_NumberOfDetector ; ++i)      
+         {
+            m_PADChannelStatus[i] = ChannelStatus;
+           
+         }
+
+      m_MaximumStripMultiplicityAllowed = m_NumberOfDetector   ;
+      
+      return;
+   }   
+            
+
+///////////////////////////////////////////////////////////////////////////
+namespace Sharc_LOCAL
+   {
+      
+      //   tranform an integer to a string
+      string itoa(unsigned int value)
+      {
+         char buffer [33];
+         sprintf(buffer,"%d",value);
+         return buffer;
+      }
+
+      //   DSSD
+      //   Front
+      double fStrip_Front_E(const TSharcData* m_EventData , const int i)
+         {
+            return CalibrationManager::getInstance()->ApplyCalibration(   "SHARC/D" + itoa( m_EventData->GetFront_DetectorNbr(i) ) + "_STRIP_FRONT" + itoa( m_EventData->GetFront_StripNbr(i) ) + "_E",   
+                                                                                                      m_EventData->GetFront_Energy(i) );
+         }
+         
+      double fStrip_Front_T(const TSharcData* m_EventData , const int i)
+         {
+            return CalibrationManager::getInstance()->ApplyCalibration(   "SHARC/D" + itoa( m_EventData->GetFront_DetectorNbr(i) ) + "_STRIP_FRONT" + itoa( m_EventData->GetFront_StripNbr(i) ) +"_T",   
+                                                                                                      m_EventData->GetFront_Time(i) );
+         }
+      
+      //   Back 
+      double fStrip_Back_E(const TSharcData* m_EventData , const int i)
+         {
+            return CalibrationManager::getInstance()->ApplyCalibration(   "SHARC/D" + itoa( m_EventData->GetBack_DetectorNbr(i) ) + "_STRIP_BACK" + itoa( m_EventData->GetBack_StripNbr(i) ) +"_E",   
+                                                                                                      m_EventData->GetBack_Energy(i) );
+         }
+         
+      double fStrip_Back_T(const TSharcData* m_EventData , const int i)
+         {
+            return CalibrationManager::getInstance()->ApplyCalibration(   "SHARC/D" + itoa( m_EventData->GetBack_DetectorNbr(i) ) + "_STRIP_BACK" + itoa( m_EventData->GetBack_StripNbr(i) ) +"_T",   
+                                                                                                      m_EventData->GetFront_Time(i) );
+         }
+         
+         
+      //   PAD
+      double fPAD_E(const TSharcData* m_EventData , const int i)
+         {
+            return CalibrationManager::getInstance()->ApplyCalibration(   "SHARC/D" + itoa( m_EventData->GetPAD_DetectorNbr(i) ) + "_PAD" +"_E",   
+                                                                                                      m_EventData->GetPAD_Energy(i) );
+         }
+         
+      double fPAD_T(const TSharcData* m_EventData , const int i)
+         {
+            return CalibrationManager::getInstance()->ApplyCalibration(   "SHARC/D" + itoa( m_EventData->GetPAD_DetectorNbr(i) ) + "_PAD" +"_T",   
+                                                                                                      m_EventData->GetPAD_Time(i) );
+         }
+
+   }
+
diff --git a/NPLib/Sharc/TSharcPhysics.h b/NPLib/Sharc/TSharcPhysics.h
new file mode 100644
index 000000000..28e539224
--- /dev/null
+++ b/NPLib/Sharc/TSharcPhysics.h
@@ -0,0 +1,219 @@
+#ifndef TSHARCPHYSICS_H
+#define TSHARCPHYSICS_H
+/*****************************************************************************
+ * Copyright (C) 2009-2010   this file is part of the NPTool Project         *
+ *                 *
+ * For the licensing terms see $NPTOOL/Licence/NPTool_Licence                *
+ * For the list of contributors see $NPTOOL/Licence/Contributors             *
+ *****************************************************************************/
+
+/*****************************************************************************
+ * Original Author: Adrien MATTA  contact address: matta@ipno.in2p3.fr       *
+ *                 *
+ * Creation Date  : febuary 2009                *
+ * Last update    :                             *
+ *---------------------------------------------------------------------------*
+ * Decription:     *
+ *  This class hold Sharc treated data          *
+ *                 *
+ *---------------------------------------------------------------------------*
+ * Comment:        *
+ *                 *
+ *                 *
+ *                 *
+ *****************************************************************************/
+// STL
+#include <vector>
+
+// NPL
+#include "TSharcData.h"
+#include "../include/CalibrationManager.h"
+#include "../include/VDetector.h"
+// ROOT 
+#include "TVector2.h" 
+#include "TVector3.h" 
+#include "TObject.h"
+
+using namespace std ;
+
+class TSharcPhysics : public TObject, public NPA::VDetector
+{
+   public:
+      TSharcPhysics();
+      ~TSharcPhysics() {};
+
+   public: 
+      void Clear();   
+      void Clear(const Option_t*) {};
+
+   public: 
+      vector < TVector2 > Match_Front_Back() ;
+      int  CheckEvent();
+   
+   public:
+   
+      //   Provide Physical Multiplicity
+      Int_t EventMultiplicity;
+               
+      //   Provide a Classification of Event
+      vector<int> EventType ;
+         
+      // Detector
+      vector<int> DetectorNumber ;
+      
+      //   DSSD
+      vector<double> Strip_E ;
+      vector<double> Strip_T ;
+      vector<double> StripFront_E ;
+      vector<double> StripFront_T ;
+      vector<double> StripBack_E ;
+      vector<double> StripBack_T ;
+      vector<int>    Strip_Front ;
+      vector<int>    Strip_Back ;
+
+      vector<double> PAD_E ;
+      vector<double> PAD_T ;
+   
+   public:      //   Innherited from VDetector Class
+         
+      //   Read stream at ConfigFile to pick-up parameters of detector (Position,...) using Token
+      void ReadConfiguration(string) ;
+      
+
+      //   Add Parameter to the CalibrationManger
+      void AddParameterToCalibrationManager() ;      
+
+      //   Activated associated Branches and link it to the private member DetectorData address
+      //   In this method mother Branches (Detector) AND daughter leaf (fDetector_parameter) have to be activated
+      void InitializeRootInputRaw() ;
+      
+      //   Activated associated Branches and link it to the private member DetectorPhysics address
+      //   In this method mother Branches (Detector) AND daughter leaf (parameter) have to be activated
+      void InitializeRootInputPhysics() ;
+
+      //   Create associated branches and associated private member DetectorPhysics address
+      void InitializeRootOutput() ;
+      
+      //   This method is called at each event read from the Input Tree. Aime is to build treat Raw dat in order to extract physical parameter. 
+      void BuildPhysicalEvent() ;
+      
+      //   Same as above, but only the simplest event and/or simple method are used (low multiplicity, faster algorythm but less efficient ...).
+      //   This method aimed to be used for analysis performed during experiment, when speed is requiered.
+      //   NB: This method can eventually be the same as BuildPhysicalEvent.
+      void BuildSimplePhysicalEvent() ;
+
+      // Same as above but for online analysis
+      void BuildOnlinePhysicalEvent()  {BuildPhysicalEvent();};
+
+      //   Those two method all to clear the Event Physics or Data
+      void ClearEventPhysics() {Clear();}      
+      void ClearEventData()    {m_EventData->Clear();}   
+   
+   public:      //   Specific to Sharc Array
+   
+      //   Clear The PreTeated object
+      void ClearPreTreatedData()   {m_PreTreatedData->Clear();}
+   
+      //   Remove bad channel, calibrate the data and apply threshold
+      void PreTreat();
+   
+      //   Return false if the channel is disabled by user
+         //   Frist argument is either "X","Y","SiLi","CsI"
+      bool IsValidChannel(const string DetectorType, const int telescope , const int channel);
+   
+      //   Initialize the standard parameter for analysis
+         //   ie: all channel enable, maximum multiplicity for strip = number of telescope
+      void InitializeStandardParameter();
+      
+      //   Read the user configuration file; if no file found, load standard one
+      void ReadAnalysisConfig();
+         
+      //   Add a Detector
+      void AddBoxDetector( double Z);
+      void AddQQQDetector( double R,double Phi,double Z);
+      
+      // Give and external TMustData object to TSharcPhysics. Needed for online analysis for example.
+      void SetRawDataPointer(TSharcData* rawDataPointer) {m_EventData = rawDataPointer;}
+      // Retrieve raw and pre-treated data
+      TSharcData* GetRawData()        const {return m_EventData;}
+      TSharcData* GetPreTreatedData() const {return m_PreTreatedData;}
+
+      // Use to access the strip position
+      double GetStripPositionX( const int N , const int Front , const int Back )   const{ return m_StripPositionX[N-1][Front-1][Back-1] ; }  ;
+      double GetStripPositionY( const int N , const int Front , const int Back )   const{ return m_StripPositionY[N-1][Front-1][Back-1] ; }  ;
+      double GetStripPositionZ( const int N , const int Front , const int Back )   const{ return m_StripPositionZ[N-1][Front-1][Back-1] ; }  ;
+
+      double GetNumberOfDetector() const { return m_NumberOfDetector; };
+
+      // To be called after a build Physical Event 
+      int GetEventMultiplicity() const { return EventMultiplicity; };
+      
+      TVector3 GetPositionOfInteraction(const int i) const;   
+      TVector3 GetDetectorNormal(const int i) const;
+
+      private:   //   Parameter used in the analysis
+      
+         // By default take EX and TY.
+         bool m_Take_E_Front;//!
+         bool m_Take_T_Back;//!
+      
+      
+         //   Event over this value after pre-treatment are not treated / avoid long treatment time on spurious event   
+         unsigned int m_MaximumStripMultiplicityAllowed  ;//!
+         //   Give the allowance in percent of the difference in energy between X and Y
+         double m_StripEnergyMatchingSigma  ; //!
+         double m_StripEnergyMatchingNumberOfSigma  ; //!
+         
+         //  Threshold
+         double m_StripFront_E_RAW_Threshold ;//!
+         double m_StripFront_E_Threshold ;//!
+         double m_StripBack_E_RAW_Threshold ;//!
+         double m_StripBack_E_Threshold ;//!
+         double m_PAD_E_RAW_Threshold ;//!
+         double m_PAD_E_Threshold ;//!
+         
+
+
+       private:   //   Root Input and Output tree classes
+            
+         TSharcData*         m_EventData;//!
+         TSharcData*         m_PreTreatedData;//!
+         TSharcPhysics*      m_EventPhysics;//!
+
+
+      private:   //   Map of activated channel
+         map< int, vector<bool> > m_FrontChannelStatus;//!
+         map< int, vector<bool> > m_BackChannelStatus;//! 
+         map< int, vector<bool> > m_PADChannelStatus;//!
+
+      private:   //   Spatial Position of Strip Calculated on bases of detector position
+   
+         int m_NumberOfDetector;//!
+         vector< vector < vector < double > > >   m_StripPositionX;//!
+         vector< vector < vector < double > > >   m_StripPositionY;//!
+         vector< vector < vector < double > > >   m_StripPositionZ;//!
+         
+   ClassDef(TSharcPhysics,1)  // SharcPhysics structure
+};
+
+namespace Sharc_LOCAL
+   {
+      //   tranform an integer to a string
+      string itoa(unsigned int value);
+      //   DSSD
+      //   Front
+      double fStrip_Front_E(const TSharcData* Data, const int i);
+      double fStrip_Front_T(const TSharcData* Data, const int i);
+      
+      //   Back   
+      double fStrip_Back_E(const TSharcData* Data, const int i);
+      double fStrip_Back_T(const TSharcData* Data, const int i);
+      
+      //   PAD   
+      double fPAD_E(const TSharcData* Data, const int i);
+      double fPAD_T(const TSharcData* Data, const int i);
+   
+   }
+
+
+#endif
diff --git a/NPLib/Sharc/TSharcPhysicsDict.cxx b/NPLib/Sharc/TSharcPhysicsDict.cxx
new file mode 100644
index 000000000..ac756582b
--- /dev/null
+++ b/NPLib/Sharc/TSharcPhysicsDict.cxx
@@ -0,0 +1,1560 @@
+//
+// File generated by rootcint at Tue Dec  4 10:29:48 2012
+
+// Do NOT change. Changes will be lost next time file is generated
+//
+
+#define R__DICTIONARY_FILENAME TSharcPhysicsDict
+#include "RConfig.h" //rootcint 4834
+#if !defined(R__ACCESS_IN_SYMBOL)
+//Break the privacy of classes -- Disabled for the moment
+#define private public
+#define protected public
+#endif
+
+// Since CINT ignores the std namespace, we need to do so in this file.
+namespace std {} using namespace std;
+#include "TSharcPhysicsDict.h"
+
+#include "TCollectionProxyInfo.h"
+#include "TClass.h"
+#include "TBuffer.h"
+#include "TMemberInspector.h"
+#include "TError.h"
+
+#ifndef G__ROOT
+#define G__ROOT
+#endif
+
+#include "RtypesImp.h"
+#include "TIsAProxy.h"
+#include "TFileMergeInfo.h"
+
+// START OF SHADOWS
+
+namespace ROOT {
+   namespace Shadow {
+   } // of namespace Shadow
+} // of namespace ROOT
+// END OF SHADOWS
+
+namespace ROOT {
+   void TSharcPhysics_ShowMembers(void *obj, TMemberInspector &R__insp);
+   static void *new_TSharcPhysics(void *p = 0);
+   static void *newArray_TSharcPhysics(Long_t size, void *p);
+   static void delete_TSharcPhysics(void *p);
+   static void deleteArray_TSharcPhysics(void *p);
+   static void destruct_TSharcPhysics(void *p);
+   static void streamer_TSharcPhysics(TBuffer &buf, void *obj);
+
+   // Function generating the singleton type initializer
+   static TGenericClassInfo *GenerateInitInstanceLocal(const ::TSharcPhysics*)
+   {
+      ::TSharcPhysics *ptr = 0;
+      static ::TVirtualIsAProxy* isa_proxy = new ::TInstrumentedIsAProxy< ::TSharcPhysics >(0);
+      static ::ROOT::TGenericClassInfo 
+         instance("TSharcPhysics", ::TSharcPhysics::Class_Version(), "./TSharcPhysics.h", 40,
+                  typeid(::TSharcPhysics), DefineBehavior(ptr, ptr),
+                  &::TSharcPhysics::Dictionary, isa_proxy, 0,
+                  sizeof(::TSharcPhysics) );
+      instance.SetNew(&new_TSharcPhysics);
+      instance.SetNewArray(&newArray_TSharcPhysics);
+      instance.SetDelete(&delete_TSharcPhysics);
+      instance.SetDeleteArray(&deleteArray_TSharcPhysics);
+      instance.SetDestructor(&destruct_TSharcPhysics);
+      instance.SetStreamerFunc(&streamer_TSharcPhysics);
+      return &instance;
+   }
+   TGenericClassInfo *GenerateInitInstance(const ::TSharcPhysics*)
+   {
+      return GenerateInitInstanceLocal((::TSharcPhysics*)0);
+   }
+   // Static variable to force the class initialization
+   static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const ::TSharcPhysics*)0x0); R__UseDummy(_R__UNIQUE_(Init));
+} // end of namespace ROOT
+
+//______________________________________________________________________________
+TClass *TSharcPhysics::fgIsA = 0;  // static to hold class pointer
+
+//______________________________________________________________________________
+const char *TSharcPhysics::Class_Name()
+{
+   return "TSharcPhysics";
+}
+
+//______________________________________________________________________________
+const char *TSharcPhysics::ImplFileName()
+{
+   return ::ROOT::GenerateInitInstanceLocal((const ::TSharcPhysics*)0x0)->GetImplFileName();
+}
+
+//______________________________________________________________________________
+int TSharcPhysics::ImplFileLine()
+{
+   return ::ROOT::GenerateInitInstanceLocal((const ::TSharcPhysics*)0x0)->GetImplFileLine();
+}
+
+//______________________________________________________________________________
+void TSharcPhysics::Dictionary()
+{
+   fgIsA = ::ROOT::GenerateInitInstanceLocal((const ::TSharcPhysics*)0x0)->GetClass();
+}
+
+//______________________________________________________________________________
+TClass *TSharcPhysics::Class()
+{
+   if (!fgIsA) fgIsA = ::ROOT::GenerateInitInstanceLocal((const ::TSharcPhysics*)0x0)->GetClass();
+   return fgIsA;
+}
+
+//______________________________________________________________________________
+void TSharcPhysics::Streamer(TBuffer &R__b)
+{
+   // Stream an object of class TSharcPhysics.
+
+   UInt_t R__s, R__c;
+   if (R__b.IsReading()) {
+      Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v) { }
+      TObject::Streamer(R__b);
+      R__b >> EventMultiplicity;
+      {
+         vector<int> &R__stl =  EventType;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<int> &R__stl =  DetectorNumber;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<double> &R__stl =  Strip_E;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            double R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<double> &R__stl =  Strip_T;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            double R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<double> &R__stl =  StripFront_E;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            double R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<double> &R__stl =  StripFront_T;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            double R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<double> &R__stl =  StripBack_E;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            double R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<double> &R__stl =  StripBack_T;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            double R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<int> &R__stl =  Strip_Front;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<int> &R__stl =  Strip_Back;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<double> &R__stl =  PAD_E;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            double R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<double> &R__stl =  PAD_T;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            double R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      R__b.CheckByteCount(R__s, R__c, TSharcPhysics::IsA());
+   } else {
+      R__c = R__b.WriteVersion(TSharcPhysics::IsA(), kTRUE);
+      TObject::Streamer(R__b);
+      R__b << EventMultiplicity;
+      {
+         vector<int> &R__stl =  EventType;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<int> &R__stl =  DetectorNumber;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<double> &R__stl =  Strip_E;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<double>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<double> &R__stl =  Strip_T;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<double>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<double> &R__stl =  StripFront_E;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<double>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<double> &R__stl =  StripFront_T;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<double>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<double> &R__stl =  StripBack_E;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<double>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<double> &R__stl =  StripBack_T;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<double>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<int> &R__stl =  Strip_Front;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<int> &R__stl =  Strip_Back;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<double> &R__stl =  PAD_E;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<double>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<double> &R__stl =  PAD_T;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<double>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      R__b.SetByteCount(R__c, kTRUE);
+   }
+}
+
+//______________________________________________________________________________
+void TSharcPhysics::ShowMembers(TMemberInspector &R__insp)
+{
+      // Inspect the data members of an object of class TSharcPhysics.
+      TClass *R__cl = ::TSharcPhysics::IsA();
+      if (R__cl || R__insp.IsA()) { }
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "EventMultiplicity", &EventMultiplicity);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "EventType", (void*)&EventType);
+      R__insp.InspectMember("vector<int>", (void*)&EventType, "EventType.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "DetectorNumber", (void*)&DetectorNumber);
+      R__insp.InspectMember("vector<int>", (void*)&DetectorNumber, "DetectorNumber.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "Strip_E", (void*)&Strip_E);
+      R__insp.InspectMember("vector<double>", (void*)&Strip_E, "Strip_E.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "Strip_T", (void*)&Strip_T);
+      R__insp.InspectMember("vector<double>", (void*)&Strip_T, "Strip_T.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "StripFront_E", (void*)&StripFront_E);
+      R__insp.InspectMember("vector<double>", (void*)&StripFront_E, "StripFront_E.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "StripFront_T", (void*)&StripFront_T);
+      R__insp.InspectMember("vector<double>", (void*)&StripFront_T, "StripFront_T.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "StripBack_E", (void*)&StripBack_E);
+      R__insp.InspectMember("vector<double>", (void*)&StripBack_E, "StripBack_E.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "StripBack_T", (void*)&StripBack_T);
+      R__insp.InspectMember("vector<double>", (void*)&StripBack_T, "StripBack_T.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "Strip_Front", (void*)&Strip_Front);
+      R__insp.InspectMember("vector<int>", (void*)&Strip_Front, "Strip_Front.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "Strip_Back", (void*)&Strip_Back);
+      R__insp.InspectMember("vector<int>", (void*)&Strip_Back, "Strip_Back.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "PAD_E", (void*)&PAD_E);
+      R__insp.InspectMember("vector<double>", (void*)&PAD_E, "PAD_E.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "PAD_T", (void*)&PAD_T);
+      R__insp.InspectMember("vector<double>", (void*)&PAD_T, "PAD_T.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_Take_E_Front", &m_Take_E_Front);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_Take_T_Back", &m_Take_T_Back);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_MaximumStripMultiplicityAllowed", &m_MaximumStripMultiplicityAllowed);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_StripEnergyMatchingSigma", &m_StripEnergyMatchingSigma);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_StripEnergyMatchingNumberOfSigma", &m_StripEnergyMatchingNumberOfSigma);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_StripFront_E_RAW_Threshold", &m_StripFront_E_RAW_Threshold);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_StripFront_E_Threshold", &m_StripFront_E_Threshold);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_StripBack_E_RAW_Threshold", &m_StripBack_E_RAW_Threshold);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_StripBack_E_Threshold", &m_StripBack_E_Threshold);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_PAD_E_RAW_Threshold", &m_PAD_E_RAW_Threshold);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_PAD_E_Threshold", &m_PAD_E_Threshold);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "*m_EventData", &m_EventData);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "*m_PreTreatedData", &m_PreTreatedData);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "*m_EventPhysics", &m_EventPhysics);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_FrontChannelStatus", (void*)&m_FrontChannelStatus);
+      R__insp.InspectMember("map<int,vector<bool> >", (void*)&m_FrontChannelStatus, "m_FrontChannelStatus.", true);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_BackChannelStatus", (void*)&m_BackChannelStatus);
+      R__insp.InspectMember("map<int,vector<bool> >", (void*)&m_BackChannelStatus, "m_BackChannelStatus.", true);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_PADChannelStatus", (void*)&m_PADChannelStatus);
+      R__insp.InspectMember("map<int,vector<bool> >", (void*)&m_PADChannelStatus, "m_PADChannelStatus.", true);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_NumberOfDetector", &m_NumberOfDetector);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_StripPositionX", (void*)&m_StripPositionX);
+      R__insp.InspectMember("vector<vector<vector<double> > >", (void*)&m_StripPositionX, "m_StripPositionX.", true);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_StripPositionY", (void*)&m_StripPositionY);
+      R__insp.InspectMember("vector<vector<vector<double> > >", (void*)&m_StripPositionY, "m_StripPositionY.", true);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_StripPositionZ", (void*)&m_StripPositionZ);
+      R__insp.InspectMember("vector<vector<vector<double> > >", (void*)&m_StripPositionZ, "m_StripPositionZ.", true);
+      TObject::ShowMembers(R__insp);
+      R__insp.GenericShowMembers("NPA::VDetector", ( ::NPA::VDetector *) (this ), false);
+}
+
+namespace ROOT {
+   // Wrappers around operator new
+   static void *new_TSharcPhysics(void *p) {
+      return  p ? new(p) ::TSharcPhysics : new ::TSharcPhysics;
+   }
+   static void *newArray_TSharcPhysics(Long_t nElements, void *p) {
+      return p ? new(p) ::TSharcPhysics[nElements] : new ::TSharcPhysics[nElements];
+   }
+   // Wrapper around operator delete
+   static void delete_TSharcPhysics(void *p) {
+      delete ((::TSharcPhysics*)p);
+   }
+   static void deleteArray_TSharcPhysics(void *p) {
+      delete [] ((::TSharcPhysics*)p);
+   }
+   static void destruct_TSharcPhysics(void *p) {
+      typedef ::TSharcPhysics current_t;
+      ((current_t*)p)->~current_t();
+   }
+   // Wrapper around a custom streamer member function.
+   static void streamer_TSharcPhysics(TBuffer &buf, void *obj) {
+      ((::TSharcPhysics*)obj)->::TSharcPhysics::Streamer(buf);
+   }
+} // end of namespace ROOT for class ::TSharcPhysics
+
+namespace ROOT {
+   void vectorlEdoublegR_ShowMembers(void *obj, TMemberInspector &R__insp);
+   static void vectorlEdoublegR_Dictionary();
+   static void *new_vectorlEdoublegR(void *p = 0);
+   static void *newArray_vectorlEdoublegR(Long_t size, void *p);
+   static void delete_vectorlEdoublegR(void *p);
+   static void deleteArray_vectorlEdoublegR(void *p);
+   static void destruct_vectorlEdoublegR(void *p);
+
+   // Function generating the singleton type initializer
+   static TGenericClassInfo *GenerateInitInstanceLocal(const vector<double>*)
+   {
+      vector<double> *ptr = 0;
+      static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(typeid(vector<double>),0);
+      static ::ROOT::TGenericClassInfo 
+         instance("vector<double>", -2, "vector.dll", 0,
+                  typeid(vector<double>), DefineBehavior(ptr, ptr),
+                  0, &vectorlEdoublegR_Dictionary, isa_proxy, 0,
+                  sizeof(vector<double>) );
+      instance.SetNew(&new_vectorlEdoublegR);
+      instance.SetNewArray(&newArray_vectorlEdoublegR);
+      instance.SetDelete(&delete_vectorlEdoublegR);
+      instance.SetDeleteArray(&deleteArray_vectorlEdoublegR);
+      instance.SetDestructor(&destruct_vectorlEdoublegR);
+      instance.AdoptCollectionProxyInfo(TCollectionProxyInfo::Generate(TCollectionProxyInfo::Pushback< vector<double> >()));
+      return &instance;
+   }
+   // Static variable to force the class initialization
+   static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const vector<double>*)0x0); R__UseDummy(_R__UNIQUE_(Init));
+
+   // Dictionary for non-ClassDef classes
+   static void vectorlEdoublegR_Dictionary() {
+      ::ROOT::GenerateInitInstanceLocal((const vector<double>*)0x0)->GetClass();
+   }
+
+} // end of namespace ROOT
+
+namespace ROOT {
+   // Wrappers around operator new
+   static void *new_vectorlEdoublegR(void *p) {
+      return  p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<double> : new vector<double>;
+   }
+   static void *newArray_vectorlEdoublegR(Long_t nElements, void *p) {
+      return p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<double>[nElements] : new vector<double>[nElements];
+   }
+   // Wrapper around operator delete
+   static void delete_vectorlEdoublegR(void *p) {
+      delete ((vector<double>*)p);
+   }
+   static void deleteArray_vectorlEdoublegR(void *p) {
+      delete [] ((vector<double>*)p);
+   }
+   static void destruct_vectorlEdoublegR(void *p) {
+      typedef vector<double> current_t;
+      ((current_t*)p)->~current_t();
+   }
+} // end of namespace ROOT for class vector<double>
+
+namespace ROOT {
+   void vectorlEintgR_ShowMembers(void *obj, TMemberInspector &R__insp);
+   static void vectorlEintgR_Dictionary();
+   static void *new_vectorlEintgR(void *p = 0);
+   static void *newArray_vectorlEintgR(Long_t size, void *p);
+   static void delete_vectorlEintgR(void *p);
+   static void deleteArray_vectorlEintgR(void *p);
+   static void destruct_vectorlEintgR(void *p);
+
+   // Function generating the singleton type initializer
+   static TGenericClassInfo *GenerateInitInstanceLocal(const vector<int>*)
+   {
+      vector<int> *ptr = 0;
+      static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(typeid(vector<int>),0);
+      static ::ROOT::TGenericClassInfo 
+         instance("vector<int>", -2, "prec_stl/vector", 49,
+                  typeid(vector<int>), DefineBehavior(ptr, ptr),
+                  0, &vectorlEintgR_Dictionary, isa_proxy, 0,
+                  sizeof(vector<int>) );
+      instance.SetNew(&new_vectorlEintgR);
+      instance.SetNewArray(&newArray_vectorlEintgR);
+      instance.SetDelete(&delete_vectorlEintgR);
+      instance.SetDeleteArray(&deleteArray_vectorlEintgR);
+      instance.SetDestructor(&destruct_vectorlEintgR);
+      instance.AdoptCollectionProxyInfo(TCollectionProxyInfo::Generate(TCollectionProxyInfo::Pushback< vector<int> >()));
+      return &instance;
+   }
+   // Static variable to force the class initialization
+   static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const vector<int>*)0x0); R__UseDummy(_R__UNIQUE_(Init));
+
+   // Dictionary for non-ClassDef classes
+   static void vectorlEintgR_Dictionary() {
+      ::ROOT::GenerateInitInstanceLocal((const vector<int>*)0x0)->GetClass();
+   }
+
+} // end of namespace ROOT
+
+namespace ROOT {
+   // Wrappers around operator new
+   static void *new_vectorlEintgR(void *p) {
+      return  p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<int> : new vector<int>;
+   }
+   static void *newArray_vectorlEintgR(Long_t nElements, void *p) {
+      return p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<int>[nElements] : new vector<int>[nElements];
+   }
+   // Wrapper around operator delete
+   static void delete_vectorlEintgR(void *p) {
+      delete ((vector<int>*)p);
+   }
+   static void deleteArray_vectorlEintgR(void *p) {
+      delete [] ((vector<int>*)p);
+   }
+   static void destruct_vectorlEintgR(void *p) {
+      typedef vector<int> current_t;
+      ((current_t*)p)->~current_t();
+   }
+} // end of namespace ROOT for class vector<int>
+
+/********************************************************
+* TSharcPhysicsDict.cxx
+* CAUTION: DON'T CHANGE THIS FILE. THIS FILE IS AUTOMATICALLY GENERATED
+*          FROM HEADER FILES LISTED IN G__setup_cpp_environmentXXX().
+*          CHANGE THOSE HEADER FILES AND REGENERATE THIS FILE.
+********************************************************/
+
+#ifdef G__MEMTEST
+#undef malloc
+#undef free
+#endif
+
+#if defined(__GNUC__) && __GNUC__ >= 4 && ((__GNUC_MINOR__ == 2 && __GNUC_PATCHLEVEL__ >= 1) || (__GNUC_MINOR__ >= 3))
+#pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif
+
+extern "C" void G__cpp_reset_tagtableTSharcPhysicsDict();
+
+extern "C" void G__set_cpp_environmentTSharcPhysicsDict() {
+  G__add_compiledheader("TObject.h");
+  G__add_compiledheader("TMemberInspector.h");
+  G__add_compiledheader("TSharcPhysics.h");
+  G__cpp_reset_tagtableTSharcPhysicsDict();
+}
+#include <new>
+extern "C" int G__cpp_dllrevTSharcPhysicsDict() { return(30051515); }
+
+/*********************************************************
+* Member function Interface Method
+*********************************************************/
+
+/* TSharcPhysics */
+static int G__TSharcPhysicsDict_471_0_1(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+   TSharcPhysics* p = NULL;
+   char* gvp = (char*) G__getgvp();
+   int n = G__getaryconstruct();
+   if (n) {
+     if ((gvp == (char*)G__PVOID) || (gvp == 0)) {
+       p = new TSharcPhysics[n];
+     } else {
+       p = new((void*) gvp) TSharcPhysics[n];
+     }
+   } else {
+     if ((gvp == (char*)G__PVOID) || (gvp == 0)) {
+       p = new TSharcPhysics;
+     } else {
+       p = new((void*) gvp) TSharcPhysics;
+     }
+   }
+   result7->obj.i = (long) p;
+   result7->ref = (long) p;
+   G__set_tagnum(result7,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TSharcPhysics));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_2(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      ((TSharcPhysics*) G__getstructoffset())->Clear();
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_4(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      {
+         vector<TVector2>* pobj;
+         vector<TVector2> xobj = ((TSharcPhysics*) G__getstructoffset())->Match_Front_Back();
+         pobj = new vector<TVector2>(xobj);
+         result7->obj.i = (long) ((void*) pobj);
+         result7->ref = result7->obj.i;
+         G__store_tempobject(*result7);
+      }
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_5(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 105, (long) ((TSharcPhysics*) G__getstructoffset())->CheckEvent());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_13(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      ((TSharcPhysics*) G__getstructoffset())->BuildOnlinePhysicalEvent();
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_16(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      ((TSharcPhysics*) G__getstructoffset())->ClearPreTreatedData();
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_17(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      ((TSharcPhysics*) G__getstructoffset())->PreTreat();
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_18(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 103, (long) ((TSharcPhysics*) G__getstructoffset())->IsValidChannel(*((const string*) G__int(libp->para[0])), (const int) G__int(libp->para[1])
+, (const int) G__int(libp->para[2])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_19(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      ((TSharcPhysics*) G__getstructoffset())->InitializeStandardParameter();
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_20(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      ((TSharcPhysics*) G__getstructoffset())->ReadAnalysisConfig();
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_21(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      ((TSharcPhysics*) G__getstructoffset())->AddBoxDetector((double) G__double(libp->para[0]));
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_22(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      ((TSharcPhysics*) G__getstructoffset())->AddQQQDetector((double) G__double(libp->para[0]), (double) G__double(libp->para[1])
+, (double) G__double(libp->para[2]));
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_23(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      ((TSharcPhysics*) G__getstructoffset())->SetRawDataPointer((TSharcData*) G__int(libp->para[0]));
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_24(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 85, (long) ((const TSharcPhysics*) G__getstructoffset())->GetRawData());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_25(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 85, (long) ((const TSharcPhysics*) G__getstructoffset())->GetPreTreatedData());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_26(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letdouble(result7, 100, (double) ((const TSharcPhysics*) G__getstructoffset())->GetStripPositionX((const int) G__int(libp->para[0]), (const int) G__int(libp->para[1])
+, (const int) G__int(libp->para[2])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_27(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letdouble(result7, 100, (double) ((const TSharcPhysics*) G__getstructoffset())->GetStripPositionY((const int) G__int(libp->para[0]), (const int) G__int(libp->para[1])
+, (const int) G__int(libp->para[2])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_28(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letdouble(result7, 100, (double) ((const TSharcPhysics*) G__getstructoffset())->GetStripPositionZ((const int) G__int(libp->para[0]), (const int) G__int(libp->para[1])
+, (const int) G__int(libp->para[2])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_29(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letdouble(result7, 100, (double) ((const TSharcPhysics*) G__getstructoffset())->GetNumberOfDetector());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_30(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 105, (long) ((const TSharcPhysics*) G__getstructoffset())->GetEventMultiplicity());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_31(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      {
+         const TVector3* pobj;
+         const TVector3 xobj = ((const TSharcPhysics*) G__getstructoffset())->GetPositionOfInteraction((const int) G__int(libp->para[0]));
+         pobj = new TVector3(xobj);
+         result7->obj.i = (long) ((void*) pobj);
+         result7->ref = result7->obj.i;
+         G__store_tempobject(*result7);
+      }
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_32(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      {
+         const TVector3* pobj;
+         const TVector3 xobj = ((const TSharcPhysics*) G__getstructoffset())->GetDetectorNormal((const int) G__int(libp->para[0]));
+         pobj = new TVector3(xobj);
+         result7->obj.i = (long) ((void*) pobj);
+         result7->ref = result7->obj.i;
+         G__store_tempobject(*result7);
+      }
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_33(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 85, (long) TSharcPhysics::Class());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_34(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 67, (long) TSharcPhysics::Class_Name());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_35(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 115, (long) TSharcPhysics::Class_Version());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_36(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      TSharcPhysics::Dictionary();
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_40(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      ((TSharcPhysics*) G__getstructoffset())->StreamerNVirtual(*(TBuffer*) libp->para[0].ref);
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_41(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 67, (long) TSharcPhysics::DeclFileName());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_42(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 105, (long) TSharcPhysics::ImplFileLine());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_43(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 67, (long) TSharcPhysics::ImplFileName());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TSharcPhysicsDict_471_0_44(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 105, (long) TSharcPhysics::DeclFileLine());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+// automatic copy constructor
+static int G__TSharcPhysicsDict_471_0_45(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+
+{
+   TSharcPhysics* p;
+   void* tmp = (void*) G__int(libp->para[0]);
+   p = new TSharcPhysics(*(TSharcPhysics*) tmp);
+   result7->obj.i = (long) p;
+   result7->ref = (long) p;
+   G__set_tagnum(result7,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TSharcPhysics));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+// automatic destructor
+typedef TSharcPhysics G__TTSharcPhysics;
+static int G__TSharcPhysicsDict_471_0_46(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+   char* gvp = (char*) G__getgvp();
+   long soff = G__getstructoffset();
+   int n = G__getaryconstruct();
+   //
+   //has_a_delete: 1
+   //has_own_delete1arg: 0
+   //has_own_delete2arg: 0
+   //
+   if (!soff) {
+     return(1);
+   }
+   if (n) {
+     if (gvp == (char*)G__PVOID) {
+       delete[] (TSharcPhysics*) soff;
+     } else {
+       G__setgvp((long) G__PVOID);
+       for (int i = n - 1; i >= 0; --i) {
+         ((TSharcPhysics*) (soff+(sizeof(TSharcPhysics)*i)))->~G__TTSharcPhysics();
+       }
+       G__setgvp((long)gvp);
+     }
+   } else {
+     if (gvp == (char*)G__PVOID) {
+       delete (TSharcPhysics*) soff;
+     } else {
+       G__setgvp((long) G__PVOID);
+       ((TSharcPhysics*) (soff))->~G__TTSharcPhysics();
+       G__setgvp((long)gvp);
+     }
+   }
+   G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+// automatic assignment operator
+static int G__TSharcPhysicsDict_471_0_47(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+   TSharcPhysics* dest = (TSharcPhysics*) G__getstructoffset();
+   *dest = *(TSharcPhysics*) libp->para[0].ref;
+   const TSharcPhysics& obj = *dest;
+   result7->ref = (long) (&obj);
+   result7->obj.i = (long) (&obj);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+
+/* Setting up global function */
+
+/*********************************************************
+* Member function Stub
+*********************************************************/
+
+/* TSharcPhysics */
+
+/*********************************************************
+* Global function Stub
+*********************************************************/
+
+/*********************************************************
+* Get size of pointer to member function
+*********************************************************/
+class G__Sizep2memfuncTSharcPhysicsDict {
+ public:
+  G__Sizep2memfuncTSharcPhysicsDict(): p(&G__Sizep2memfuncTSharcPhysicsDict::sizep2memfunc) {}
+    size_t sizep2memfunc() { return(sizeof(p)); }
+  private:
+    size_t (G__Sizep2memfuncTSharcPhysicsDict::*p)();
+};
+
+size_t G__get_sizep2memfuncTSharcPhysicsDict()
+{
+  G__Sizep2memfuncTSharcPhysicsDict a;
+  G__setsizep2memfunc((int)a.sizep2memfunc());
+  return((size_t)a.sizep2memfunc());
+}
+
+
+/*********************************************************
+* virtual base class offset calculation interface
+*********************************************************/
+
+   /* Setting up class inheritance */
+
+/*********************************************************
+* Inheritance information setup/
+*********************************************************/
+extern "C" void G__cpp_setup_inheritanceTSharcPhysicsDict() {
+
+   /* Setting up class inheritance */
+   if(0==G__getnumbaseclass(G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TSharcPhysics))) {
+     TSharcPhysics *G__Lderived;
+     G__Lderived=(TSharcPhysics*)0x1000;
+     {
+       TObject *G__Lpbase=(TObject*)G__Lderived;
+       G__inheritance_setup(G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TSharcPhysics),G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TObject),(long)G__Lpbase-(long)G__Lderived,1,1);
+     }
+     {
+       NPA::VDetector *G__Lpbase=(NPA::VDetector*)G__Lderived;
+       G__inheritance_setup(G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TSharcPhysics),G__get_linked_tagnum(&G__TSharcPhysicsDictLN_NPAcLcLVDetector),(long)G__Lpbase-(long)G__Lderived,1,1);
+     }
+   }
+}
+
+/*********************************************************
+* typedef information setup/
+*********************************************************/
+extern "C" void G__cpp_setup_typetableTSharcPhysicsDict() {
+
+   /* Setting up typedef entry */
+   G__search_typename2("Version_t",115,-1,0,-1);
+   G__setnewtype(-1,"Class version identifier (short)",0);
+   G__search_typename2("vector<ROOT::TSchemaHelper>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<TVirtualArray*>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<UShort_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<Double_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("map<string,vector<double> >",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_maplEstringcOvectorlEdoublecOallocatorlEdoublegRsPgRcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("map<string,vector<double,allocator<double> > >",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_maplEstringcOvectorlEdoublecOallocatorlEdoublegRsPgRcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("map<string,vector<double,allocator<double> >,less<string> >",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_maplEstringcOvectorlEdoublecOallocatorlEdoublegRsPgRcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<string>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEstringcOallocatorlEstringgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEstringcOallocatorlEstringgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEstringcOallocatorlEstringgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEstringcOallocatorlEstringgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEstringcOallocatorlEstringgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("map<string,string>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_maplEstringcOstringcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOstringgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("map<string,string,less<string> >",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_maplEstringcOstringcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOstringgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTBase<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTBaselEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTBase<Double_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTBaselEdoublegR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TVectorT<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TVectorTlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TVectorT<Double_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TVectorTlEdoublegR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixT<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTRow_const<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTRow_constlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTColumn_const<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTColumn_constlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTDiag_const<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTDiag_constlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTFlat_const<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTFlat_constlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTSub_const<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTSub_constlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTSparseRow_const<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTSparseRow_constlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTSparseDiag_const<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTSparseDiag_constlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTRow<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTRowlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTColumn<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTColumnlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTDiag<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTDiaglEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTFlat<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTFlatlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTSub<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTSublEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTSparseRow<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTSparseRowlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTSparseDiag<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TMatrixTSparseDiaglEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TElementActionT<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TElementActionTlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TElementPosActionT<Float_t>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TElementPosActionTlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<TVector2>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlETVector2cOallocatorlETVector2gRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlETVector2cOallocatorlETVector2gRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlETVector2cOallocatorlETVector2gRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlETVector2cOallocatorlETVector2gRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlETVector2cOallocatorlETVector2gRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<int>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("map<int,vector<bool> >",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_maplEintcOvectorlEboolcOallocatorlEboolgRsPgRcOlesslEintgRcOallocatorlEpairlEconstsPintcOvectorlEboolcOallocatorlEboolgRsPgRsPgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("map<int,vector<bool,allocator<bool> > >",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_maplEintcOvectorlEboolcOallocatorlEboolgRsPgRcOlesslEintgRcOallocatorlEpairlEconstsPintcOvectorlEboolcOallocatorlEboolgRsPgRsPgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("map<int,vector<bool,allocator<bool> >,less<int> >",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_maplEintcOvectorlEboolcOallocatorlEboolgRsPgRcOlesslEintgRcOallocatorlEpairlEconstsPintcOvectorlEboolcOallocatorlEboolgRsPgRsPgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<vector<double> >",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<vector<double,allocator<double> > >",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<vector<vector<double> > >",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<vector<vector<double,allocator<double> >,allocator<vector<double,allocator<double> > > > >",117,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+}
+
+/*********************************************************
+* Data Member information setup/
+*********************************************************/
+
+   /* Setting up class,struct,union tag member variable */
+
+   /* TSharcPhysics */
+static void G__setup_memvarTSharcPhysics(void) {
+   G__tag_memvar_setup(G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TSharcPhysics));
+   { TSharcPhysics *p; p=(TSharcPhysics*)0x1000; if (p) { }
+   G__memvar_setup((void*)((long)(&p->EventMultiplicity)-(long)(p)),105,0,0,-1,G__defined_typename("Int_t"),-1,1,"EventMultiplicity=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->EventType)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"EventType=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->DetectorNumber)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"DetectorNumber=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->Strip_E)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<double>"),-1,1,"Strip_E=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->Strip_T)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<double>"),-1,1,"Strip_T=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->StripFront_E)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<double>"),-1,1,"StripFront_E=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->StripFront_T)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<double>"),-1,1,"StripFront_T=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->StripBack_E)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<double>"),-1,1,"StripBack_E=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->StripBack_T)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<double>"),-1,1,"StripBack_T=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->Strip_Front)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"Strip_Front=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->Strip_Back)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"Strip_Back=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->PAD_E)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<double>"),-1,1,"PAD_E=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->PAD_T)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<double>"),-1,1,"PAD_T=",0,(char*)NULL);
+   G__memvar_setup((void*)0,103,0,0,-1,-1,-1,4,"m_Take_E_Front=",0,"!");
+   G__memvar_setup((void*)0,103,0,0,-1,-1,-1,4,"m_Take_T_Back=",0,"!");
+   G__memvar_setup((void*)0,104,0,0,-1,-1,-1,4,"m_MaximumStripMultiplicityAllowed=",0,"!");
+   G__memvar_setup((void*)0,100,0,0,-1,-1,-1,4,"m_StripEnergyMatchingSigma=",0,"!");
+   G__memvar_setup((void*)0,100,0,0,-1,-1,-1,4,"m_StripEnergyMatchingNumberOfSigma=",0,"!");
+   G__memvar_setup((void*)0,100,0,0,-1,-1,-1,4,"m_StripFront_E_RAW_Threshold=",0,"!");
+   G__memvar_setup((void*)0,100,0,0,-1,-1,-1,4,"m_StripFront_E_Threshold=",0,"!");
+   G__memvar_setup((void*)0,100,0,0,-1,-1,-1,4,"m_StripBack_E_RAW_Threshold=",0,"!");
+   G__memvar_setup((void*)0,100,0,0,-1,-1,-1,4,"m_StripBack_E_Threshold=",0,"!");
+   G__memvar_setup((void*)0,100,0,0,-1,-1,-1,4,"m_PAD_E_RAW_Threshold=",0,"!");
+   G__memvar_setup((void*)0,100,0,0,-1,-1,-1,4,"m_PAD_E_Threshold=",0,"!");
+   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TSharcData),-1,-1,4,"m_EventData=",0,"!");
+   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TSharcData),-1,-1,4,"m_PreTreatedData=",0,"!");
+   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TSharcPhysics),-1,-1,4,"m_EventPhysics=",0,"!");
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_maplEintcOvectorlEboolcOallocatorlEboolgRsPgRcOlesslEintgRcOallocatorlEpairlEconstsPintcOvectorlEboolcOallocatorlEboolgRsPgRsPgRsPgRsPgR),G__defined_typename("map<int,vector<bool> >"),-1,4,"m_FrontChannelStatus=",0,"!");
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_maplEintcOvectorlEboolcOallocatorlEboolgRsPgRcOlesslEintgRcOallocatorlEpairlEconstsPintcOvectorlEboolcOallocatorlEboolgRsPgRsPgRsPgRsPgR),G__defined_typename("map<int,vector<bool> >"),-1,4,"m_BackChannelStatus=",0,"! ");
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_maplEintcOvectorlEboolcOallocatorlEboolgRsPgRcOlesslEintgRcOallocatorlEpairlEconstsPintcOvectorlEboolcOallocatorlEboolgRsPgRsPgRsPgRsPgR),G__defined_typename("map<int,vector<bool> >"),-1,4,"m_PADChannelStatus=",0,"!");
+   G__memvar_setup((void*)0,105,0,0,-1,-1,-1,4,"m_NumberOfDetector=",0,"!");
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgR),G__defined_typename("vector<vector<vector<double> > >"),-1,4,"m_StripPositionX=",0,"!");
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgR),G__defined_typename("vector<vector<vector<double> > >"),-1,4,"m_StripPositionY=",0,"!");
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgR),G__defined_typename("vector<vector<vector<double> > >"),-1,4,"m_StripPositionZ=",0,"!");
+   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TClass),-1,-2,4,"fgIsA=",0,(char*)NULL);
+   }
+   G__tag_memvar_reset();
+}
+
+extern "C" void G__cpp_setup_memvarTSharcPhysicsDict() {
+}
+/***********************************************************
+************************************************************
+************************************************************
+************************************************************
+************************************************************
+************************************************************
+************************************************************
+***********************************************************/
+
+/*********************************************************
+* Member function information setup for each class
+*********************************************************/
+static void G__setup_memfuncTSharcPhysics(void) {
+   /* TSharcPhysics */
+   G__tag_memfunc_setup(G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TSharcPhysics));
+   G__memfunc_setup("TSharcPhysics",1320,G__TSharcPhysicsDict_471_0_1, 105, G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TSharcPhysics), -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("Clear",487,G__TSharcPhysicsDict_471_0_2, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("Clear",487,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "C - 'Option_t' 10 - -", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("Match_Front_Back",1573,G__TSharcPhysicsDict_471_0_4, 117, G__get_linked_tagnum(&G__TSharcPhysicsDictLN_vectorlETVector2cOallocatorlETVector2gRsPgR), G__defined_typename("vector<TVector2>"), 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("CheckEvent",992,G__TSharcPhysicsDict_471_0_5, 105, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("ReadConfiguration",1748,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'string' - 0 - -", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("AddParameterToCalibrationManager",3216,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("InitializeRootInputRaw",2288,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("InitializeRootInputPhysics",2729,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("InitializeRootOutput",2119,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("BuildPhysicalEvent",1839,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("BuildSimplePhysicalEvent",2457,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("BuildOnlinePhysicalEvent",2452,G__TSharcPhysicsDict_471_0_13, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("ClearEventPhysics",1740,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("ClearEventData",1379,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("ClearPreTreatedData",1873,G__TSharcPhysicsDict_471_0_16, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("PreTreat",807,G__TSharcPhysicsDict_471_0_17, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("IsValidChannel",1381,G__TSharcPhysicsDict_471_0_18, 103, -1, -1, 0, 3, 1, 1, 0, 
+"u 'string' - 10 - DetectorType i - - 10 - telescope "
+"i - - 10 - channel", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("InitializeStandardParameter",2788,G__TSharcPhysicsDict_471_0_19, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("ReadAnalysisConfig",1814,G__TSharcPhysicsDict_471_0_20, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("AddBoxDetector",1388,G__TSharcPhysicsDict_471_0_21, 121, -1, -1, 0, 1, 1, 1, 0, "d - - 0 - Z", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("AddQQQDetector",1334,G__TSharcPhysicsDict_471_0_22, 121, -1, -1, 0, 3, 1, 1, 0, 
+"d - - 0 - R d - - 0 - Phi "
+"d - - 0 - Z", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetRawDataPointer",1713,G__TSharcPhysicsDict_471_0_23, 121, -1, -1, 0, 1, 1, 1, 0, "U 'TSharcData' - 0 - rawDataPointer", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetRawData",964,G__TSharcPhysicsDict_471_0_24, 85, G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TSharcData), -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetPreTreatedData",1674,G__TSharcPhysicsDict_471_0_25, 85, G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TSharcData), -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetStripPositionX",1759,G__TSharcPhysicsDict_471_0_26, 100, -1, -1, 0, 3, 1, 1, 8, 
+"i - - 10 - N i - - 10 - Front "
+"i - - 10 - Back", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetStripPositionY",1760,G__TSharcPhysicsDict_471_0_27, 100, -1, -1, 0, 3, 1, 1, 8, 
+"i - - 10 - N i - - 10 - Front "
+"i - - 10 - Back", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetStripPositionZ",1761,G__TSharcPhysicsDict_471_0_28, 100, -1, -1, 0, 3, 1, 1, 8, 
+"i - - 10 - N i - - 10 - Front "
+"i - - 10 - Back", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetNumberOfDetector",1912,G__TSharcPhysicsDict_471_0_29, 100, -1, -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetEventMultiplicity",2091,G__TSharcPhysicsDict_471_0_30, 105, -1, -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetPositionOfInteraction",2474,G__TSharcPhysicsDict_471_0_31, 117, G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TVector3), -1, 0, 1, 1, 1, 8, "i - - 10 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetDetectorNormal",1731,G__TSharcPhysicsDict_471_0_32, 117, G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TVector3), -1, 0, 1, 1, 1, 8, "i - - 10 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("Class",502,G__TSharcPhysicsDict_471_0_33, 85, G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TClass), -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (TClass* (*)())(&TSharcPhysics::Class) ), 0);
+   G__memfunc_setup("Class_Name",982,G__TSharcPhysicsDict_471_0_34, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TSharcPhysics::Class_Name) ), 0);
+   G__memfunc_setup("Class_Version",1339,G__TSharcPhysicsDict_471_0_35, 115, -1, G__defined_typename("Version_t"), 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (Version_t (*)())(&TSharcPhysics::Class_Version) ), 0);
+   G__memfunc_setup("Dictionary",1046,G__TSharcPhysicsDict_471_0_36, 121, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (void (*)())(&TSharcPhysics::Dictionary) ), 0);
+   G__memfunc_setup("IsA",253,(G__InterfaceMethod) NULL,85, G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TClass), -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("ShowMembers",1132,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'TMemberInspector' - 1 - insp", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("Streamer",835,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - b", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("StreamerNVirtual",1656,G__TSharcPhysicsDict_471_0_40, 121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - b", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("DeclFileName",1145,G__TSharcPhysicsDict_471_0_41, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TSharcPhysics::DeclFileName) ), 0);
+   G__memfunc_setup("ImplFileLine",1178,G__TSharcPhysicsDict_471_0_42, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&TSharcPhysics::ImplFileLine) ), 0);
+   G__memfunc_setup("ImplFileName",1171,G__TSharcPhysicsDict_471_0_43, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TSharcPhysics::ImplFileName) ), 0);
+   G__memfunc_setup("DeclFileLine",1152,G__TSharcPhysicsDict_471_0_44, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&TSharcPhysics::DeclFileLine) ), 0);
+   // automatic copy constructor
+   G__memfunc_setup("TSharcPhysics", 1320, G__TSharcPhysicsDict_471_0_45, (int) ('i'), G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TSharcPhysics), -1, 0, 1, 1, 1, 0, "u 'TSharcPhysics' - 11 - -", (char*) NULL, (void*) NULL, 0);
+   // automatic destructor
+   G__memfunc_setup("~TSharcPhysics", 1446, G__TSharcPhysicsDict_471_0_46, (int) ('y'), -1, -1, 0, 0, 1, 1, 0, "", (char*) NULL, (void*) NULL, 1);
+   // automatic assignment operator
+   G__memfunc_setup("operator=", 937, G__TSharcPhysicsDict_471_0_47, (int) ('u'), G__get_linked_tagnum(&G__TSharcPhysicsDictLN_TSharcPhysics), -1, 1, 1, 1, 1, 0, "u 'TSharcPhysics' - 11 - -", (char*) NULL, (void*) NULL, 0);
+   G__tag_memfunc_reset();
+}
+
+
+/*********************************************************
+* Member function information setup
+*********************************************************/
+extern "C" void G__cpp_setup_memfuncTSharcPhysicsDict() {
+}
+
+/*********************************************************
+* Global variable information setup for each class
+*********************************************************/
+static void G__cpp_setup_global0() {
+
+   /* Setting up global variables */
+   G__resetplocal();
+
+}
+
+static void G__cpp_setup_global1() {
+}
+
+static void G__cpp_setup_global2() {
+
+   G__resetglobalenv();
+}
+extern "C" void G__cpp_setup_globalTSharcPhysicsDict() {
+  G__cpp_setup_global0();
+  G__cpp_setup_global1();
+  G__cpp_setup_global2();
+}
+
+/*********************************************************
+* Global function information setup for each class
+*********************************************************/
+static void G__cpp_setup_func0() {
+   G__lastifuncposition();
+
+}
+
+static void G__cpp_setup_func1() {
+}
+
+static void G__cpp_setup_func2() {
+}
+
+static void G__cpp_setup_func3() {
+}
+
+static void G__cpp_setup_func4() {
+}
+
+static void G__cpp_setup_func5() {
+}
+
+static void G__cpp_setup_func6() {
+}
+
+static void G__cpp_setup_func7() {
+}
+
+static void G__cpp_setup_func8() {
+}
+
+static void G__cpp_setup_func9() {
+}
+
+static void G__cpp_setup_func10() {
+}
+
+static void G__cpp_setup_func11() {
+}
+
+static void G__cpp_setup_func12() {
+}
+
+static void G__cpp_setup_func13() {
+}
+
+static void G__cpp_setup_func14() {
+}
+
+static void G__cpp_setup_func15() {
+}
+
+static void G__cpp_setup_func16() {
+}
+
+static void G__cpp_setup_func17() {
+}
+
+static void G__cpp_setup_func18() {
+}
+
+static void G__cpp_setup_func19() {
+}
+
+static void G__cpp_setup_func20() {
+
+   G__resetifuncposition();
+}
+
+extern "C" void G__cpp_setup_funcTSharcPhysicsDict() {
+  G__cpp_setup_func0();
+  G__cpp_setup_func1();
+  G__cpp_setup_func2();
+  G__cpp_setup_func3();
+  G__cpp_setup_func4();
+  G__cpp_setup_func5();
+  G__cpp_setup_func6();
+  G__cpp_setup_func7();
+  G__cpp_setup_func8();
+  G__cpp_setup_func9();
+  G__cpp_setup_func10();
+  G__cpp_setup_func11();
+  G__cpp_setup_func12();
+  G__cpp_setup_func13();
+  G__cpp_setup_func14();
+  G__cpp_setup_func15();
+  G__cpp_setup_func16();
+  G__cpp_setup_func17();
+  G__cpp_setup_func18();
+  G__cpp_setup_func19();
+  G__cpp_setup_func20();
+}
+
+/*********************************************************
+* Class,struct,union,enum tag information setup
+*********************************************************/
+/* Setup class/struct taginfo */
+G__linked_taginfo G__TSharcPhysicsDictLN_TClass = { "TClass" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TBuffer = { "TBuffer" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMemberInspector = { "TMemberInspector" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TObject = { "TObject" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR = { "vector<unsigned short,allocator<unsigned short> >" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR = { "vector<double,allocator<double> >" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_string = { "string" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR = { "vector<ROOT::TSchemaHelper,allocator<ROOT::TSchemaHelper> >" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR = { "reverse_iterator<vector<ROOT::TSchemaHelper,allocator<ROOT::TSchemaHelper> >::iterator>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR = { "vector<TVirtualArray*,allocator<TVirtualArray*> >" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<TVirtualArray*,allocator<TVirtualArray*> >::iterator>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TSharcData = { "TSharcData" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_maplEstringcOvectorlEdoublecOallocatorlEdoublegRsPgRcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgR = { "map<string,vector<double,allocator<double> >,less<string>,allocator<pair<const string,vector<double,allocator<double> > > > >" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_vectorlEstringcOallocatorlEstringgRsPgR = { "vector<string,allocator<string> >" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEstringcOallocatorlEstringgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<string,allocator<string> >::iterator>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_maplEstringcOstringcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOstringgRsPgRsPgR = { "map<string,string,less<string>,allocator<pair<const string,string> > >" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_NPA = { "NPA" , 110 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_NPAcLcLVDetector = { "NPA::VDetector" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTBaselEfloatgR = { "TMatrixTBase<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTBaselEdoublegR = { "TMatrixTBase<double>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TVectorTlEfloatgR = { "TVectorT<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TVectorTlEdoublegR = { "TVectorT<double>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TElementActionTlEfloatgR = { "TElementActionT<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TElementPosActionTlEfloatgR = { "TElementPosActionT<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTlEfloatgR = { "TMatrixT<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTRow_constlEfloatgR = { "TMatrixTRow_const<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTRowlEfloatgR = { "TMatrixTRow<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTDiag_constlEfloatgR = { "TMatrixTDiag_const<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTColumn_constlEfloatgR = { "TMatrixTColumn_const<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTFlat_constlEfloatgR = { "TMatrixTFlat_const<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTSub_constlEfloatgR = { "TMatrixTSub_const<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTSparseRow_constlEfloatgR = { "TMatrixTSparseRow_const<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTSparseDiag_constlEfloatgR = { "TMatrixTSparseDiag_const<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTColumnlEfloatgR = { "TMatrixTColumn<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTDiaglEfloatgR = { "TMatrixTDiag<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTFlatlEfloatgR = { "TMatrixTFlat<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTSublEfloatgR = { "TMatrixTSub<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTSparseRowlEfloatgR = { "TMatrixTSparseRow<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTSparseDiaglEfloatgR = { "TMatrixTSparseDiag<float>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TVector3 = { "TVector3" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_TSharcPhysics = { "TSharcPhysics" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_vectorlETVector2cOallocatorlETVector2gRsPgR = { "vector<TVector2,allocator<TVector2> >" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlETVector2cOallocatorlETVector2gRsPgRcLcLiteratorgR = { "reverse_iterator<vector<TVector2,allocator<TVector2> >::iterator>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR = { "vector<int,allocator<int> >" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<int,allocator<int> >::iterator>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_maplEintcOvectorlEboolcOallocatorlEboolgRsPgRcOlesslEintgRcOallocatorlEpairlEconstsPintcOvectorlEboolcOallocatorlEboolgRsPgRsPgRsPgRsPgR = { "map<int,vector<bool,allocator<bool> >,less<int>,allocator<pair<const int,vector<bool,allocator<bool> > > > >" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_vectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgR = { "vector<vector<double,allocator<double> >,allocator<vector<double,allocator<double> > > >" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<vector<double,allocator<double> >,allocator<vector<double,allocator<double> > > >::iterator>" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_vectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgR = { "vector<vector<vector<double,allocator<double> >,allocator<vector<double,allocator<double> > > >,allocator<vector<vector<double,allocator<double> >,allocator<vector<double,allocator<double> > > > > >" , 99 , -1 };
+G__linked_taginfo G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<vector<vector<double,allocator<double> >,allocator<vector<double,allocator<double> > > >,allocator<vector<vector<double,allocator<double> >,allocator<vector<double,allocator<double> > > > > >::iterator>" , 99 , -1 };
+
+/* Reset class/struct taginfo */
+extern "C" void G__cpp_reset_tagtableTSharcPhysicsDict() {
+  G__TSharcPhysicsDictLN_TClass.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TBuffer.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMemberInspector.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TObject.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_string.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TSharcData.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_maplEstringcOvectorlEdoublecOallocatorlEdoublegRsPgRcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_vectorlEstringcOallocatorlEstringgRsPgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEstringcOallocatorlEstringgRsPgRcLcLiteratorgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_maplEstringcOstringcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOstringgRsPgRsPgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_NPA.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_NPAcLcLVDetector.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTBaselEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTBaselEdoublegR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TVectorTlEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TVectorTlEdoublegR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TElementActionTlEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TElementPosActionTlEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTlEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTRow_constlEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTRowlEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTDiag_constlEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTColumn_constlEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTFlat_constlEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTSub_constlEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTSparseRow_constlEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTSparseDiag_constlEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTColumnlEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTDiaglEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTFlatlEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTSublEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTSparseRowlEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TMatrixTSparseDiaglEfloatgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TVector3.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_TSharcPhysics.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_vectorlETVector2cOallocatorlETVector2gRsPgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlETVector2cOallocatorlETVector2gRsPgRcLcLiteratorgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_maplEintcOvectorlEboolcOallocatorlEboolgRsPgRcOlesslEintgRcOallocatorlEpairlEconstsPintcOvectorlEboolcOallocatorlEboolgRsPgRsPgRsPgRsPgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_vectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcLcLiteratorgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_vectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgR.tagnum = -1 ;
+  G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgRcLcLiteratorgR.tagnum = -1 ;
+}
+
+
+extern "C" void G__cpp_setup_tagtableTSharcPhysicsDict() {
+
+   /* Setting up class,struct,union tag entry */
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TClass);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TBuffer);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMemberInspector);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TObject);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_string);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TSharcData);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_maplEstringcOvectorlEdoublecOallocatorlEdoublegRsPgRcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_vectorlEstringcOallocatorlEstringgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEstringcOallocatorlEstringgRsPgRcLcLiteratorgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_maplEstringcOstringcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOstringgRsPgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_NPA);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_NPAcLcLVDetector);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTBaselEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTBaselEdoublegR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TVectorTlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TVectorTlEdoublegR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TElementActionTlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TElementPosActionTlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTRow_constlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTRowlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTDiag_constlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTColumn_constlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTFlat_constlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTSub_constlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTSparseRow_constlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTSparseDiag_constlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTColumnlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTDiaglEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTFlatlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTSublEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTSparseRowlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TMatrixTSparseDiaglEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TVector3);
+   G__tagtable_setup(G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_TSharcPhysics),sizeof(TSharcPhysics),-1,29952,"SharcPhysics structure",G__setup_memvarTSharcPhysics,G__setup_memfuncTSharcPhysics);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_vectorlETVector2cOallocatorlETVector2gRsPgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlETVector2cOallocatorlETVector2gRsPgRcLcLiteratorgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_maplEintcOvectorlEboolcOallocatorlEboolgRsPgRcOlesslEintgRcOallocatorlEpairlEconstsPintcOvectorlEboolcOallocatorlEboolgRsPgRsPgRsPgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_vectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcLcLiteratorgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_vectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgRcLcLiteratorgR);
+}
+extern "C" void G__cpp_setupTSharcPhysicsDict(void) {
+  G__check_setup_version(30051515,"G__cpp_setupTSharcPhysicsDict()");
+  G__set_cpp_environmentTSharcPhysicsDict();
+  G__cpp_setup_tagtableTSharcPhysicsDict();
+
+  G__cpp_setup_inheritanceTSharcPhysicsDict();
+
+  G__cpp_setup_typetableTSharcPhysicsDict();
+
+  G__cpp_setup_memvarTSharcPhysicsDict();
+
+  G__cpp_setup_memfuncTSharcPhysicsDict();
+  G__cpp_setup_globalTSharcPhysicsDict();
+  G__cpp_setup_funcTSharcPhysicsDict();
+
+   if(0==G__getsizep2memfunc()) G__get_sizep2memfuncTSharcPhysicsDict();
+  return;
+}
+class G__cpp_setup_initTSharcPhysicsDict {
+  public:
+    G__cpp_setup_initTSharcPhysicsDict() { G__add_setup_func("TSharcPhysicsDict",(G__incsetup)(&G__cpp_setupTSharcPhysicsDict)); G__call_setup_funcs(); }
+   ~G__cpp_setup_initTSharcPhysicsDict() { G__remove_setup_func("TSharcPhysicsDict"); }
+};
+G__cpp_setup_initTSharcPhysicsDict G__cpp_setup_initializerTSharcPhysicsDict;
+
diff --git a/NPLib/Sharc/TSharcPhysicsDict.h b/NPLib/Sharc/TSharcPhysicsDict.h
new file mode 100644
index 000000000..add0f26c3
--- /dev/null
+++ b/NPLib/Sharc/TSharcPhysicsDict.h
@@ -0,0 +1,93 @@
+/********************************************************************
+* TSharcPhysicsDict.h
+* CAUTION: DON'T CHANGE THIS FILE. THIS FILE IS AUTOMATICALLY GENERATED
+*          FROM HEADER FILES LISTED IN G__setup_cpp_environmentXXX().
+*          CHANGE THOSE HEADER FILES AND REGENERATE THIS FILE.
+********************************************************************/
+#ifdef __CINT__
+#error TSharcPhysicsDict.h/C is only for compilation. Abort cint.
+#endif
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <string.h>
+#define G__ANSIHEADER
+#define G__DICTIONARY
+#define G__PRIVATE_GVALUE
+#include "G__ci.h"
+#include "FastAllocString.h"
+extern "C" {
+extern void G__cpp_setup_tagtableTSharcPhysicsDict();
+extern void G__cpp_setup_inheritanceTSharcPhysicsDict();
+extern void G__cpp_setup_typetableTSharcPhysicsDict();
+extern void G__cpp_setup_memvarTSharcPhysicsDict();
+extern void G__cpp_setup_globalTSharcPhysicsDict();
+extern void G__cpp_setup_memfuncTSharcPhysicsDict();
+extern void G__cpp_setup_funcTSharcPhysicsDict();
+extern void G__set_cpp_environmentTSharcPhysicsDict();
+}
+
+
+#include "TObject.h"
+#include "TMemberInspector.h"
+#include "TSharcPhysics.h"
+#include <algorithm>
+namespace std { }
+using namespace std;
+
+#ifndef G__MEMFUNCBODY
+#endif
+
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TClass;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TBuffer;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMemberInspector;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TObject;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_string;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TSharcData;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_maplEstringcOvectorlEdoublecOallocatorlEdoublegRsPgRcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_vectorlEstringcOallocatorlEstringgRsPgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEstringcOallocatorlEstringgRsPgRcLcLiteratorgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_maplEstringcOstringcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOstringgRsPgRsPgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_NPA;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_NPAcLcLVDetector;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTBaselEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTBaselEdoublegR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TVectorTlEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TVectorTlEdoublegR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TElementActionTlEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TElementPosActionTlEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTlEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTRow_constlEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTRowlEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTDiag_constlEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTColumn_constlEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTFlat_constlEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTSub_constlEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTSparseRow_constlEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTSparseDiag_constlEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTColumnlEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTDiaglEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTFlatlEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTSublEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTSparseRowlEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TMatrixTSparseDiaglEfloatgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TVector3;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_TSharcPhysics;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_vectorlETVector2cOallocatorlETVector2gRsPgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlETVector2cOallocatorlETVector2gRsPgRcLcLiteratorgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_maplEintcOvectorlEboolcOallocatorlEboolgRsPgRcOlesslEintgRcOallocatorlEpairlEconstsPintcOvectorlEboolcOallocatorlEboolgRsPgRsPgRsPgRsPgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_vectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcLcLiteratorgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_vectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgR;
+extern G__linked_taginfo G__TSharcPhysicsDictLN_reverse_iteratorlEvectorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRcOallocatorlEvectorlEvectorlEdoublecOallocatorlEdoublegRsPgRcOallocatorlEvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgRsPgRcLcLiteratorgR;
+
+/* STUB derived class for protected member access */
diff --git a/NPLib/Tigress/Makefile b/NPLib/Tigress/Makefile
index 1c15bc7b7..904471a31 100644
--- a/NPLib/Tigress/Makefile
+++ b/NPLib/Tigress/Makefile
@@ -1,29 +1,33 @@
 include ../Makefile.arch
  
 #------------------------------------------------------------------------------
-SHARELIB      =  libTigressData.so 
-#libTigressPhysics.so
+SHARELIB      =  libTigressData.so libTigressPhysics.so
 
 all:            $(SHARELIB)
 #------------------------------------------------------------------------------
 ############### Detector ##############
 
 ## Tigress ##
-libTigressData.so:	TTigressData.o	TTigressDataDict.o 
+libTigressData.so:	TTigressData.o	TTigressDataDict.o TTigEventFragment.o TTigEventFragmentDict.o
 		$(LD) $(SOFLAGS) $^ $(OutPutOpt) $@
 
 TTigressDataDict.cxx:	TTigressData.h
 			rootcint -f $@ -c $^
 
-#libTigressPhysics.so:	TTigressPhysics.o	TTigressPhysicsDict.o
-#		$(LD) $(SOFLAGS) $^ $(OutPutOpt) $@
+TTigEventFragmentDict.cxx:	TTigEventFragment.h
+			rootcint -f $@ -c $^
+libTigressPhysics.so:	TTigressPhysics.o TTigressPhysicsDict.o TTigressClover.o TTigressCrystal.o
+		$(LD) $(SOFLAGS) $^ $(OutPutOpt) $@
 
-#TTigressPhysicsDict.cxx:	TTigressPhysics.h
-#			rootcint -f $@ -c $^
+TTigressPhysicsDict.cxx:	TTigressPhysics.h
+			rootcint -f $@ -c $^
 			
 # dependances
-TTigressData.o:		TTigressData.cxx TTigressData.h 
-#TTigressPhysics.o:	TTigressPhysics.cxx	TTigressPhysics.h
+TTigressData.o: TTigressData.cxx TTigressData.h 
+TTigEventFragment.o: TTigEventFragment.cxx TTigEventFragment.h 
+TTigressPhysics.o: TTigressPhysics.cxx TTigressPhysics.h
+TTigressClover.o:  TTigressClover.cxx TTigressClover.h
+TTigressCrystal.o: TTigressCrystal.cxx TTigressCrystal.h
 #######################################
 
 ############# Clean and More ##########
diff --git a/NPLib/Tigress/TTigEventFragment.cxx b/NPLib/Tigress/TTigEventFragment.cxx
new file mode 100644
index 000000000..e82b29a53
--- /dev/null
+++ b/NPLib/Tigress/TTigEventFragment.cxx
@@ -0,0 +1,51 @@
+#include"TTigEventFragment.h"
+
+ClassImp(TTigEventFragment)
+
+extern int midas_events_read;
+
+TTigEventFragment::TTigEventFragment(){
+  Clear();
+}
+
+
+TTigEventFragment::TTigEventFragment(int MaxChannel){
+	  tig_midas_id.reserve(MaxChannel);
+	  tig_type.reserve(MaxChannel);
+	  channel_number.reserve(MaxChannel);
+    channel_raw.reserve(MaxChannel);
+	  cfd_value.reserve(MaxChannel);
+	  led_value.reserve(MaxChannel);
+	  charge_raw.reserve(MaxChannel);
+	  charge_cal.reserve(MaxChannel);
+	  timestamp_low.reserve(MaxChannel);
+	  timestamp_high.reserve(MaxChannel);
+	  timestamp_live.reserve(MaxChannel);
+	  timestamp_tr.reserve(MaxChannel); 
+	  timestamp_ta.reserve(MaxChannel);  
+	  waveform.reserve(MaxChannel);
+}
+
+TTigEventFragment::~TTigEventFragment(){
+  Clear();
+}
+
+void   TTigEventFragment::Clear(){
+    tig_num_chan=0;
+	  tig_event_id=0;
+	  tig_midas_id.clear();
+	  tig_type.clear();
+	  channel_number.clear();
+    channel_raw.clear();
+	  cfd_value.clear();
+	  led_value.clear();
+	  charge_raw.clear();
+	  charge_cal.clear();
+	  timestamp_low.clear();
+	  timestamp_high.clear();
+	  timestamp_live.clear();
+	  timestamp_tr.clear(); 
+	  timestamp_ta.clear();  
+	  waveform.clear();
+}
+
diff --git a/NPLib/Tigress/TTigEventFragment.h b/NPLib/Tigress/TTigEventFragment.h
new file mode 100644
index 000000000..e568d5ad8
--- /dev/null
+++ b/NPLib/Tigress/TTigEventFragment.h
@@ -0,0 +1,48 @@
+#ifndef TTigEventFragment_H
+#define TTigEventFragment_H
+
+#include"TH1F.h"
+
+#include"TObject.h"
+#include <vector>
+using namespace std;
+
+class TTigEventFragment : public TObject{
+
+  public:
+    TTigEventFragment();
+    // Create the class and reserve the vector size for MaxChannel
+    // Limit the number of dynamic allocation, so better perf but more memory used
+    TTigEventFragment(int MaxChannel);
+    ~TTigEventFragment();
+    
+  public:
+     int tig_num_chan;
+	   int tig_event_id;
+
+	  vector<int> tig_midas_id;
+	  vector<int> tig_type;        //0 for tig10 and 1 for tig 64, sound ok?  good. 
+
+	  vector<int> channel_number;
+    vector<int> channel_raw;
+	  vector<int> cfd_value;
+	  vector<int> led_value;
+	  vector<int> charge_raw;
+	  vector<float> charge_cal;
+
+	  vector<int> timestamp_low;
+	  vector<int> timestamp_high;
+	  vector<int> timestamp_live;
+	  vector<int> timestamp_tr;  // triggers requested
+	  vector<int> timestamp_ta;  // triggers accepted
+
+    vector<TH1F> waveform;
+
+  public:
+      void   Clear() ;
+      void   Clear(const Option_t*) {};
+      void   Dump() const {};
+
+  ClassDef(TTigEventFragment,1)  // TTigEventFragment structure
+};
+#endif
diff --git a/NPLib/Tigress/TTigEventFragmentDict.cxx b/NPLib/Tigress/TTigEventFragmentDict.cxx
new file mode 100644
index 000000000..58c12a9c4
--- /dev/null
+++ b/NPLib/Tigress/TTigEventFragmentDict.cxx
@@ -0,0 +1,1240 @@
+//
+// File generated by rootcint at Tue Dec  4 10:29:52 2012
+
+// Do NOT change. Changes will be lost next time file is generated
+//
+
+#define R__DICTIONARY_FILENAME TTigEventFragmentDict
+#include "RConfig.h" //rootcint 4834
+#if !defined(R__ACCESS_IN_SYMBOL)
+//Break the privacy of classes -- Disabled for the moment
+#define private public
+#define protected public
+#endif
+
+// Since CINT ignores the std namespace, we need to do so in this file.
+namespace std {} using namespace std;
+#include "TTigEventFragmentDict.h"
+
+#include "TCollectionProxyInfo.h"
+#include "TClass.h"
+#include "TBuffer.h"
+#include "TMemberInspector.h"
+#include "TError.h"
+
+#ifndef G__ROOT
+#define G__ROOT
+#endif
+
+#include "RtypesImp.h"
+#include "TIsAProxy.h"
+#include "TFileMergeInfo.h"
+
+// START OF SHADOWS
+
+namespace ROOT {
+   namespace Shadow {
+   } // of namespace Shadow
+} // of namespace ROOT
+// END OF SHADOWS
+
+namespace ROOT {
+   void TTigEventFragment_ShowMembers(void *obj, TMemberInspector &R__insp);
+   static void *new_TTigEventFragment(void *p = 0);
+   static void *newArray_TTigEventFragment(Long_t size, void *p);
+   static void delete_TTigEventFragment(void *p);
+   static void deleteArray_TTigEventFragment(void *p);
+   static void destruct_TTigEventFragment(void *p);
+   static void streamer_TTigEventFragment(TBuffer &buf, void *obj);
+
+   // Function generating the singleton type initializer
+   static TGenericClassInfo *GenerateInitInstanceLocal(const ::TTigEventFragment*)
+   {
+      ::TTigEventFragment *ptr = 0;
+      static ::TVirtualIsAProxy* isa_proxy = new ::TInstrumentedIsAProxy< ::TTigEventFragment >(0);
+      static ::ROOT::TGenericClassInfo 
+         instance("TTigEventFragment", ::TTigEventFragment::Class_Version(), "./TTigEventFragment.h", 10,
+                  typeid(::TTigEventFragment), DefineBehavior(ptr, ptr),
+                  &::TTigEventFragment::Dictionary, isa_proxy, 0,
+                  sizeof(::TTigEventFragment) );
+      instance.SetNew(&new_TTigEventFragment);
+      instance.SetNewArray(&newArray_TTigEventFragment);
+      instance.SetDelete(&delete_TTigEventFragment);
+      instance.SetDeleteArray(&deleteArray_TTigEventFragment);
+      instance.SetDestructor(&destruct_TTigEventFragment);
+      instance.SetStreamerFunc(&streamer_TTigEventFragment);
+      return &instance;
+   }
+   TGenericClassInfo *GenerateInitInstance(const ::TTigEventFragment*)
+   {
+      return GenerateInitInstanceLocal((::TTigEventFragment*)0);
+   }
+   // Static variable to force the class initialization
+   static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const ::TTigEventFragment*)0x0); R__UseDummy(_R__UNIQUE_(Init));
+} // end of namespace ROOT
+
+//______________________________________________________________________________
+TClass *TTigEventFragment::fgIsA = 0;  // static to hold class pointer
+
+//______________________________________________________________________________
+const char *TTigEventFragment::Class_Name()
+{
+   return "TTigEventFragment";
+}
+
+//______________________________________________________________________________
+const char *TTigEventFragment::ImplFileName()
+{
+   return ::ROOT::GenerateInitInstanceLocal((const ::TTigEventFragment*)0x0)->GetImplFileName();
+}
+
+//______________________________________________________________________________
+int TTigEventFragment::ImplFileLine()
+{
+   return ::ROOT::GenerateInitInstanceLocal((const ::TTigEventFragment*)0x0)->GetImplFileLine();
+}
+
+//______________________________________________________________________________
+void TTigEventFragment::Dictionary()
+{
+   fgIsA = ::ROOT::GenerateInitInstanceLocal((const ::TTigEventFragment*)0x0)->GetClass();
+}
+
+//______________________________________________________________________________
+TClass *TTigEventFragment::Class()
+{
+   if (!fgIsA) fgIsA = ::ROOT::GenerateInitInstanceLocal((const ::TTigEventFragment*)0x0)->GetClass();
+   return fgIsA;
+}
+
+//______________________________________________________________________________
+void TTigEventFragment::Streamer(TBuffer &R__b)
+{
+   // Stream an object of class TTigEventFragment.
+
+   UInt_t R__s, R__c;
+   if (R__b.IsReading()) {
+      Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v) { }
+      TObject::Streamer(R__b);
+      R__b >> tig_num_chan;
+      R__b >> tig_event_id;
+      {
+         vector<int> &R__stl =  tig_midas_id;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<int> &R__stl =  tig_type;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<int> &R__stl =  channel_number;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<int> &R__stl =  channel_raw;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<int> &R__stl =  cfd_value;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<int> &R__stl =  led_value;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<int> &R__stl =  charge_raw;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<float> &R__stl =  charge_cal;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            float R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<int> &R__stl =  timestamp_low;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<int> &R__stl =  timestamp_high;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<int> &R__stl =  timestamp_live;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<int> &R__stl =  timestamp_tr;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<int> &R__stl =  timestamp_ta;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<TH1F> &R__stl =  waveform;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            TH1F R__t;
+            R__t.Streamer(R__b);
+            R__stl.push_back(R__t);
+         }
+      }
+      R__b.CheckByteCount(R__s, R__c, TTigEventFragment::IsA());
+   } else {
+      R__c = R__b.WriteVersion(TTigEventFragment::IsA(), kTRUE);
+      TObject::Streamer(R__b);
+      R__b << tig_num_chan;
+      R__b << tig_event_id;
+      {
+         vector<int> &R__stl =  tig_midas_id;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<int> &R__stl =  tig_type;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<int> &R__stl =  channel_number;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<int> &R__stl =  channel_raw;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<int> &R__stl =  cfd_value;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<int> &R__stl =  led_value;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<int> &R__stl =  charge_raw;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<float> &R__stl =  charge_cal;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<float>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<int> &R__stl =  timestamp_low;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<int> &R__stl =  timestamp_high;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<int> &R__stl =  timestamp_live;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<int> &R__stl =  timestamp_tr;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<int> &R__stl =  timestamp_ta;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<TH1F> &R__stl =  waveform;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<TH1F>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            ((TH1F&)(*R__k)).Streamer(R__b);
+            }
+         }
+      }
+      R__b.SetByteCount(R__c, kTRUE);
+   }
+}
+
+//______________________________________________________________________________
+void TTigEventFragment::ShowMembers(TMemberInspector &R__insp)
+{
+      // Inspect the data members of an object of class TTigEventFragment.
+      TClass *R__cl = ::TTigEventFragment::IsA();
+      if (R__cl || R__insp.IsA()) { }
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "tig_num_chan", &tig_num_chan);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "tig_event_id", &tig_event_id);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "tig_midas_id", (void*)&tig_midas_id);
+      R__insp.InspectMember("vector<int>", (void*)&tig_midas_id, "tig_midas_id.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "tig_type", (void*)&tig_type);
+      R__insp.InspectMember("vector<int>", (void*)&tig_type, "tig_type.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "channel_number", (void*)&channel_number);
+      R__insp.InspectMember("vector<int>", (void*)&channel_number, "channel_number.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "channel_raw", (void*)&channel_raw);
+      R__insp.InspectMember("vector<int>", (void*)&channel_raw, "channel_raw.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "cfd_value", (void*)&cfd_value);
+      R__insp.InspectMember("vector<int>", (void*)&cfd_value, "cfd_value.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "led_value", (void*)&led_value);
+      R__insp.InspectMember("vector<int>", (void*)&led_value, "led_value.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "charge_raw", (void*)&charge_raw);
+      R__insp.InspectMember("vector<int>", (void*)&charge_raw, "charge_raw.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "charge_cal", (void*)&charge_cal);
+      R__insp.InspectMember("vector<float>", (void*)&charge_cal, "charge_cal.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "timestamp_low", (void*)&timestamp_low);
+      R__insp.InspectMember("vector<int>", (void*)&timestamp_low, "timestamp_low.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "timestamp_high", (void*)&timestamp_high);
+      R__insp.InspectMember("vector<int>", (void*)&timestamp_high, "timestamp_high.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "timestamp_live", (void*)&timestamp_live);
+      R__insp.InspectMember("vector<int>", (void*)&timestamp_live, "timestamp_live.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "timestamp_tr", (void*)&timestamp_tr);
+      R__insp.InspectMember("vector<int>", (void*)&timestamp_tr, "timestamp_tr.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "timestamp_ta", (void*)&timestamp_ta);
+      R__insp.InspectMember("vector<int>", (void*)&timestamp_ta, "timestamp_ta.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "waveform", (void*)&waveform);
+      R__insp.InspectMember("vector<TH1F>", (void*)&waveform, "waveform.", false);
+      TObject::ShowMembers(R__insp);
+}
+
+namespace ROOT {
+   // Wrappers around operator new
+   static void *new_TTigEventFragment(void *p) {
+      return  p ? new(p) ::TTigEventFragment : new ::TTigEventFragment;
+   }
+   static void *newArray_TTigEventFragment(Long_t nElements, void *p) {
+      return p ? new(p) ::TTigEventFragment[nElements] : new ::TTigEventFragment[nElements];
+   }
+   // Wrapper around operator delete
+   static void delete_TTigEventFragment(void *p) {
+      delete ((::TTigEventFragment*)p);
+   }
+   static void deleteArray_TTigEventFragment(void *p) {
+      delete [] ((::TTigEventFragment*)p);
+   }
+   static void destruct_TTigEventFragment(void *p) {
+      typedef ::TTigEventFragment current_t;
+      ((current_t*)p)->~current_t();
+   }
+   // Wrapper around a custom streamer member function.
+   static void streamer_TTigEventFragment(TBuffer &buf, void *obj) {
+      ((::TTigEventFragment*)obj)->::TTigEventFragment::Streamer(buf);
+   }
+} // end of namespace ROOT for class ::TTigEventFragment
+
+namespace ROOT {
+   void vectorlETH1FgR_ShowMembers(void *obj, TMemberInspector &R__insp);
+   static void vectorlETH1FgR_Dictionary();
+   static void *new_vectorlETH1FgR(void *p = 0);
+   static void *newArray_vectorlETH1FgR(Long_t size, void *p);
+   static void delete_vectorlETH1FgR(void *p);
+   static void deleteArray_vectorlETH1FgR(void *p);
+   static void destruct_vectorlETH1FgR(void *p);
+
+   // Function generating the singleton type initializer
+   static TGenericClassInfo *GenerateInitInstanceLocal(const vector<TH1F>*)
+   {
+      vector<TH1F> *ptr = 0;
+      static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(typeid(vector<TH1F>),0);
+      static ::ROOT::TGenericClassInfo 
+         instance("vector<TH1F>", -2, "prec_stl/vector", 49,
+                  typeid(vector<TH1F>), DefineBehavior(ptr, ptr),
+                  0, &vectorlETH1FgR_Dictionary, isa_proxy, 0,
+                  sizeof(vector<TH1F>) );
+      instance.SetNew(&new_vectorlETH1FgR);
+      instance.SetNewArray(&newArray_vectorlETH1FgR);
+      instance.SetDelete(&delete_vectorlETH1FgR);
+      instance.SetDeleteArray(&deleteArray_vectorlETH1FgR);
+      instance.SetDestructor(&destruct_vectorlETH1FgR);
+      instance.AdoptCollectionProxyInfo(TCollectionProxyInfo::Generate(TCollectionProxyInfo::Pushback< vector<TH1F> >()));
+      return &instance;
+   }
+   // Static variable to force the class initialization
+   static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const vector<TH1F>*)0x0); R__UseDummy(_R__UNIQUE_(Init));
+
+   // Dictionary for non-ClassDef classes
+   static void vectorlETH1FgR_Dictionary() {
+      ::ROOT::GenerateInitInstanceLocal((const vector<TH1F>*)0x0)->GetClass();
+   }
+
+} // end of namespace ROOT
+
+namespace ROOT {
+   // Wrappers around operator new
+   static void *new_vectorlETH1FgR(void *p) {
+      return  p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<TH1F> : new vector<TH1F>;
+   }
+   static void *newArray_vectorlETH1FgR(Long_t nElements, void *p) {
+      return p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<TH1F>[nElements] : new vector<TH1F>[nElements];
+   }
+   // Wrapper around operator delete
+   static void delete_vectorlETH1FgR(void *p) {
+      delete ((vector<TH1F>*)p);
+   }
+   static void deleteArray_vectorlETH1FgR(void *p) {
+      delete [] ((vector<TH1F>*)p);
+   }
+   static void destruct_vectorlETH1FgR(void *p) {
+      typedef vector<TH1F> current_t;
+      ((current_t*)p)->~current_t();
+   }
+} // end of namespace ROOT for class vector<TH1F>
+
+namespace ROOT {
+   void vectorlEfloatgR_ShowMembers(void *obj, TMemberInspector &R__insp);
+   static void vectorlEfloatgR_Dictionary();
+   static void *new_vectorlEfloatgR(void *p = 0);
+   static void *newArray_vectorlEfloatgR(Long_t size, void *p);
+   static void delete_vectorlEfloatgR(void *p);
+   static void deleteArray_vectorlEfloatgR(void *p);
+   static void destruct_vectorlEfloatgR(void *p);
+
+   // Function generating the singleton type initializer
+   static TGenericClassInfo *GenerateInitInstanceLocal(const vector<float>*)
+   {
+      vector<float> *ptr = 0;
+      static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(typeid(vector<float>),0);
+      static ::ROOT::TGenericClassInfo 
+         instance("vector<float>", -2, "vector.dll", 0,
+                  typeid(vector<float>), DefineBehavior(ptr, ptr),
+                  0, &vectorlEfloatgR_Dictionary, isa_proxy, 0,
+                  sizeof(vector<float>) );
+      instance.SetNew(&new_vectorlEfloatgR);
+      instance.SetNewArray(&newArray_vectorlEfloatgR);
+      instance.SetDelete(&delete_vectorlEfloatgR);
+      instance.SetDeleteArray(&deleteArray_vectorlEfloatgR);
+      instance.SetDestructor(&destruct_vectorlEfloatgR);
+      instance.AdoptCollectionProxyInfo(TCollectionProxyInfo::Generate(TCollectionProxyInfo::Pushback< vector<float> >()));
+      return &instance;
+   }
+   // Static variable to force the class initialization
+   static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const vector<float>*)0x0); R__UseDummy(_R__UNIQUE_(Init));
+
+   // Dictionary for non-ClassDef classes
+   static void vectorlEfloatgR_Dictionary() {
+      ::ROOT::GenerateInitInstanceLocal((const vector<float>*)0x0)->GetClass();
+   }
+
+} // end of namespace ROOT
+
+namespace ROOT {
+   // Wrappers around operator new
+   static void *new_vectorlEfloatgR(void *p) {
+      return  p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<float> : new vector<float>;
+   }
+   static void *newArray_vectorlEfloatgR(Long_t nElements, void *p) {
+      return p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<float>[nElements] : new vector<float>[nElements];
+   }
+   // Wrapper around operator delete
+   static void delete_vectorlEfloatgR(void *p) {
+      delete ((vector<float>*)p);
+   }
+   static void deleteArray_vectorlEfloatgR(void *p) {
+      delete [] ((vector<float>*)p);
+   }
+   static void destruct_vectorlEfloatgR(void *p) {
+      typedef vector<float> current_t;
+      ((current_t*)p)->~current_t();
+   }
+} // end of namespace ROOT for class vector<float>
+
+namespace ROOT {
+   void vectorlEintgR_ShowMembers(void *obj, TMemberInspector &R__insp);
+   static void vectorlEintgR_Dictionary();
+   static void *new_vectorlEintgR(void *p = 0);
+   static void *newArray_vectorlEintgR(Long_t size, void *p);
+   static void delete_vectorlEintgR(void *p);
+   static void deleteArray_vectorlEintgR(void *p);
+   static void destruct_vectorlEintgR(void *p);
+
+   // Function generating the singleton type initializer
+   static TGenericClassInfo *GenerateInitInstanceLocal(const vector<int>*)
+   {
+      vector<int> *ptr = 0;
+      static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(typeid(vector<int>),0);
+      static ::ROOT::TGenericClassInfo 
+         instance("vector<int>", -2, "prec_stl/vector", 49,
+                  typeid(vector<int>), DefineBehavior(ptr, ptr),
+                  0, &vectorlEintgR_Dictionary, isa_proxy, 0,
+                  sizeof(vector<int>) );
+      instance.SetNew(&new_vectorlEintgR);
+      instance.SetNewArray(&newArray_vectorlEintgR);
+      instance.SetDelete(&delete_vectorlEintgR);
+      instance.SetDeleteArray(&deleteArray_vectorlEintgR);
+      instance.SetDestructor(&destruct_vectorlEintgR);
+      instance.AdoptCollectionProxyInfo(TCollectionProxyInfo::Generate(TCollectionProxyInfo::Pushback< vector<int> >()));
+      return &instance;
+   }
+   // Static variable to force the class initialization
+   static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const vector<int>*)0x0); R__UseDummy(_R__UNIQUE_(Init));
+
+   // Dictionary for non-ClassDef classes
+   static void vectorlEintgR_Dictionary() {
+      ::ROOT::GenerateInitInstanceLocal((const vector<int>*)0x0)->GetClass();
+   }
+
+} // end of namespace ROOT
+
+namespace ROOT {
+   // Wrappers around operator new
+   static void *new_vectorlEintgR(void *p) {
+      return  p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<int> : new vector<int>;
+   }
+   static void *newArray_vectorlEintgR(Long_t nElements, void *p) {
+      return p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<int>[nElements] : new vector<int>[nElements];
+   }
+   // Wrapper around operator delete
+   static void delete_vectorlEintgR(void *p) {
+      delete ((vector<int>*)p);
+   }
+   static void deleteArray_vectorlEintgR(void *p) {
+      delete [] ((vector<int>*)p);
+   }
+   static void destruct_vectorlEintgR(void *p) {
+      typedef vector<int> current_t;
+      ((current_t*)p)->~current_t();
+   }
+} // end of namespace ROOT for class vector<int>
+
+/********************************************************
+* TTigEventFragmentDict.cxx
+* CAUTION: DON'T CHANGE THIS FILE. THIS FILE IS AUTOMATICALLY GENERATED
+*          FROM HEADER FILES LISTED IN G__setup_cpp_environmentXXX().
+*          CHANGE THOSE HEADER FILES AND REGENERATE THIS FILE.
+********************************************************/
+
+#ifdef G__MEMTEST
+#undef malloc
+#undef free
+#endif
+
+#if defined(__GNUC__) && __GNUC__ >= 4 && ((__GNUC_MINOR__ == 2 && __GNUC_PATCHLEVEL__ >= 1) || (__GNUC_MINOR__ >= 3))
+#pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif
+
+extern "C" void G__cpp_reset_tagtableTTigEventFragmentDict();
+
+extern "C" void G__set_cpp_environmentTTigEventFragmentDict() {
+  G__add_compiledheader("TObject.h");
+  G__add_compiledheader("TMemberInspector.h");
+  G__add_compiledheader("TTigEventFragment.h");
+  G__cpp_reset_tagtableTTigEventFragmentDict();
+}
+#include <new>
+extern "C" int G__cpp_dllrevTTigEventFragmentDict() { return(30051515); }
+
+/*********************************************************
+* Member function Interface Method
+*********************************************************/
+
+/* TTigEventFragment */
+static int G__TTigEventFragmentDict_207_0_1(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+   TTigEventFragment* p = NULL;
+   char* gvp = (char*) G__getgvp();
+   int n = G__getaryconstruct();
+   if (n) {
+     if ((gvp == (char*)G__PVOID) || (gvp == 0)) {
+       p = new TTigEventFragment[n];
+     } else {
+       p = new((void*) gvp) TTigEventFragment[n];
+     }
+   } else {
+     if ((gvp == (char*)G__PVOID) || (gvp == 0)) {
+       p = new TTigEventFragment;
+     } else {
+       p = new((void*) gvp) TTigEventFragment;
+     }
+   }
+   result7->obj.i = (long) p;
+   result7->ref = (long) p;
+   G__set_tagnum(result7,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TTigEventFragment));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigEventFragmentDict_207_0_2(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+   TTigEventFragment* p = NULL;
+   char* gvp = (char*) G__getgvp();
+   //m: 1
+   if ((gvp == (char*)G__PVOID) || (gvp == 0)) {
+     p = new TTigEventFragment((int) G__int(libp->para[0]));
+   } else {
+     p = new((void*) gvp) TTigEventFragment((int) G__int(libp->para[0]));
+   }
+   result7->obj.i = (long) p;
+   result7->ref = (long) p;
+   G__set_tagnum(result7,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TTigEventFragment));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigEventFragmentDict_207_0_3(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      ((TTigEventFragment*) G__getstructoffset())->Clear();
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigEventFragmentDict_207_0_6(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 85, (long) TTigEventFragment::Class());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigEventFragmentDict_207_0_7(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 67, (long) TTigEventFragment::Class_Name());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigEventFragmentDict_207_0_8(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 115, (long) TTigEventFragment::Class_Version());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigEventFragmentDict_207_0_9(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      TTigEventFragment::Dictionary();
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigEventFragmentDict_207_0_13(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      ((TTigEventFragment*) G__getstructoffset())->StreamerNVirtual(*(TBuffer*) libp->para[0].ref);
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigEventFragmentDict_207_0_14(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 67, (long) TTigEventFragment::DeclFileName());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigEventFragmentDict_207_0_15(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 105, (long) TTigEventFragment::ImplFileLine());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigEventFragmentDict_207_0_16(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 67, (long) TTigEventFragment::ImplFileName());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigEventFragmentDict_207_0_17(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 105, (long) TTigEventFragment::DeclFileLine());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+// automatic copy constructor
+static int G__TTigEventFragmentDict_207_0_18(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+
+{
+   TTigEventFragment* p;
+   void* tmp = (void*) G__int(libp->para[0]);
+   p = new TTigEventFragment(*(TTigEventFragment*) tmp);
+   result7->obj.i = (long) p;
+   result7->ref = (long) p;
+   G__set_tagnum(result7,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TTigEventFragment));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+// automatic destructor
+typedef TTigEventFragment G__TTTigEventFragment;
+static int G__TTigEventFragmentDict_207_0_19(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+   char* gvp = (char*) G__getgvp();
+   long soff = G__getstructoffset();
+   int n = G__getaryconstruct();
+   //
+   //has_a_delete: 1
+   //has_own_delete1arg: 0
+   //has_own_delete2arg: 0
+   //
+   if (!soff) {
+     return(1);
+   }
+   if (n) {
+     if (gvp == (char*)G__PVOID) {
+       delete[] (TTigEventFragment*) soff;
+     } else {
+       G__setgvp((long) G__PVOID);
+       for (int i = n - 1; i >= 0; --i) {
+         ((TTigEventFragment*) (soff+(sizeof(TTigEventFragment)*i)))->~G__TTTigEventFragment();
+       }
+       G__setgvp((long)gvp);
+     }
+   } else {
+     if (gvp == (char*)G__PVOID) {
+       delete (TTigEventFragment*) soff;
+     } else {
+       G__setgvp((long) G__PVOID);
+       ((TTigEventFragment*) (soff))->~G__TTTigEventFragment();
+       G__setgvp((long)gvp);
+     }
+   }
+   G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+// automatic assignment operator
+static int G__TTigEventFragmentDict_207_0_20(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+   TTigEventFragment* dest = (TTigEventFragment*) G__getstructoffset();
+   *dest = *(TTigEventFragment*) libp->para[0].ref;
+   const TTigEventFragment& obj = *dest;
+   result7->ref = (long) (&obj);
+   result7->obj.i = (long) (&obj);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+
+/* Setting up global function */
+
+/*********************************************************
+* Member function Stub
+*********************************************************/
+
+/* TTigEventFragment */
+
+/*********************************************************
+* Global function Stub
+*********************************************************/
+
+/*********************************************************
+* Get size of pointer to member function
+*********************************************************/
+class G__Sizep2memfuncTTigEventFragmentDict {
+ public:
+  G__Sizep2memfuncTTigEventFragmentDict(): p(&G__Sizep2memfuncTTigEventFragmentDict::sizep2memfunc) {}
+    size_t sizep2memfunc() { return(sizeof(p)); }
+  private:
+    size_t (G__Sizep2memfuncTTigEventFragmentDict::*p)();
+};
+
+size_t G__get_sizep2memfuncTTigEventFragmentDict()
+{
+  G__Sizep2memfuncTTigEventFragmentDict a;
+  G__setsizep2memfunc((int)a.sizep2memfunc());
+  return((size_t)a.sizep2memfunc());
+}
+
+
+/*********************************************************
+* virtual base class offset calculation interface
+*********************************************************/
+
+   /* Setting up class inheritance */
+
+/*********************************************************
+* Inheritance information setup/
+*********************************************************/
+extern "C" void G__cpp_setup_inheritanceTTigEventFragmentDict() {
+
+   /* Setting up class inheritance */
+   if(0==G__getnumbaseclass(G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TTigEventFragment))) {
+     TTigEventFragment *G__Lderived;
+     G__Lderived=(TTigEventFragment*)0x1000;
+     {
+       TObject *G__Lpbase=(TObject*)G__Lderived;
+       G__inheritance_setup(G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TTigEventFragment),G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TObject),(long)G__Lpbase-(long)G__Lderived,1,1);
+     }
+   }
+}
+
+/*********************************************************
+* typedef information setup/
+*********************************************************/
+extern "C" void G__cpp_setup_typetableTTigEventFragmentDict() {
+
+   /* Setting up typedef entry */
+   G__search_typename2("Version_t",115,-1,0,-1);
+   G__setnewtype(-1,"Class version identifier (short)",0);
+   G__search_typename2("vector<ROOT::TSchemaHelper>",117,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<TVirtualArray*>",117,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TVectorT<Float_t>",117,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TVectorTlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TVectorT<Double_t>",117,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TVectorTlEdoublegR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<int>",117,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<TH1F>",117,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlETH1FcOallocatorlETH1FgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlETH1FcOallocatorlETH1FgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlETH1FcOallocatorlETH1FgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlETH1FcOallocatorlETH1FgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlETH1FcOallocatorlETH1FgRsPgR));
+   G__setnewtype(-1,NULL,0);
+}
+
+/*********************************************************
+* Data Member information setup/
+*********************************************************/
+
+   /* Setting up class,struct,union tag member variable */
+
+   /* TTigEventFragment */
+static void G__setup_memvarTTigEventFragment(void) {
+   G__tag_memvar_setup(G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TTigEventFragment));
+   { TTigEventFragment *p; p=(TTigEventFragment*)0x1000; if (p) { }
+   G__memvar_setup((void*)((long)(&p->tig_num_chan)-(long)(p)),105,0,0,-1,-1,-1,1,"tig_num_chan=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->tig_event_id)-(long)(p)),105,0,0,-1,-1,-1,1,"tig_event_id=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->tig_midas_id)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"tig_midas_id=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->tig_type)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"tig_type=",0,"0 for tig10 and 1 for tig 64, sound ok?  good. ");
+   G__memvar_setup((void*)((long)(&p->channel_number)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"channel_number=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->channel_raw)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"channel_raw=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->cfd_value)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"cfd_value=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->led_value)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"led_value=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->charge_raw)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"charge_raw=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->charge_cal)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEfloatcOallocatorlEfloatgRsPgR),G__defined_typename("vector<float>"),-1,1,"charge_cal=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->timestamp_low)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"timestamp_low=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->timestamp_high)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"timestamp_high=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->timestamp_live)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"timestamp_live=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->timestamp_tr)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"timestamp_tr=",0,"triggers requested");
+   G__memvar_setup((void*)((long)(&p->timestamp_ta)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"timestamp_ta=",0,"triggers accepted");
+   G__memvar_setup((void*)((long)(&p->waveform)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_vectorlETH1FcOallocatorlETH1FgRsPgR),G__defined_typename("vector<TH1F>"),-1,1,"waveform=",0,(char*)NULL);
+   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TClass),-1,-2,4,"fgIsA=",0,(char*)NULL);
+   }
+   G__tag_memvar_reset();
+}
+
+extern "C" void G__cpp_setup_memvarTTigEventFragmentDict() {
+}
+/***********************************************************
+************************************************************
+************************************************************
+************************************************************
+************************************************************
+************************************************************
+************************************************************
+***********************************************************/
+
+/*********************************************************
+* Member function information setup for each class
+*********************************************************/
+static void G__setup_memfuncTTigEventFragment(void) {
+   /* TTigEventFragment */
+   G__tag_memfunc_setup(G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TTigEventFragment));
+   G__memfunc_setup("TTigEventFragment",1710,G__TTigEventFragmentDict_207_0_1, 105, G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TTigEventFragment), -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("TTigEventFragment",1710,G__TTigEventFragmentDict_207_0_2, 105, G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TTigEventFragment), -1, 0, 1, 1, 1, 0, "i - - 0 - MaxChannel", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("Clear",487,G__TTigEventFragmentDict_207_0_3, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("Clear",487,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "C - 'Option_t' 10 - -", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("Dump",406,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("Class",502,G__TTigEventFragmentDict_207_0_6, 85, G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TClass), -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (TClass* (*)())(&TTigEventFragment::Class) ), 0);
+   G__memfunc_setup("Class_Name",982,G__TTigEventFragmentDict_207_0_7, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TTigEventFragment::Class_Name) ), 0);
+   G__memfunc_setup("Class_Version",1339,G__TTigEventFragmentDict_207_0_8, 115, -1, G__defined_typename("Version_t"), 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (Version_t (*)())(&TTigEventFragment::Class_Version) ), 0);
+   G__memfunc_setup("Dictionary",1046,G__TTigEventFragmentDict_207_0_9, 121, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (void (*)())(&TTigEventFragment::Dictionary) ), 0);
+   G__memfunc_setup("IsA",253,(G__InterfaceMethod) NULL,85, G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TClass), -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("ShowMembers",1132,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'TMemberInspector' - 1 - insp", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("Streamer",835,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - b", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("StreamerNVirtual",1656,G__TTigEventFragmentDict_207_0_13, 121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - b", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("DeclFileName",1145,G__TTigEventFragmentDict_207_0_14, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TTigEventFragment::DeclFileName) ), 0);
+   G__memfunc_setup("ImplFileLine",1178,G__TTigEventFragmentDict_207_0_15, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&TTigEventFragment::ImplFileLine) ), 0);
+   G__memfunc_setup("ImplFileName",1171,G__TTigEventFragmentDict_207_0_16, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TTigEventFragment::ImplFileName) ), 0);
+   G__memfunc_setup("DeclFileLine",1152,G__TTigEventFragmentDict_207_0_17, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&TTigEventFragment::DeclFileLine) ), 0);
+   // automatic copy constructor
+   G__memfunc_setup("TTigEventFragment", 1710, G__TTigEventFragmentDict_207_0_18, (int) ('i'), G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TTigEventFragment), -1, 0, 1, 1, 1, 0, "u 'TTigEventFragment' - 11 - -", (char*) NULL, (void*) NULL, 0);
+   // automatic destructor
+   G__memfunc_setup("~TTigEventFragment", 1836, G__TTigEventFragmentDict_207_0_19, (int) ('y'), -1, -1, 0, 0, 1, 1, 0, "", (char*) NULL, (void*) NULL, 1);
+   // automatic assignment operator
+   G__memfunc_setup("operator=", 937, G__TTigEventFragmentDict_207_0_20, (int) ('u'), G__get_linked_tagnum(&G__TTigEventFragmentDictLN_TTigEventFragment), -1, 1, 1, 1, 1, 0, "u 'TTigEventFragment' - 11 - -", (char*) NULL, (void*) NULL, 0);
+   G__tag_memfunc_reset();
+}
+
+
+/*********************************************************
+* Member function information setup
+*********************************************************/
+extern "C" void G__cpp_setup_memfuncTTigEventFragmentDict() {
+}
+
+/*********************************************************
+* Global variable information setup for each class
+*********************************************************/
+static void G__cpp_setup_global0() {
+
+   /* Setting up global variables */
+   G__resetplocal();
+
+}
+
+static void G__cpp_setup_global1() {
+}
+
+static void G__cpp_setup_global2() {
+
+   G__resetglobalenv();
+}
+extern "C" void G__cpp_setup_globalTTigEventFragmentDict() {
+  G__cpp_setup_global0();
+  G__cpp_setup_global1();
+  G__cpp_setup_global2();
+}
+
+/*********************************************************
+* Global function information setup for each class
+*********************************************************/
+static void G__cpp_setup_func0() {
+   G__lastifuncposition();
+
+}
+
+static void G__cpp_setup_func1() {
+}
+
+static void G__cpp_setup_func2() {
+}
+
+static void G__cpp_setup_func3() {
+}
+
+static void G__cpp_setup_func4() {
+}
+
+static void G__cpp_setup_func5() {
+}
+
+static void G__cpp_setup_func6() {
+}
+
+static void G__cpp_setup_func7() {
+}
+
+static void G__cpp_setup_func8() {
+}
+
+static void G__cpp_setup_func9() {
+}
+
+static void G__cpp_setup_func10() {
+}
+
+static void G__cpp_setup_func11() {
+}
+
+static void G__cpp_setup_func12() {
+}
+
+static void G__cpp_setup_func13() {
+}
+
+static void G__cpp_setup_func14() {
+
+   G__resetifuncposition();
+}
+
+extern "C" void G__cpp_setup_funcTTigEventFragmentDict() {
+  G__cpp_setup_func0();
+  G__cpp_setup_func1();
+  G__cpp_setup_func2();
+  G__cpp_setup_func3();
+  G__cpp_setup_func4();
+  G__cpp_setup_func5();
+  G__cpp_setup_func6();
+  G__cpp_setup_func7();
+  G__cpp_setup_func8();
+  G__cpp_setup_func9();
+  G__cpp_setup_func10();
+  G__cpp_setup_func11();
+  G__cpp_setup_func12();
+  G__cpp_setup_func13();
+  G__cpp_setup_func14();
+}
+
+/*********************************************************
+* Class,struct,union,enum tag information setup
+*********************************************************/
+/* Setup class/struct taginfo */
+G__linked_taginfo G__TTigEventFragmentDictLN_TClass = { "TClass" , 99 , -1 };
+G__linked_taginfo G__TTigEventFragmentDictLN_TBuffer = { "TBuffer" , 99 , -1 };
+G__linked_taginfo G__TTigEventFragmentDictLN_TMemberInspector = { "TMemberInspector" , 99 , -1 };
+G__linked_taginfo G__TTigEventFragmentDictLN_TObject = { "TObject" , 99 , -1 };
+G__linked_taginfo G__TTigEventFragmentDictLN_vectorlEfloatcOallocatorlEfloatgRsPgR = { "vector<float,allocator<float> >" , 99 , -1 };
+G__linked_taginfo G__TTigEventFragmentDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR = { "vector<ROOT::TSchemaHelper,allocator<ROOT::TSchemaHelper> >" , 99 , -1 };
+G__linked_taginfo G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR = { "reverse_iterator<vector<ROOT::TSchemaHelper,allocator<ROOT::TSchemaHelper> >::iterator>" , 99 , -1 };
+G__linked_taginfo G__TTigEventFragmentDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR = { "vector<TVirtualArray*,allocator<TVirtualArray*> >" , 99 , -1 };
+G__linked_taginfo G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<TVirtualArray*,allocator<TVirtualArray*> >::iterator>" , 99 , -1 };
+G__linked_taginfo G__TTigEventFragmentDictLN_TVectorTlEfloatgR = { "TVectorT<float>" , 99 , -1 };
+G__linked_taginfo G__TTigEventFragmentDictLN_TVectorTlEdoublegR = { "TVectorT<double>" , 99 , -1 };
+G__linked_taginfo G__TTigEventFragmentDictLN_TTigEventFragment = { "TTigEventFragment" , 99 , -1 };
+G__linked_taginfo G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR = { "vector<int,allocator<int> >" , 99 , -1 };
+G__linked_taginfo G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<int,allocator<int> >::iterator>" , 99 , -1 };
+G__linked_taginfo G__TTigEventFragmentDictLN_vectorlETH1FcOallocatorlETH1FgRsPgR = { "vector<TH1F,allocator<TH1F> >" , 99 , -1 };
+G__linked_taginfo G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlETH1FcOallocatorlETH1FgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<TH1F,allocator<TH1F> >::iterator>" , 99 , -1 };
+
+/* Reset class/struct taginfo */
+extern "C" void G__cpp_reset_tagtableTTigEventFragmentDict() {
+  G__TTigEventFragmentDictLN_TClass.tagnum = -1 ;
+  G__TTigEventFragmentDictLN_TBuffer.tagnum = -1 ;
+  G__TTigEventFragmentDictLN_TMemberInspector.tagnum = -1 ;
+  G__TTigEventFragmentDictLN_TObject.tagnum = -1 ;
+  G__TTigEventFragmentDictLN_vectorlEfloatcOallocatorlEfloatgRsPgR.tagnum = -1 ;
+  G__TTigEventFragmentDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR.tagnum = -1 ;
+  G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR.tagnum = -1 ;
+  G__TTigEventFragmentDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR.tagnum = -1 ;
+  G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR.tagnum = -1 ;
+  G__TTigEventFragmentDictLN_TVectorTlEfloatgR.tagnum = -1 ;
+  G__TTigEventFragmentDictLN_TVectorTlEdoublegR.tagnum = -1 ;
+  G__TTigEventFragmentDictLN_TTigEventFragment.tagnum = -1 ;
+  G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR.tagnum = -1 ;
+  G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR.tagnum = -1 ;
+  G__TTigEventFragmentDictLN_vectorlETH1FcOallocatorlETH1FgRsPgR.tagnum = -1 ;
+  G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlETH1FcOallocatorlETH1FgRsPgRcLcLiteratorgR.tagnum = -1 ;
+}
+
+
+extern "C" void G__cpp_setup_tagtableTTigEventFragmentDict() {
+
+   /* Setting up class,struct,union tag entry */
+   G__get_linked_tagnum_fwd(&G__TTigEventFragmentDictLN_TClass);
+   G__get_linked_tagnum_fwd(&G__TTigEventFragmentDictLN_TBuffer);
+   G__get_linked_tagnum_fwd(&G__TTigEventFragmentDictLN_TMemberInspector);
+   G__get_linked_tagnum_fwd(&G__TTigEventFragmentDictLN_TObject);
+   G__get_linked_tagnum_fwd(&G__TTigEventFragmentDictLN_vectorlEfloatcOallocatorlEfloatgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TTigEventFragmentDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR);
+   G__get_linked_tagnum_fwd(&G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR);
+   G__get_linked_tagnum_fwd(&G__TTigEventFragmentDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR);
+   G__get_linked_tagnum_fwd(&G__TTigEventFragmentDictLN_TVectorTlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigEventFragmentDictLN_TVectorTlEdoublegR);
+   G__tagtable_setup(G__get_linked_tagnum_fwd(&G__TTigEventFragmentDictLN_TTigEventFragment),sizeof(TTigEventFragment),-1,62720,"TTigEventFragment structure",G__setup_memvarTTigEventFragment,G__setup_memfuncTTigEventFragment);
+   G__get_linked_tagnum_fwd(&G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR);
+   G__get_linked_tagnum_fwd(&G__TTigEventFragmentDictLN_vectorlETH1FcOallocatorlETH1FgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlETH1FcOallocatorlETH1FgRsPgRcLcLiteratorgR);
+}
+extern "C" void G__cpp_setupTTigEventFragmentDict(void) {
+  G__check_setup_version(30051515,"G__cpp_setupTTigEventFragmentDict()");
+  G__set_cpp_environmentTTigEventFragmentDict();
+  G__cpp_setup_tagtableTTigEventFragmentDict();
+
+  G__cpp_setup_inheritanceTTigEventFragmentDict();
+
+  G__cpp_setup_typetableTTigEventFragmentDict();
+
+  G__cpp_setup_memvarTTigEventFragmentDict();
+
+  G__cpp_setup_memfuncTTigEventFragmentDict();
+  G__cpp_setup_globalTTigEventFragmentDict();
+  G__cpp_setup_funcTTigEventFragmentDict();
+
+   if(0==G__getsizep2memfunc()) G__get_sizep2memfuncTTigEventFragmentDict();
+  return;
+}
+class G__cpp_setup_initTTigEventFragmentDict {
+  public:
+    G__cpp_setup_initTTigEventFragmentDict() { G__add_setup_func("TTigEventFragmentDict",(G__incsetup)(&G__cpp_setupTTigEventFragmentDict)); G__call_setup_funcs(); }
+   ~G__cpp_setup_initTTigEventFragmentDict() { G__remove_setup_func("TTigEventFragmentDict"); }
+};
+G__cpp_setup_initTTigEventFragmentDict G__cpp_setup_initializerTTigEventFragmentDict;
+
diff --git a/NPLib/Tigress/TTigEventFragmentDict.h b/NPLib/Tigress/TTigEventFragmentDict.h
new file mode 100644
index 000000000..e55c6049f
--- /dev/null
+++ b/NPLib/Tigress/TTigEventFragmentDict.h
@@ -0,0 +1,59 @@
+/********************************************************************
+* TTigEventFragmentDict.h
+* CAUTION: DON'T CHANGE THIS FILE. THIS FILE IS AUTOMATICALLY GENERATED
+*          FROM HEADER FILES LISTED IN G__setup_cpp_environmentXXX().
+*          CHANGE THOSE HEADER FILES AND REGENERATE THIS FILE.
+********************************************************************/
+#ifdef __CINT__
+#error TTigEventFragmentDict.h/C is only for compilation. Abort cint.
+#endif
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <string.h>
+#define G__ANSIHEADER
+#define G__DICTIONARY
+#define G__PRIVATE_GVALUE
+#include "G__ci.h"
+#include "FastAllocString.h"
+extern "C" {
+extern void G__cpp_setup_tagtableTTigEventFragmentDict();
+extern void G__cpp_setup_inheritanceTTigEventFragmentDict();
+extern void G__cpp_setup_typetableTTigEventFragmentDict();
+extern void G__cpp_setup_memvarTTigEventFragmentDict();
+extern void G__cpp_setup_globalTTigEventFragmentDict();
+extern void G__cpp_setup_memfuncTTigEventFragmentDict();
+extern void G__cpp_setup_funcTTigEventFragmentDict();
+extern void G__set_cpp_environmentTTigEventFragmentDict();
+}
+
+
+#include "TObject.h"
+#include "TMemberInspector.h"
+#include "TTigEventFragment.h"
+#include <algorithm>
+namespace std { }
+using namespace std;
+
+#ifndef G__MEMFUNCBODY
+#endif
+
+extern G__linked_taginfo G__TTigEventFragmentDictLN_TClass;
+extern G__linked_taginfo G__TTigEventFragmentDictLN_TBuffer;
+extern G__linked_taginfo G__TTigEventFragmentDictLN_TMemberInspector;
+extern G__linked_taginfo G__TTigEventFragmentDictLN_TObject;
+extern G__linked_taginfo G__TTigEventFragmentDictLN_vectorlEfloatcOallocatorlEfloatgRsPgR;
+extern G__linked_taginfo G__TTigEventFragmentDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR;
+extern G__linked_taginfo G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR;
+extern G__linked_taginfo G__TTigEventFragmentDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR;
+extern G__linked_taginfo G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR;
+extern G__linked_taginfo G__TTigEventFragmentDictLN_TVectorTlEfloatgR;
+extern G__linked_taginfo G__TTigEventFragmentDictLN_TVectorTlEdoublegR;
+extern G__linked_taginfo G__TTigEventFragmentDictLN_TTigEventFragment;
+extern G__linked_taginfo G__TTigEventFragmentDictLN_vectorlEintcOallocatorlEintgRsPgR;
+extern G__linked_taginfo G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR;
+extern G__linked_taginfo G__TTigEventFragmentDictLN_vectorlETH1FcOallocatorlETH1FgRsPgR;
+extern G__linked_taginfo G__TTigEventFragmentDictLN_reverse_iteratorlEvectorlETH1FcOallocatorlETH1FgRsPgRcLcLiteratorgR;
+
+/* STUB derived class for protected member access */
diff --git a/NPLib/Tigress/TTigressClover.cxx b/NPLib/Tigress/TTigressClover.cxx
new file mode 100644
index 000000000..1842efc2a
--- /dev/null
+++ b/NPLib/Tigress/TTigressClover.cxx
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * Copyright (C) 2009-2012   this file is part of the NPTool Project         *
+ *                                                                           *
+ * For the licensing terms see $NPTOOL/Licence/NPTool_Licence                *
+ * For the list of contributors see $NPTOOL/Licence/Contributors             *
+ *****************************************************************************/
+
+/*****************************************************************************
+ * Original Author: Adrien MATTA  contact address: a.matta@surrey.ac.uk      *
+ *                  Peter Bender  contact address: bender@triumf.ca          *
+ * Creation Date  : November 2012                                            *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class hold Tigress treated data                                     *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *****************************************************************************/
+
+#include "TTigressClover.h"
+
+
+TTigressClover::TTigressClover(int CloverId, double R, double Theta, double Phi)  {
+  Theta*=M_PI/180.;
+  Phi*=M_PI/180.;
+  
+  m_CloverId = CloverId;
+  m_Position = TVector3(0,0,1);
+  R = R + 7; //7mm for detector wall thickness 
+  m_Position.SetMag(R);
+  m_Position.SetTheta(Theta);
+  m_Position.SetPhi(Phi);
+ 
+  TVector3 CrystalPosition;
+  for(int i = 1 ; i<5 ; i++){
+    switch(i){
+      case 1:
+        CrystalPosition=TVector3(-27.5,27.5,0);
+      break;
+      case 2:
+       CrystalPosition=TVector3(27.5,27.5,0);
+      break;
+      case 3:
+        CrystalPosition=TVector3(27.5,-27.5,0);
+      break;
+      case 4:
+       CrystalPosition=TVector3(-27.5,-27.5,0);
+      break;
+      default:
+        CrystalPosition = TVector3(0,0,0);
+    };
+    
+    CrystalPosition+=TVector3(0,0,m_Position.Mag());
+    
+    if(m_Position.X()<0) CrystalPosition.RotateZ(M_PI);
+    if(m_Position.Y()<0) CrystalPosition.RotateZ(M_PI/2.);
+    
+    CrystalPosition.RotateY(Theta);
+    CrystalPosition.RotateZ(Phi);
+    AddCrystals(CrystalPosition,m_Position);
+  }
+
+}
+
+void TTigressClover::AddCrystals(TVector3 CrystalPosition,TVector3 CrystalNormal) {
+  m_Crystal.push_back(TTigressCrystal(m_Crystal.size()+1,CrystalPosition,CrystalNormal));
+}
+
+void TTigressClover::Clear() {
+  for(unsigned int i = 0 ; i < m_Crystal.size() ; i++)
+    m_Crystal[i].Clear();
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/NPLib/Tigress/TTigressClover.h b/NPLib/Tigress/TTigressClover.h
new file mode 100644
index 000000000..aba61e2cd
--- /dev/null
+++ b/NPLib/Tigress/TTigressClover.h
@@ -0,0 +1,56 @@
+#ifndef TTIGRESSCLOVER_H
+#define TTIGRESSCLOVER_H
+/*****************************************************************************
+ * Copyright (C) 2009-2012   this file is part of the NPTool Project         *
+ *                                                                           *
+ * For the licensing terms see $NPTOOL/Licence/NPTool_Licence                *
+ * For the list of contributors see $NPTOOL/Licence/Contributors             *
+ *****************************************************************************/
+
+/*****************************************************************************
+ * Original Author: Adrien MATTA  contact address: a.matta@surrey.ac.uk      *
+ *                  Peter Bender  contact address: bender@triumf.ca          *
+ * Creation Date  : November 2012                                            *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class hold Tigress treated data                                     *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *****************************************************************************/
+#include <vector>
+#include <string>
+#include <cmath>
+using namespace std;
+
+// NPL
+#include "TTigressCrystal.h"
+
+// ROOT
+#include "TVector3.h"
+
+class TTigressClover {
+
+  public:
+    TTigressClover(int CloverId=0, double R=0, double Theta=0, double Phi=0);
+    ~TTigressClover()  { };
+
+    void Clear();
+    TTigressCrystal GetCrystal(int i){return m_Crystal[i-1];};
+    
+  public:
+    void AddCrystals(TVector3 CrystalPosition, TVector3 CrystalNormal);
+
+    void RotateToPosition(double theta, double phi);
+
+    vector<TTigressCrystal> m_Crystal;
+
+  private:
+    int m_CloverId; //clover number.
+    TVector3 m_Position;
+
+};
+
+#endif
diff --git a/NPLib/Tigress/TTigressCrystal.cxx b/NPLib/Tigress/TTigressCrystal.cxx
new file mode 100644
index 000000000..58330c69a
--- /dev/null
+++ b/NPLib/Tigress/TTigressCrystal.cxx
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * Copyright (C) 2009-2012   this file is part of the NPTool Project         *
+ *                                                                           *
+ * For the licensing terms see $NPTOOL/Licence/NPTool_Licence                *
+ * For the list of contributors see $NPTOOL/Licence/Contributors             *
+ *****************************************************************************/
+
+/*****************************************************************************
+ * Original Author: Adrien MATTA  contact address: a.matta@surrey.ac.uk      *
+ *                  Peter Bender  contact address: bender@triumf.ca          *
+ * Creation Date  : November 2012                                            *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class hold Tigress treated data                                     *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *****************************************************************************/
+#include "TTigressCrystal.h"
+
+
+TTigressCrystal::TTigressCrystal(int CrystalNbr, TVector3 CrystalPosition,TVector3 CrystalNormal)  {
+  SetCrystalPosition(CrystalPosition);
+  SetCrystalNormal(CrystalNormal);
+  SetCrystalId(CrystalNbr);
+  Clear();
+}
+
+void TTigressCrystal::Clear() {
+  m_Core_Energy=-1000;
+  m_Segment_Energy.clear();
+  m_Segment_Time.clear();
+  m_Segment_Number.clear();
+}
+
+void TTigressCrystal::SetCrystalId(int x)  { 
+  m_CrystalId = x;  
+  switch(x) {
+    case 1:
+      m_CrystalName = "Blue";
+      break;
+    case 2:
+      m_CrystalName = "Green";
+      break;
+    case 3:
+      m_CrystalName = "Red";
+      break;
+    case 4:
+      m_CrystalName = "White";
+      break;
+    default:  
+      m_CrystalName = "Bacon";
+      break;  
+    };
+ }
+
+
+
+
+
+
+
diff --git a/NPLib/Tigress/TTigressCrystal.h b/NPLib/Tigress/TTigressCrystal.h
new file mode 100644
index 000000000..5a122b6e3
--- /dev/null
+++ b/NPLib/Tigress/TTigressCrystal.h
@@ -0,0 +1,53 @@
+#ifndef TTIGRESSCRYSTAL_H
+#define TTIGRESSCRYSTAL_H
+
+#include <vector>
+#include <string>
+#include <math.h>
+using namespace std;
+// ROOT
+#include"TVector3.h"
+#include "TRotation.h"
+
+// NPL
+#include"TTigressData.h"
+
+class TTigressCrystal  {
+
+  public:
+  TTigressCrystal(){Clear();};
+  TTigressCrystal(int CrystalNbr, TVector3 CrystalPosition,TVector3 CrystalNormal);
+  ~TTigressCrystal() {  };
+
+  void Clear();
+  TVector3 GetPosition();
+  void SetPosition(TVector3 position);
+  TVector3 GetCrystalNormal() {return m_Normal;};
+    TVector3 GetCrystalPosition() {return m_Position;};
+
+  private: 
+    
+    int m_CloverId;
+    int m_CrystalId;
+    std::string m_CrystalName;
+    TVector3 m_Position;    
+    TVector3 m_Normal;    
+    
+    void SetCloverId(int);
+    void SetCrystalId(int);
+    void SetCrystalPosition(TVector3 Position) {m_Position=Position;};
+    void SetCrystalNormal(TVector3 Normal) {m_Normal=Normal.Unit();};
+    
+  public:
+    double m_Core_Energy;
+    vector<double> m_Segment_Energy;
+    vector<double> m_Segment_Time;
+    vector<int> m_Segment_Number;
+};
+
+
+
+
+
+#endif
+
diff --git a/NPLib/Tigress/TTigressData.cxx b/NPLib/Tigress/TTigressData.cxx
index 0bfbeffaf..bbfd5fee1 100644
--- a/NPLib/Tigress/TTigressData.cxx
+++ b/NPLib/Tigress/TTigressData.cxx
@@ -42,23 +42,31 @@ TTigressData::~TTigressData()
 /////////////////////////
 void TTigressData::Clear()
 {
-  fTIG_CloverNbr.clear();
-  fTIG_CrystalNbr.clear();
-  fTIG_Energy.clear();
-  fTIG_Time.clear();
+  fTIG_Ge_CloverNbr.clear();
+  fTIG_Ge_CrystalNbr.clear();
+  fTIG_Ge_SegmentNbr.clear();
+  fTIG_Ge_Energy.clear();
+  fTIG_Ge_TimeCFD.clear();
+  fTIG_Ge_TimeLED.clear();
+
+  fTIG_BGO_CloverNbr.clear();
+  fTIG_BGO_PmNbr.clear();
+  fTIG_BGO_Energy.clear();
+  fTIG_BGO_TimeCFD.clear();
+  fTIG_BGO_TimeLED.clear();
 }
 
 /////////////////////////
 void TTigressData::Dump() const
 {
   // Energy
-  cout << "Tigress_Mult = " << fTIG_CloverNbr.size() << endl;
+ // cout << "Tigress_Mult = " << fTIG_CloverNbr.size() << endl;
   
   // Front
-  for (UShort_t i = 0; i < fTIG_CloverNbr.size(); i++){
-    cout << "Clover: " << fTIG_CloverNbr[i]
-         << " Crystal: " << fTIG_CrystalNbr[i]
-         << " Energy: " << fTIG_Energy[i]
-         << " Time: " << fTIG_Time[i] << endl;
-  }
-}
\ No newline at end of file
+ // for (UShort_t i = 0; i < fTIG_CloverNbr.size(); i++){
+ //   cout << "Clover: " << fTIG_CloverNbr[i]
+ //        << " Crystal: " << fTIG_CrystalNbr[i]
+ //        << " Energy: " << fTIG_Energy[i]
+ //        << " Time: " << fTIG_Time[i] << endl;
+ // }
+}
diff --git a/NPLib/Tigress/TTigressData.h b/NPLib/Tigress/TTigressData.h
index 65b9ac2d5..20a33aca4 100644
--- a/NPLib/Tigress/TTigressData.h
+++ b/NPLib/Tigress/TTigressData.h
@@ -32,10 +32,20 @@ class TTigressData : public TObject {
 private:
   // Tigress
   // Energy
-  vector<UShort_t> fTIG_CloverNbr;
-  vector<UShort_t> fTIG_CrystalNbr;
-  vector<Double_t> fTIG_Energy;
-  vector<Double_t> fTIG_Time;
+  vector<UShort_t> fTIG_Ge_CloverNbr;
+  vector<UShort_t> fTIG_Ge_CrystalNbr;
+  vector<UShort_t> fTIG_Ge_SegmentNbr;
+  vector<Double_t> fTIG_Ge_Energy;
+  vector<Double_t> fTIG_Ge_TimeCFD;
+  vector<Double_t> fTIG_Ge_TimeLED;
+
+  vector<UShort_t> fTIG_BGO_CloverNbr;
+  vector<UShort_t> fTIG_BGO_PmNbr;
+  vector<Double_t> fTIG_BGO_Energy;
+  vector<Double_t> fTIG_BGO_TimeCFD;
+  vector<Double_t> fTIG_BGO_TimeLED;
+
+
 public:
   TTigressData();
   virtual ~TTigressData();
@@ -45,18 +55,57 @@ public:
   void Dump() const;
   
   /////////////////////           SETTERS           ////////////////////////
-  void SetCloverNbr(UShort_t CloverNbr){fTIG_CloverNbr.push_back(CloverNbr); }
-  void SetCrystalNbr(UShort_t CrystalNbr){fTIG_CrystalNbr.push_back(CrystalNbr);}
-  void SetEnergy(UShort_t Energy){fTIG_Energy.push_back(Energy);}
-  void SetTime(UShort_t Time){fTIG_Time.push_back(Time);}
-  
+  void SetGeCloverNbr(UShort_t GeCloverNbr){fTIG_Ge_CloverNbr.push_back(GeCloverNbr); }
+  void SetGeCrystalNbr(UShort_t GeCrystalNbr){fTIG_Ge_CrystalNbr.push_back(GeCrystalNbr);}
+  void SetGeSegmentNbr(UShort_t GeSegmentNbr){fTIG_Ge_SegmentNbr.push_back(GeSegmentNbr);}
+  void SetGeEnergy(UShort_t GeEnergy){fTIG_Ge_Energy.push_back(GeEnergy);}
+  void SetGeTimeCFD(UShort_t GeTimeCFD){fTIG_Ge_TimeCFD.push_back(GeTimeCFD);}
+  void SetGeTimeLED(UShort_t GeTimeLED){fTIG_Ge_TimeLED.push_back(GeTimeLED);}
+
+  void SetBGOCloverNbr(UShort_t BGOCloverNbr){fTIG_BGO_CloverNbr.push_back(BGOCloverNbr); }
+  void SetBGOPmNbr(UShort_t BGOPmNbr){fTIG_BGO_PmNbr.push_back(BGOPmNbr);}
+  void SetBGOEnergy(UShort_t BGOEnergy){fTIG_BGO_Energy.push_back(BGOEnergy);}
+  void SetBGOTimeCFD(UShort_t BGOTimeCFD){fTIG_BGO_TimeCFD.push_back(BGOTimeCFD);}
+  void SetBGOTimeLED(UShort_t BGOTimeLED){fTIG_BGO_TimeLED.push_back(BGOTimeLED);}
+
   /////////////////////           GETTERS           ////////////////////////
-  UShort_t GetCloverNbr(unsigned int i) {return fTIG_CloverNbr[i];}
-  UShort_t GetCrystalNbr(unsigned int i){return fTIG_CrystalNbr[i];}
-  Double_t GetEnergyl(unsigned int i)   {return fTIG_Energy[i];}
-  Double_t GetTime(unsigned int i)      {return fTIG_Time[i];}
+  UShort_t GetGeCloverNbr(unsigned int i){return fTIG_Ge_CloverNbr[i]; }
+  UShort_t GetGeCrystalNbr(unsigned int i){return fTIG_Ge_CrystalNbr[i]; }
+  UShort_t GetGeSegmentNbr(unsigned int i){return fTIG_Ge_SegmentNbr[i]; }
+  Double_t GetGeEnergy(unsigned int i)   {return fTIG_Ge_Energy[i];}
+  Double_t GetGeTimeCFD(unsigned int i)      {return fTIG_Ge_TimeCFD[i];}
+  Double_t GetGeTimeLED(unsigned int i)      {return fTIG_Ge_TimeLED[i];}
+
+
+  UShort_t GetBGOCloverNbr(unsigned int i){return fTIG_BGO_CloverNbr[i]; }
+  UShort_t GetBGOPmNbr(unsigned int i)    {return fTIG_BGO_PmNbr[i]; }
+  Double_t GetBGOEnergy(unsigned int i)   {return fTIG_BGO_Energy[i];}
+  Double_t GetBGOTimeCFD(unsigned int i)     {return fTIG_BGO_TimeCFD[i];}
+  Double_t GetBGOTimeLED(unsigned int i)     {return fTIG_BGO_TimeLED[i];}
+
+  unsigned int GetMultiplicityGe()  {return fTIG_Ge_CloverNbr.size();}
+  unsigned int GetMultiplicityBGO()  {return fTIG_BGO_CloverNbr.size();}
+
+
   
   ClassDef(TTigressData,1)  // TigressData structure
 };
 
 #endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/NPLib/Tigress/TTigressDataDict.cxx b/NPLib/Tigress/TTigressDataDict.cxx
index bbaad1b40..6959bf4b2 100644
--- a/NPLib/Tigress/TTigressDataDict.cxx
+++ b/NPLib/Tigress/TTigressDataDict.cxx
@@ -1,5 +1,5 @@
 //
-// File generated by rootcint at Sat Nov 17 17:59:19 2012
+// File generated by rootcint at Tue Dec  4 10:29:51 2012
 
 // Do NOT change. Changes will be lost next time file is generated
 //
@@ -117,7 +117,7 @@ void TTigressData::Streamer(TBuffer &R__b)
       Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v) { }
       TObject::Streamer(R__b);
       {
-         vector<UShort_t> &R__stl =  fTIG_CloverNbr;
+         vector<UShort_t> &R__stl =  fTIG_Ge_CloverNbr;
          R__stl.clear();
          int R__i, R__n;
          R__b >> R__n;
@@ -129,7 +129,7 @@ void TTigressData::Streamer(TBuffer &R__b)
          }
       }
       {
-         vector<UShort_t> &R__stl =  fTIG_CrystalNbr;
+         vector<UShort_t> &R__stl =  fTIG_Ge_CrystalNbr;
          R__stl.clear();
          int R__i, R__n;
          R__b >> R__n;
@@ -141,7 +141,91 @@ void TTigressData::Streamer(TBuffer &R__b)
          }
       }
       {
-         vector<Double_t> &R__stl =  fTIG_Energy;
+         vector<UShort_t> &R__stl =  fTIG_Ge_SegmentNbr;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            unsigned short R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<Double_t> &R__stl =  fTIG_Ge_Energy;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            double R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<Double_t> &R__stl =  fTIG_Ge_TimeCFD;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            double R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<Double_t> &R__stl =  fTIG_Ge_TimeLED;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            double R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<UShort_t> &R__stl =  fTIG_BGO_CloverNbr;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            unsigned short R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<UShort_t> &R__stl =  fTIG_BGO_PmNbr;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            unsigned short R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<Double_t> &R__stl =  fTIG_BGO_Energy;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            double R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<Double_t> &R__stl =  fTIG_BGO_TimeCFD;
          R__stl.clear();
          int R__i, R__n;
          R__b >> R__n;
@@ -153,7 +237,7 @@ void TTigressData::Streamer(TBuffer &R__b)
          }
       }
       {
-         vector<Double_t> &R__stl =  fTIG_Time;
+         vector<Double_t> &R__stl =  fTIG_BGO_TimeLED;
          R__stl.clear();
          int R__i, R__n;
          R__b >> R__n;
@@ -169,7 +253,73 @@ void TTigressData::Streamer(TBuffer &R__b)
       R__c = R__b.WriteVersion(TTigressData::IsA(), kTRUE);
       TObject::Streamer(R__b);
       {
-         vector<UShort_t> &R__stl =  fTIG_CloverNbr;
+         vector<UShort_t> &R__stl =  fTIG_Ge_CloverNbr;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<UShort_t>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<UShort_t> &R__stl =  fTIG_Ge_CrystalNbr;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<UShort_t>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<UShort_t> &R__stl =  fTIG_Ge_SegmentNbr;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<UShort_t>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<Double_t> &R__stl =  fTIG_Ge_Energy;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<Double_t>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<Double_t> &R__stl =  fTIG_Ge_TimeCFD;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<Double_t>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<Double_t> &R__stl =  fTIG_Ge_TimeLED;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<Double_t>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<UShort_t> &R__stl =  fTIG_BGO_CloverNbr;
          int R__n=(&R__stl) ? int(R__stl.size()) : 0;
          R__b << R__n;
          if(R__n) {
@@ -180,7 +330,7 @@ void TTigressData::Streamer(TBuffer &R__b)
          }
       }
       {
-         vector<UShort_t> &R__stl =  fTIG_CrystalNbr;
+         vector<UShort_t> &R__stl =  fTIG_BGO_PmNbr;
          int R__n=(&R__stl) ? int(R__stl.size()) : 0;
          R__b << R__n;
          if(R__n) {
@@ -191,7 +341,7 @@ void TTigressData::Streamer(TBuffer &R__b)
          }
       }
       {
-         vector<Double_t> &R__stl =  fTIG_Energy;
+         vector<Double_t> &R__stl =  fTIG_BGO_Energy;
          int R__n=(&R__stl) ? int(R__stl.size()) : 0;
          R__b << R__n;
          if(R__n) {
@@ -202,7 +352,18 @@ void TTigressData::Streamer(TBuffer &R__b)
          }
       }
       {
-         vector<Double_t> &R__stl =  fTIG_Time;
+         vector<Double_t> &R__stl =  fTIG_BGO_TimeCFD;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<Double_t>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<Double_t> &R__stl =  fTIG_BGO_TimeLED;
          int R__n=(&R__stl) ? int(R__stl.size()) : 0;
          R__b << R__n;
          if(R__n) {
@@ -222,14 +383,28 @@ void TTigressData::ShowMembers(TMemberInspector &R__insp)
       // Inspect the data members of an object of class TTigressData.
       TClass *R__cl = ::TTigressData::IsA();
       if (R__cl || R__insp.IsA()) { }
-      R__insp.Inspect(R__cl, R__insp.GetParent(), "fTIG_CloverNbr", (void*)&fTIG_CloverNbr);
-      R__insp.InspectMember("vector<UShort_t>", (void*)&fTIG_CloverNbr, "fTIG_CloverNbr.", false);
-      R__insp.Inspect(R__cl, R__insp.GetParent(), "fTIG_CrystalNbr", (void*)&fTIG_CrystalNbr);
-      R__insp.InspectMember("vector<UShort_t>", (void*)&fTIG_CrystalNbr, "fTIG_CrystalNbr.", false);
-      R__insp.Inspect(R__cl, R__insp.GetParent(), "fTIG_Energy", (void*)&fTIG_Energy);
-      R__insp.InspectMember("vector<Double_t>", (void*)&fTIG_Energy, "fTIG_Energy.", false);
-      R__insp.Inspect(R__cl, R__insp.GetParent(), "fTIG_Time", (void*)&fTIG_Time);
-      R__insp.InspectMember("vector<Double_t>", (void*)&fTIG_Time, "fTIG_Time.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "fTIG_Ge_CloverNbr", (void*)&fTIG_Ge_CloverNbr);
+      R__insp.InspectMember("vector<UShort_t>", (void*)&fTIG_Ge_CloverNbr, "fTIG_Ge_CloverNbr.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "fTIG_Ge_CrystalNbr", (void*)&fTIG_Ge_CrystalNbr);
+      R__insp.InspectMember("vector<UShort_t>", (void*)&fTIG_Ge_CrystalNbr, "fTIG_Ge_CrystalNbr.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "fTIG_Ge_SegmentNbr", (void*)&fTIG_Ge_SegmentNbr);
+      R__insp.InspectMember("vector<UShort_t>", (void*)&fTIG_Ge_SegmentNbr, "fTIG_Ge_SegmentNbr.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "fTIG_Ge_Energy", (void*)&fTIG_Ge_Energy);
+      R__insp.InspectMember("vector<Double_t>", (void*)&fTIG_Ge_Energy, "fTIG_Ge_Energy.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "fTIG_Ge_TimeCFD", (void*)&fTIG_Ge_TimeCFD);
+      R__insp.InspectMember("vector<Double_t>", (void*)&fTIG_Ge_TimeCFD, "fTIG_Ge_TimeCFD.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "fTIG_Ge_TimeLED", (void*)&fTIG_Ge_TimeLED);
+      R__insp.InspectMember("vector<Double_t>", (void*)&fTIG_Ge_TimeLED, "fTIG_Ge_TimeLED.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "fTIG_BGO_CloverNbr", (void*)&fTIG_BGO_CloverNbr);
+      R__insp.InspectMember("vector<UShort_t>", (void*)&fTIG_BGO_CloverNbr, "fTIG_BGO_CloverNbr.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "fTIG_BGO_PmNbr", (void*)&fTIG_BGO_PmNbr);
+      R__insp.InspectMember("vector<UShort_t>", (void*)&fTIG_BGO_PmNbr, "fTIG_BGO_PmNbr.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "fTIG_BGO_Energy", (void*)&fTIG_BGO_Energy);
+      R__insp.InspectMember("vector<Double_t>", (void*)&fTIG_BGO_Energy, "fTIG_BGO_Energy.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "fTIG_BGO_TimeCFD", (void*)&fTIG_BGO_TimeCFD);
+      R__insp.InspectMember("vector<Double_t>", (void*)&fTIG_BGO_TimeCFD, "fTIG_BGO_TimeCFD.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "fTIG_BGO_TimeLED", (void*)&fTIG_BGO_TimeLED);
+      R__insp.InspectMember("vector<Double_t>", (void*)&fTIG_BGO_TimeLED, "fTIG_BGO_TimeLED.", false);
       TObject::ShowMembers(R__insp);
 }
 
@@ -439,114 +614,217 @@ static int G__TTigressDataDict_162_0_2(G__value* result7, G__CONST char* funcnam
 
 static int G__TTigressDataDict_162_0_5(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      ((TTigressData*) G__getstructoffset())->SetCloverNbr((UShort_t) G__int(libp->para[0]));
+      ((TTigressData*) G__getstructoffset())->SetGeCloverNbr((UShort_t) G__int(libp->para[0]));
       G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TTigressDataDict_162_0_6(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      ((TTigressData*) G__getstructoffset())->SetCrystalNbr((UShort_t) G__int(libp->para[0]));
+      ((TTigressData*) G__getstructoffset())->SetGeCrystalNbr((UShort_t) G__int(libp->para[0]));
       G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TTigressDataDict_162_0_7(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      ((TTigressData*) G__getstructoffset())->SetEnergy((UShort_t) G__int(libp->para[0]));
+      ((TTigressData*) G__getstructoffset())->SetGeSegmentNbr((UShort_t) G__int(libp->para[0]));
       G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TTigressDataDict_162_0_8(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      ((TTigressData*) G__getstructoffset())->SetTime((UShort_t) G__int(libp->para[0]));
+      ((TTigressData*) G__getstructoffset())->SetGeEnergy((UShort_t) G__int(libp->para[0]));
       G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TTigressDataDict_162_0_9(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letint(result7, 114, (long) ((TTigressData*) G__getstructoffset())->GetCloverNbr((unsigned int) G__int(libp->para[0])));
+      ((TTigressData*) G__getstructoffset())->SetGeTimeCFD((UShort_t) G__int(libp->para[0]));
+      G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TTigressDataDict_162_0_10(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letint(result7, 114, (long) ((TTigressData*) G__getstructoffset())->GetCrystalNbr((unsigned int) G__int(libp->para[0])));
+      ((TTigressData*) G__getstructoffset())->SetGeTimeLED((UShort_t) G__int(libp->para[0]));
+      G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TTigressDataDict_162_0_11(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letdouble(result7, 100, (double) ((TTigressData*) G__getstructoffset())->GetEnergyl((unsigned int) G__int(libp->para[0])));
+      ((TTigressData*) G__getstructoffset())->SetBGOCloverNbr((UShort_t) G__int(libp->para[0]));
+      G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TTigressDataDict_162_0_12(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letdouble(result7, 100, (double) ((TTigressData*) G__getstructoffset())->GetTime((unsigned int) G__int(libp->para[0])));
+      ((TTigressData*) G__getstructoffset())->SetBGOPmNbr((UShort_t) G__int(libp->para[0]));
+      G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TTigressDataDict_162_0_13(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letint(result7, 85, (long) TTigressData::Class());
+      ((TTigressData*) G__getstructoffset())->SetBGOEnergy((UShort_t) G__int(libp->para[0]));
+      G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TTigressDataDict_162_0_14(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letint(result7, 67, (long) TTigressData::Class_Name());
+      ((TTigressData*) G__getstructoffset())->SetBGOTimeCFD((UShort_t) G__int(libp->para[0]));
+      G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TTigressDataDict_162_0_15(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
-      G__letint(result7, 115, (long) TTigressData::Class_Version());
+      ((TTigressData*) G__getstructoffset())->SetBGOTimeLED((UShort_t) G__int(libp->para[0]));
+      G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 static int G__TTigressDataDict_162_0_16(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 114, (long) ((TTigressData*) G__getstructoffset())->GetGeCloverNbr((unsigned int) G__int(libp->para[0])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressDataDict_162_0_17(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 114, (long) ((TTigressData*) G__getstructoffset())->GetGeCrystalNbr((unsigned int) G__int(libp->para[0])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressDataDict_162_0_18(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 114, (long) ((TTigressData*) G__getstructoffset())->GetGeSegmentNbr((unsigned int) G__int(libp->para[0])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressDataDict_162_0_19(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letdouble(result7, 100, (double) ((TTigressData*) G__getstructoffset())->GetGeEnergy((unsigned int) G__int(libp->para[0])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressDataDict_162_0_20(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letdouble(result7, 100, (double) ((TTigressData*) G__getstructoffset())->GetGeTimeCFD((unsigned int) G__int(libp->para[0])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressDataDict_162_0_21(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letdouble(result7, 100, (double) ((TTigressData*) G__getstructoffset())->GetGeTimeLED((unsigned int) G__int(libp->para[0])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressDataDict_162_0_22(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 114, (long) ((TTigressData*) G__getstructoffset())->GetBGOCloverNbr((unsigned int) G__int(libp->para[0])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressDataDict_162_0_23(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 114, (long) ((TTigressData*) G__getstructoffset())->GetBGOPmNbr((unsigned int) G__int(libp->para[0])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressDataDict_162_0_24(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letdouble(result7, 100, (double) ((TTigressData*) G__getstructoffset())->GetBGOEnergy((unsigned int) G__int(libp->para[0])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressDataDict_162_0_25(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letdouble(result7, 100, (double) ((TTigressData*) G__getstructoffset())->GetBGOTimeCFD((unsigned int) G__int(libp->para[0])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressDataDict_162_0_26(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letdouble(result7, 100, (double) ((TTigressData*) G__getstructoffset())->GetBGOTimeLED((unsigned int) G__int(libp->para[0])));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressDataDict_162_0_27(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 104, (long) ((TTigressData*) G__getstructoffset())->GetMultiplicityGe());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressDataDict_162_0_28(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 104, (long) ((TTigressData*) G__getstructoffset())->GetMultiplicityBGO());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressDataDict_162_0_29(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 85, (long) TTigressData::Class());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressDataDict_162_0_30(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 67, (long) TTigressData::Class_Name());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressDataDict_162_0_31(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 115, (long) TTigressData::Class_Version());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressDataDict_162_0_32(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
       TTigressData::Dictionary();
       G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
-static int G__TTigressDataDict_162_0_20(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+static int G__TTigressDataDict_162_0_36(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
       ((TTigressData*) G__getstructoffset())->StreamerNVirtual(*(TBuffer*) libp->para[0].ref);
       G__setnull(result7);
    return(1 || funcname || hash || result7 || libp) ;
 }
 
-static int G__TTigressDataDict_162_0_21(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+static int G__TTigressDataDict_162_0_37(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
       G__letint(result7, 67, (long) TTigressData::DeclFileName());
    return(1 || funcname || hash || result7 || libp) ;
 }
 
-static int G__TTigressDataDict_162_0_22(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+static int G__TTigressDataDict_162_0_38(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
       G__letint(result7, 105, (long) TTigressData::ImplFileLine());
    return(1 || funcname || hash || result7 || libp) ;
 }
 
-static int G__TTigressDataDict_162_0_23(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+static int G__TTigressDataDict_162_0_39(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
       G__letint(result7, 67, (long) TTigressData::ImplFileName());
    return(1 || funcname || hash || result7 || libp) ;
 }
 
-static int G__TTigressDataDict_162_0_24(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+static int G__TTigressDataDict_162_0_40(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
       G__letint(result7, 105, (long) TTigressData::DeclFileLine());
    return(1 || funcname || hash || result7 || libp) ;
 }
 
 // automatic copy constructor
-static int G__TTigressDataDict_162_0_25(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+static int G__TTigressDataDict_162_0_41(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 
 {
    TTigressData* p;
@@ -560,7 +838,7 @@ static int G__TTigressDataDict_162_0_25(G__value* result7, G__CONST char* funcna
 
 // automatic destructor
 typedef TTigressData G__TTTigressData;
-static int G__TTigressDataDict_162_0_26(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+static int G__TTigressDataDict_162_0_42(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
    char* gvp = (char*) G__getgvp();
    long soff = G__getstructoffset();
@@ -597,7 +875,7 @@ static int G__TTigressDataDict_162_0_26(G__value* result7, G__CONST char* funcna
 }
 
 // automatic assignment operator
-static int G__TTigressDataDict_162_0_27(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+static int G__TTigressDataDict_162_0_43(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
 {
    TTigressData* dest = (TTigressData*) G__getstructoffset();
    *dest = *(TTigressData*) libp->para[0].ref;
@@ -701,10 +979,17 @@ extern "C" void G__cpp_setup_typetableTTigressDataDict() {
 static void G__setup_memvarTTigressData(void) {
    G__tag_memvar_setup(G__get_linked_tagnum(&G__TTigressDataDictLN_TTigressData));
    { TTigressData *p; p=(TTigressData*)0x1000; if (p) { }
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TTigressDataDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR),G__defined_typename("vector<UShort_t>"),-1,4,"fTIG_CloverNbr=",0,(char*)NULL);
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TTigressDataDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR),G__defined_typename("vector<UShort_t>"),-1,4,"fTIG_CrystalNbr=",0,(char*)NULL);
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TTigressDataDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<Double_t>"),-1,4,"fTIG_Energy=",0,(char*)NULL);
-   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TTigressDataDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<Double_t>"),-1,4,"fTIG_Time=",0,(char*)NULL);
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TTigressDataDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR),G__defined_typename("vector<UShort_t>"),-1,4,"fTIG_Ge_CloverNbr=",0,(char*)NULL);
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TTigressDataDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR),G__defined_typename("vector<UShort_t>"),-1,4,"fTIG_Ge_CrystalNbr=",0,(char*)NULL);
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TTigressDataDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR),G__defined_typename("vector<UShort_t>"),-1,4,"fTIG_Ge_SegmentNbr=",0,(char*)NULL);
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TTigressDataDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<Double_t>"),-1,4,"fTIG_Ge_Energy=",0,(char*)NULL);
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TTigressDataDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<Double_t>"),-1,4,"fTIG_Ge_TimeCFD=",0,(char*)NULL);
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TTigressDataDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<Double_t>"),-1,4,"fTIG_Ge_TimeLED=",0,(char*)NULL);
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TTigressDataDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR),G__defined_typename("vector<UShort_t>"),-1,4,"fTIG_BGO_CloverNbr=",0,(char*)NULL);
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TTigressDataDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR),G__defined_typename("vector<UShort_t>"),-1,4,"fTIG_BGO_PmNbr=",0,(char*)NULL);
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TTigressDataDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<Double_t>"),-1,4,"fTIG_BGO_Energy=",0,(char*)NULL);
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TTigressDataDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<Double_t>"),-1,4,"fTIG_BGO_TimeCFD=",0,(char*)NULL);
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TTigressDataDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<Double_t>"),-1,4,"fTIG_BGO_TimeLED=",0,(char*)NULL);
    G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__TTigressDataDictLN_TClass),-1,-2,4,"fgIsA=",0,(char*)NULL);
    }
    G__tag_memvar_reset();
@@ -731,32 +1016,48 @@ static void G__setup_memfuncTTigressData(void) {
    G__memfunc_setup("Clear",487,G__TTigressDataDict_162_0_2, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
    G__memfunc_setup("Clear",487,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "C - 'Option_t' 10 - -", (char*)NULL, (void*) NULL, 1);
    G__memfunc_setup("Dump",406,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 1);
-   G__memfunc_setup("SetCloverNbr",1209,G__TTigressDataDict_162_0_5, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - CloverNbr", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("SetCrystalNbr",1328,G__TTigressDataDict_162_0_6, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - CrystalNbr", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("SetEnergy",918,G__TTigressDataDict_162_0_7, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - Energy", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("SetTime",699,G__TTigressDataDict_162_0_8, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - Time", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetCloverNbr",1197,G__TTigressDataDict_162_0_9, 114, -1, G__defined_typename("UShort_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetCrystalNbr",1316,G__TTigressDataDict_162_0_10, 114, -1, G__defined_typename("UShort_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetEnergyl",1014,G__TTigressDataDict_162_0_11, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("GetTime",687,G__TTigressDataDict_162_0_12, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("Class",502,G__TTigressDataDict_162_0_13, 85, G__get_linked_tagnum(&G__TTigressDataDictLN_TClass), -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (TClass* (*)())(&TTigressData::Class) ), 0);
-   G__memfunc_setup("Class_Name",982,G__TTigressDataDict_162_0_14, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TTigressData::Class_Name) ), 0);
-   G__memfunc_setup("Class_Version",1339,G__TTigressDataDict_162_0_15, 115, -1, G__defined_typename("Version_t"), 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (Version_t (*)())(&TTigressData::Class_Version) ), 0);
-   G__memfunc_setup("Dictionary",1046,G__TTigressDataDict_162_0_16, 121, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (void (*)())(&TTigressData::Dictionary) ), 0);
+   G__memfunc_setup("SetGeCloverNbr",1381,G__TTigressDataDict_162_0_5, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - GeCloverNbr", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetGeCrystalNbr",1500,G__TTigressDataDict_162_0_6, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - GeCrystalNbr", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetGeSegmentNbr",1485,G__TTigressDataDict_162_0_7, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - GeSegmentNbr", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetGeEnergy",1090,G__TTigressDataDict_162_0_8, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - GeEnergy", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetGeTimeCFD",1076,G__TTigressDataDict_162_0_9, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - GeTimeCFD", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetGeTimeLED",1084,G__TTigressDataDict_162_0_10, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - GeTimeLED", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetBGOCloverNbr",1425,G__TTigressDataDict_162_0_11, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - BGOCloverNbr", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetBGOPmNbr",995,G__TTigressDataDict_162_0_12, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - BGOPmNbr", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetBGOEnergy",1134,G__TTigressDataDict_162_0_13, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - BGOEnergy", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetBGOTimeCFD",1120,G__TTigressDataDict_162_0_14, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - BGOTimeCFD", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("SetBGOTimeLED",1128,G__TTigressDataDict_162_0_15, 121, -1, -1, 0, 1, 1, 1, 0, "r - 'UShort_t' 0 - BGOTimeLED", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetGeCloverNbr",1369,G__TTigressDataDict_162_0_16, 114, -1, G__defined_typename("UShort_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetGeCrystalNbr",1488,G__TTigressDataDict_162_0_17, 114, -1, G__defined_typename("UShort_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetGeSegmentNbr",1473,G__TTigressDataDict_162_0_18, 114, -1, G__defined_typename("UShort_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetGeEnergy",1078,G__TTigressDataDict_162_0_19, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetGeTimeCFD",1064,G__TTigressDataDict_162_0_20, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetGeTimeLED",1072,G__TTigressDataDict_162_0_21, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetBGOCloverNbr",1413,G__TTigressDataDict_162_0_22, 114, -1, G__defined_typename("UShort_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetBGOPmNbr",983,G__TTigressDataDict_162_0_23, 114, -1, G__defined_typename("UShort_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetBGOEnergy",1122,G__TTigressDataDict_162_0_24, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetBGOTimeCFD",1108,G__TTigressDataDict_162_0_25, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetBGOTimeLED",1116,G__TTigressDataDict_162_0_26, 100, -1, G__defined_typename("Double_t"), 0, 1, 1, 1, 0, "h - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetMultiplicityGe",1749,G__TTigressDataDict_162_0_27, 104, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetMultiplicityBGO",1793,G__TTigressDataDict_162_0_28, 104, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("Class",502,G__TTigressDataDict_162_0_29, 85, G__get_linked_tagnum(&G__TTigressDataDictLN_TClass), -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (TClass* (*)())(&TTigressData::Class) ), 0);
+   G__memfunc_setup("Class_Name",982,G__TTigressDataDict_162_0_30, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TTigressData::Class_Name) ), 0);
+   G__memfunc_setup("Class_Version",1339,G__TTigressDataDict_162_0_31, 115, -1, G__defined_typename("Version_t"), 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (Version_t (*)())(&TTigressData::Class_Version) ), 0);
+   G__memfunc_setup("Dictionary",1046,G__TTigressDataDict_162_0_32, 121, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (void (*)())(&TTigressData::Dictionary) ), 0);
    G__memfunc_setup("IsA",253,(G__InterfaceMethod) NULL,85, G__get_linked_tagnum(&G__TTigressDataDictLN_TClass), -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 1);
    G__memfunc_setup("ShowMembers",1132,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'TMemberInspector' - 1 - insp", (char*)NULL, (void*) NULL, 1);
    G__memfunc_setup("Streamer",835,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - b", (char*)NULL, (void*) NULL, 1);
-   G__memfunc_setup("StreamerNVirtual",1656,G__TTigressDataDict_162_0_20, 121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - b", (char*)NULL, (void*) NULL, 0);
-   G__memfunc_setup("DeclFileName",1145,G__TTigressDataDict_162_0_21, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TTigressData::DeclFileName) ), 0);
-   G__memfunc_setup("ImplFileLine",1178,G__TTigressDataDict_162_0_22, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&TTigressData::ImplFileLine) ), 0);
-   G__memfunc_setup("ImplFileName",1171,G__TTigressDataDict_162_0_23, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TTigressData::ImplFileName) ), 0);
-   G__memfunc_setup("DeclFileLine",1152,G__TTigressDataDict_162_0_24, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&TTigressData::DeclFileLine) ), 0);
+   G__memfunc_setup("StreamerNVirtual",1656,G__TTigressDataDict_162_0_36, 121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - b", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("DeclFileName",1145,G__TTigressDataDict_162_0_37, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TTigressData::DeclFileName) ), 0);
+   G__memfunc_setup("ImplFileLine",1178,G__TTigressDataDict_162_0_38, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&TTigressData::ImplFileLine) ), 0);
+   G__memfunc_setup("ImplFileName",1171,G__TTigressDataDict_162_0_39, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TTigressData::ImplFileName) ), 0);
+   G__memfunc_setup("DeclFileLine",1152,G__TTigressDataDict_162_0_40, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&TTigressData::DeclFileLine) ), 0);
    // automatic copy constructor
-   G__memfunc_setup("TTigressData", 1199, G__TTigressDataDict_162_0_25, (int) ('i'), G__get_linked_tagnum(&G__TTigressDataDictLN_TTigressData), -1, 0, 1, 1, 1, 0, "u 'TTigressData' - 11 - -", (char*) NULL, (void*) NULL, 0);
+   G__memfunc_setup("TTigressData", 1199, G__TTigressDataDict_162_0_41, (int) ('i'), G__get_linked_tagnum(&G__TTigressDataDictLN_TTigressData), -1, 0, 1, 1, 1, 0, "u 'TTigressData' - 11 - -", (char*) NULL, (void*) NULL, 0);
    // automatic destructor
-   G__memfunc_setup("~TTigressData", 1325, G__TTigressDataDict_162_0_26, (int) ('y'), -1, -1, 0, 0, 1, 1, 0, "", (char*) NULL, (void*) NULL, 1);
+   G__memfunc_setup("~TTigressData", 1325, G__TTigressDataDict_162_0_42, (int) ('y'), -1, -1, 0, 0, 1, 1, 0, "", (char*) NULL, (void*) NULL, 1);
    // automatic assignment operator
-   G__memfunc_setup("operator=", 937, G__TTigressDataDict_162_0_27, (int) ('u'), G__get_linked_tagnum(&G__TTigressDataDictLN_TTigressData), -1, 1, 1, 1, 1, 0, "u 'TTigressData' - 11 - -", (char*) NULL, (void*) NULL, 0);
+   G__memfunc_setup("operator=", 937, G__TTigressDataDict_162_0_43, (int) ('u'), G__get_linked_tagnum(&G__TTigressDataDictLN_TTigressData), -1, 1, 1, 1, 1, 0, "u 'TTigressData' - 11 - -", (char*) NULL, (void*) NULL, 0);
    G__tag_memfunc_reset();
 }
 
diff --git a/NPLib/Tigress/TTigressDataPhysics.h b/NPLib/Tigress/TTigressDataPhysics.h
new file mode 100644
index 000000000..9af0c8544
--- /dev/null
+++ b/NPLib/Tigress/TTigressDataPhysics.h
@@ -0,0 +1,188 @@
+#ifndef TTIGRESSPHYSICS_H
+#define TTIGRESSPHYSICS_H
+/*****************************************************************************
+ * Copyright (C) 2009-2010   this file is part of the NPTool Project         *
+ *                 *
+ * For the licensing terms see $NPTOOL/Licence/NPTool_Licence                *
+ * For the list of contributors see $NPTOOL/Licence/Contributors             *
+ *****************************************************************************/
+
+/*****************************************************************************
+ * Original Author:      *
+ *                 *
+ * Creation Date  :                 *
+ * Last update    :                             *
+ *---------------------------------------------------------------------------*
+ * Decription:     *
+ *  This class should deal with TIGRESS gamma data...                        *
+ *                 *
+ *---------------------------------------------------------------------------*
+ * Comment:        *
+ *                 *
+ *                 *
+ *                 *
+ *****************************************************************************/
+ 
+ // STL
+#include <vector>
+#include <stdio.h>
+
+// NPL
+#include "TTigressData.h"
+#include "../include/CalibrationManager.h"
+#include "../include/VDetector.h"
+// ROOT 
+#include "TVector2.h" 
+#include "TVector3.h" 
+#include "TObject.h"
+
+
+using namespace std ;
+
+class TTigressPhysics : public TObject, public NPA::VDetector
+{
+   public:
+      TTigressPhysics();
+      ~TTigressPhysics() {};
+
+   public: 
+      void Clear();   
+      void Clear(const Option_t*) {};
+
+   public: 
+      //vector < TVector2 > Match_Front_Back() ;
+      //int  CheckEvent();
+
+  private:   //   Root Input and Output tree classes
+            
+    TTigressData*         m_EventData;//!
+    TTigressData*         m_PreTreatedData;//!
+    TTigressPhysics*      m_EventPhysics;//!
+
+
+  //private:   //   Map of activated channel
+  //  map< int, vector<bool> > m_FrontChannelStatus;//!
+  //  map< int, vector<bool> > m_BackChannelStatus;//! 
+  //  map< int, vector<bool> > m_PADChannelStatus;//!
+
+  //private:   //   Spatial Position of Strip Calculated on bases of detector position
+   
+   // int m_NumberOfDetector;//!
+   // vector< vector < vector < double > > >   m_StripPositionX;//!
+   // vector< vector < vector < double > > >   m_StripPositionY;//!
+   // vector< vector < vector < double > > >   m_StripPositionZ;//!
+         
+   ClassDef(TSharcPhysics,1)  // SharcPhysics structure
+};
+
+
+
+
+
+
+
+
+//=============================================//
+// ok, so, i don't really know what I am doing.  but the plan here is to make three classes for tigress.  an "array" class which will contain 16(12) positions.  Each position will be occupied by a "clover" class (also be created here), which will contain four position.  The clover class will contain an add-back method, four "crystal" classes, and I think a "bgo" class.   The Crystal class will contain 8 postions (1 for each segment) and holders for all segment and core time(led,cfd,timestamp) and charge.  I Should try to write this one first.
+
+
+class TigCrystal  {
+
+  public:
+    TTigCrystal();
+    ~TTigCrystal() {};
+
+    void Clear();
+    int WhoAmI(); {return CloverNumber;}
+
+    void SetData();
+    void GetPosition(int*,int*);
+
+  protected: 
+    
+    int ColverNumber;
+    void SetPositionData();
+
+  protected: 
+   
+    //geometery 
+    int Segment_1_theata;  
+    int Segment_1_phi;   
+
+    int Segment_2_theata;  
+    int Segment_2_phi;   
+
+    int Segment_3_theata;  
+    int Segment_3_phi;   
+
+    int Segment_4_theata;  
+    int Segment_4_phi;   
+
+    int Segment_5_theata;  
+    int Segment_5_phi;   
+
+    int Segment_6_theata;  
+    int Segment_6_phi;   
+
+    int Segment_7_theata;  
+    int Segment_7_phi;   
+
+    int Segment_8_theata;  
+    int Segment_8_phi;   
+
+    int Core_theta;
+    int Core_phi;
+
+
+  protected:
+
+    unsigned short charge;
+    unsigned short energy;
+
+    unsigned int cfd;
+    unsigned int led;
+    
+    unsigned int timestamp_low;
+
+    vector<unsigned short> segment
+  
+    vector<unsigned short> s_charge;  
+    vector<unsigned short> s_energy;
+
+    vector<unsigned int> s_cfd;
+    vector<unsigned int> s_led;
+
+    vector<unsigned int> s_timestamp_low;
+
+};
+
+
+
+
+
+#endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+  
+
diff --git a/NPLib/Tigress/TTigressPhysics.cxx b/NPLib/Tigress/TTigressPhysics.cxx
new file mode 100644
index 000000000..de1a93ad1
--- /dev/null
+++ b/NPLib/Tigress/TTigressPhysics.cxx
@@ -0,0 +1,221 @@
+/*****************************************************************************
+ * Copyright (C) 2009-2012   this file is part of the NPTool Project         *
+ *                                                                           *
+ * For the licensing terms see $NPTOOL/Licence/NPTool_Licence                *
+ * For the list of contributors see $NPTOOL/Licence/Contributors             *
+ *****************************************************************************/
+
+/*****************************************************************************
+ * Original Author: Adrien MATTA  contact address: a.matta@surrey.ac.uk      *
+ *                  Peter Bender  contact address: bender@triumf.ca          *
+ * Creation Date  : November 2012                                            *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class hold Tigress treated data                                     *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *****************************************************************************/
+
+// STL
+#include <cmath>
+#include <stdlib.h>
+#include <limits>
+using namespace std;
+
+#include "TTigressPhysics.h"
+
+//   NPL
+#include "RootInput.h"
+#include "RootOutput.h"
+#include "TAsciiFile.h"
+//   ROOT
+#include "TChain.h"
+///////////////////////////////////////////////////////////////////////////
+
+ClassImp(TTigressPhysics)
+///////////////////////////////////////////////////////////////////////////
+TTigressPhysics::TTigressPhysics()  {
+  m_EventData         = new TTigressData ;
+  m_PreTreatedData    = new TTigressData ;
+  m_EventPhysics      = this ;
+  Clear();
+};
+
+
+/////////////////////////////////////////////////
+void TTigressPhysics::BuildPhysicalEvent(){
+  PreTreat();
+ 
+  if(m_EventData->GetMultiplicityGe()<10){
+    for(unsigned int i = 0 ; i < m_EventData->GetMultiplicityGe() ; i++){
+      if( m_EventData->GetGeSegmentNbr(i)==9 && m_EventData->GetGeEnergy(i)>20){
+        Gamma_Energy.push_back( m_EventData->GetGeEnergy(i));
+        Crystal_Number.push_back( m_EventData->GetGeCrystalNbr(i));
+        Clover_Number.push_back( m_EventData->GetGeCloverNbr(i));
+        
+        // Look for Associate BGO
+        bool BGOcheck = false ;
+        for(unsigned j = 0 ;  j <  m_EventData->GetMultiplicityBGO() ; j++){
+        
+          if( m_EventData->GetBGOCloverNbr(j)== m_EventData->GetGeCloverNbr(i) && m_EventData->GetBGOEnergy(j)>20 )
+             BGOcheck = true ;
+        }
+        BGO.push_back(BGOcheck);
+      }
+    }
+  
+  }
+  
+  
+
+}
+/////////////////////////////////////////////////
+TVector3 TTigressPhysics::GetPositionOfInteraction(int i){
+
+  return m_Clover[Clover_Number[i]]->GetCrystal(Crystal_Number[i]).GetCrystalPosition();
+}
+/////////////////////////////////////////////////
+void TTigressPhysics::PreTreat(){
+
+
+} 
+ 
+/////////////////////////////////////////////////
+void TTigressPhysics::Clear() {
+  std::map<int,TTigressClover*>::iterator it;
+  for ( it=m_Clover.begin() ; it != m_Clover.end(); it++ )  { (*it).second->Clear(); }
+};
+
+/////////////////////////////////////////////////
+void TTigressPhysics::AddClover(int DetNbr,double r, double theta, double phi)  {
+  
+  m_Clover[DetNbr]=new TTigressClover(DetNbr,r,theta,phi);
+  
+};
+
+/////////////////////////////////////////////////
+void TTigressPhysics::ReadConfiguration(string Path)  {
+  ifstream ConfigFile           ;
+  ConfigFile.open(Path.c_str()) ;
+  
+  if(!ConfigFile.is_open()) cout << "Config File not Found" << endl ;
+  
+  string LineBuffer             ;
+  string DataBuffer             ;
+     
+  bool check_CloverId= false          ;
+  bool check_R= false          ; 
+  bool check_Theta= false          ;
+  bool check_Phi= false          ;
+  bool ReadingStatus = true;
+
+  int CloverId=0;
+  double R=0;
+  double Theta=0;
+  double Phi=0;
+
+  while (!ConfigFile.eof()) {
+    
+    getline(ConfigFile, LineBuffer);
+    //   If line is a Start Up Tigress bloc, Reading toggle to true      
+    if (LineBuffer.compare(0, 13, "TigressClover") == 0) {
+      cout << "///" << endl ;
+      cout << "Tigress Clover found: " << endl ;        
+      ReadingStatus = true ;
+     }
+    //   Else don't toggle to Reading Block Status
+    else ReadingStatus = false ;
+
+    //   Reading Block
+    while(ReadingStatus)  {
+      // Pickup Next Word 
+ 
+      ConfigFile >> DataBuffer ;
+      //   Comment Line 
+             
+      if (DataBuffer.compare(0, 1, "%") == 0) {ConfigFile.ignore ( std::numeric_limits<std::streamsize>::max(), '\n' );}
+    
+      //   Finding another Clover toggle out (safety)
+      else if (DataBuffer.compare(0, 13, "TigressClover") == 0) {
+        cout << "WARNING: Another Detector is find before standard sequence of Token, Error may occured in Clover definition" << endl ;
+        ReadingStatus = false ;
+       }
+
+      else if (DataBuffer=="CloverId=") {
+        check_CloverId = true;
+        ConfigFile >> DataBuffer ;
+        CloverId=atoi(DataBuffer.c_str());
+        cout << "CloverId:  " << CloverId << endl;
+       }
+               
+      else if (DataBuffer=="R=") {
+        check_R = true;
+        ConfigFile >> DataBuffer ;
+        R = atof(DataBuffer.c_str());
+        cout << "R:  " << R << "mm" << endl;
+       }
+               
+       else if (DataBuffer=="Theta=") {
+        check_Theta = true;
+        ConfigFile >> DataBuffer ;
+        Theta = atof(DataBuffer.c_str());
+        cout << "Theta:  " << Theta << "deg" << endl;
+       }
+
+       else if (DataBuffer=="Phi=") {
+        check_Phi = true;
+        ConfigFile >> DataBuffer ;
+        Phi = atof(DataBuffer.c_str());
+        cout << "Phi:  " << Phi << "deg" << endl;
+       }
+                                                
+       ///////////////////////////////////////////////////
+       //   If no Detector Token and no comment, toggle out
+      else {
+        ReadingStatus = false; cout << "Wrong Token Sequence: Getting out " << DataBuffer << endl ;}
+        /////////////////////////////////////////////////
+        //   If All necessary information there, toggle out
+        if ( check_Theta && check_Phi && check_R && check_CloverId) { 
+          AddClover(CloverId,R,Theta,Phi); 
+          ReadingStatus = false;
+           check_CloverId= false;
+           check_R= false; 
+           check_Theta= false;
+           check_Phi= false;
+        }
+      }
+    }
+ }
+ 
+///////////////////////////////////////////////////////////////////////////
+void TTigressPhysics::InitializeRootInputRaw() 
+   {
+      TChain* inputChain = RootInput::getInstance()->GetChain()   ;
+      inputChain->SetBranchStatus( "Tigress" , true )               ;
+      inputChain->SetBranchStatus( "fTIG_*" , true )               ;
+      inputChain->SetBranchAddress( "Tigress" , &m_EventData )      ;
+   }
+   
+///////////////////////////////////////////////////////////////////////////
+void TTigressPhysics::InitializeRootOutput()    
+   {
+      TTree* outputTree = RootOutput::getInstance()->GetTree();
+      outputTree->Branch( "Tigress" , "TTigressPhysics" , &m_EventPhysics );
+   }
+ ///////////////////////////////////////////////////////////////////////////  
+void TTigressPhysics::ClearEventPhysics() {
+  Gamma_Energy.clear();
+  Crystal_Number.clear();
+  Clover_Number.clear();
+  BGO.clear();
+}
+ ///////////////////////////////////////////////////////////////////////////  
+void TTigressPhysics::ClearEventData() {
+
+m_EventData->Clear();
+m_PreTreatedData->Clear();
+}
+
diff --git a/NPLib/Tigress/TTigressPhysics.h b/NPLib/Tigress/TTigressPhysics.h
new file mode 100644
index 000000000..85020d042
--- /dev/null
+++ b/NPLib/Tigress/TTigressPhysics.h
@@ -0,0 +1,107 @@
+#ifndef TTIGRESSPHYSICS_H
+#define TTIGRESSPHYSICS_H
+/*****************************************************************************
+ * Copyright (C) 2009-2012   this file is part of the NPTool Project         *
+ *                                                                           *
+ * For the licensing terms see $NPTOOL/Licence/NPTool_Licence                *
+ * For the list of contributors see $NPTOOL/Licence/Contributors             *
+ *****************************************************************************/
+
+/*****************************************************************************
+ * Original Author: Adrien MATTA  contact address: a.matta@surrey.ac.uk      *
+ *                  Peter Bender  contact address: bender@triumf.ca          *
+ * Creation Date  : November 2012                                            *
+ * Last update    :                                                          *
+ *---------------------------------------------------------------------------*
+ * Decription:                                                               *
+ *  This class hold Tigress treated data                                     *
+ *                                                                           *
+ *---------------------------------------------------------------------------*
+ * Comment:                                                                  *
+ *                                                                           *
+ *****************************************************************************/
+#include <vector>
+#include <map>
+#include <string>
+using namespace std;
+
+// NPL
+#include "TTigressData.h"
+#include "TTigressClover.h"
+#include "TTigressCrystal.h"
+#include "../include/CalibrationManager.h"
+#include "../include/VDetector.h"
+
+// ROOT
+#include "TObject.h"
+#include "TVector3.h"
+
+class TTigressPhysics :  public TObject, public NPA::VDetector{
+
+  public:
+    TTigressPhysics();
+    ~TTigressPhysics()  { };
+
+    void Clear();
+  
+  public: // inherited from VDetector
+    //   Read stream at ConfigFile to pick-up parameters of detector (Position,...) using Token
+     void ReadConfiguration(string);
+
+    //   Add Parameter to the CalibrationManger
+     void AddParameterToCalibrationManager(){} ;      
+
+    //   Activated associated Branches and link it to the private member DetectorData address
+    //   In this method mother Branches (Detector) AND daughter leaf (fDetector_parameter) have to be activated
+     void InitializeRootInputRaw() ;
+
+    //   Activated associated Branches and link it to the private member DetectorPhysics address
+    //   In this method mother Branches (Detector) AND daughter leaf (parameter) have to be activated
+     void InitializeRootInputPhysics() {};
+
+    //   Create associated branches and associated private member DetectorPhysics address
+     void InitializeRootOutput() ;
+
+    //   This method is called at each event read from the Input Tree. Aime is to build treat Raw dat in order to extract physical parameter. 
+     void BuildPhysicalEvent() ;
+
+    //   Same as above, but only the simplest event and/or simple method are used (low multiplicity, faster algorythm but less efficient ...).
+    //   This method aimed to be used for analysis performed during experiment, when speed is requiered.
+    //   NB: This method can eventually be the same as BuildPhysicalEvent.
+     void BuildSimplePhysicalEvent(){BuildPhysicalEvent();} ;
+
+    //   Those two method all to clear the Event Physics or Data
+     void ClearEventPhysics() ;
+     void ClearEventData() ;
+
+  public:
+    void PreTreat();
+  
+  private:
+    
+    std::map<int,TTigressClover*> m_Clover;
+    void AddClover(int,double,double,double);
+
+    
+  private:   //   Root Input and Output tree classes
+            
+         TTigressData*         m_EventData;//!
+         TTigressData*         m_PreTreatedData;//!
+         TTigressPhysics*      m_EventPhysics;//!
+ 
+  public: // Data Member
+    vector<double> Gamma_Energy;
+    vector<int> Crystal_Number;
+     vector<int> Clover_Number;
+    vector<bool>   BGO;
+    
+   public:
+    TVector3 GetPositionOfInteraction(int i) ;
+    
+         
+   ClassDef(TTigressPhysics,1)  // TigressPhysics structure
+};
+
+
+
+#endif
diff --git a/NPLib/Tigress/TTigressPhysicsDict.cxx b/NPLib/Tigress/TTigressPhysicsDict.cxx
new file mode 100644
index 000000000..cc03d9a88
--- /dev/null
+++ b/NPLib/Tigress/TTigressPhysicsDict.cxx
@@ -0,0 +1,1275 @@
+//
+// File generated by rootcint at Tue Dec  4 10:29:54 2012
+
+// Do NOT change. Changes will be lost next time file is generated
+//
+
+#define R__DICTIONARY_FILENAME TTigressPhysicsDict
+#include "RConfig.h" //rootcint 4834
+#if !defined(R__ACCESS_IN_SYMBOL)
+//Break the privacy of classes -- Disabled for the moment
+#define private public
+#define protected public
+#endif
+
+// Since CINT ignores the std namespace, we need to do so in this file.
+namespace std {} using namespace std;
+#include "TTigressPhysicsDict.h"
+
+#include "TCollectionProxyInfo.h"
+#include "TClass.h"
+#include "TBuffer.h"
+#include "TMemberInspector.h"
+#include "TError.h"
+
+#ifndef G__ROOT
+#define G__ROOT
+#endif
+
+#include "RtypesImp.h"
+#include "TIsAProxy.h"
+#include "TFileMergeInfo.h"
+
+// START OF SHADOWS
+
+namespace ROOT {
+   namespace Shadow {
+   } // of namespace Shadow
+} // of namespace ROOT
+// END OF SHADOWS
+
+namespace ROOT {
+   void TTigressPhysics_ShowMembers(void *obj, TMemberInspector &R__insp);
+   static void *new_TTigressPhysics(void *p = 0);
+   static void *newArray_TTigressPhysics(Long_t size, void *p);
+   static void delete_TTigressPhysics(void *p);
+   static void deleteArray_TTigressPhysics(void *p);
+   static void destruct_TTigressPhysics(void *p);
+   static void streamer_TTigressPhysics(TBuffer &buf, void *obj);
+
+   // Function generating the singleton type initializer
+   static TGenericClassInfo *GenerateInitInstanceLocal(const ::TTigressPhysics*)
+   {
+      ::TTigressPhysics *ptr = 0;
+      static ::TVirtualIsAProxy* isa_proxy = new ::TInstrumentedIsAProxy< ::TTigressPhysics >(0);
+      static ::ROOT::TGenericClassInfo 
+         instance("TTigressPhysics", ::TTigressPhysics::Class_Version(), "./TTigressPhysics.h", 39,
+                  typeid(::TTigressPhysics), DefineBehavior(ptr, ptr),
+                  &::TTigressPhysics::Dictionary, isa_proxy, 0,
+                  sizeof(::TTigressPhysics) );
+      instance.SetNew(&new_TTigressPhysics);
+      instance.SetNewArray(&newArray_TTigressPhysics);
+      instance.SetDelete(&delete_TTigressPhysics);
+      instance.SetDeleteArray(&deleteArray_TTigressPhysics);
+      instance.SetDestructor(&destruct_TTigressPhysics);
+      instance.SetStreamerFunc(&streamer_TTigressPhysics);
+      return &instance;
+   }
+   TGenericClassInfo *GenerateInitInstance(const ::TTigressPhysics*)
+   {
+      return GenerateInitInstanceLocal((::TTigressPhysics*)0);
+   }
+   // Static variable to force the class initialization
+   static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const ::TTigressPhysics*)0x0); R__UseDummy(_R__UNIQUE_(Init));
+} // end of namespace ROOT
+
+//______________________________________________________________________________
+TClass *TTigressPhysics::fgIsA = 0;  // static to hold class pointer
+
+//______________________________________________________________________________
+const char *TTigressPhysics::Class_Name()
+{
+   return "TTigressPhysics";
+}
+
+//______________________________________________________________________________
+const char *TTigressPhysics::ImplFileName()
+{
+   return ::ROOT::GenerateInitInstanceLocal((const ::TTigressPhysics*)0x0)->GetImplFileName();
+}
+
+//______________________________________________________________________________
+int TTigressPhysics::ImplFileLine()
+{
+   return ::ROOT::GenerateInitInstanceLocal((const ::TTigressPhysics*)0x0)->GetImplFileLine();
+}
+
+//______________________________________________________________________________
+void TTigressPhysics::Dictionary()
+{
+   fgIsA = ::ROOT::GenerateInitInstanceLocal((const ::TTigressPhysics*)0x0)->GetClass();
+}
+
+//______________________________________________________________________________
+TClass *TTigressPhysics::Class()
+{
+   if (!fgIsA) fgIsA = ::ROOT::GenerateInitInstanceLocal((const ::TTigressPhysics*)0x0)->GetClass();
+   return fgIsA;
+}
+
+//______________________________________________________________________________
+void TTigressPhysics::Streamer(TBuffer &R__b)
+{
+   // Stream an object of class TTigressPhysics.
+
+   UInt_t R__s, R__c;
+   if (R__b.IsReading()) {
+      Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v) { }
+      TObject::Streamer(R__b);
+      {
+         map<int,TTigressClover*> &R__stl =  m_Clover;
+         R__stl.clear();
+         TClass *R__tcl2 = TBuffer::GetClass(typeid(TTigressClover));
+         if (R__tcl2==0) {
+            Error("m_Clover streamer","Missing the TClass object for TTigressClover!");
+            return;
+         }
+         int R__i, R__n;
+         R__b >> R__n;
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            TTigressClover* R__t2;
+            R__t2 = (TTigressClover*)R__b.ReadObjectAny(R__tcl2);
+            typedef int Value_t;
+            std::pair<Value_t const, TTigressClover* > R__t3(R__t,R__t2);
+            R__stl.insert(R__t3);
+         }
+      }
+      {
+         vector<double> &R__stl =  Gamma_Energy;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            double R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<int> &R__stl =  Crystal_Number;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<int> &R__stl =  Clover_Number;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            int R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      {
+         vector<bool> &R__stl =  BGO;
+         R__stl.clear();
+         int R__i, R__n;
+         R__b >> R__n;
+         R__stl.reserve(R__n);
+         for (R__i = 0; R__i < R__n; R__i++) {
+            bool R__t;
+            R__b >> R__t;
+            R__stl.push_back(R__t);
+         }
+      }
+      R__b.CheckByteCount(R__s, R__c, TTigressPhysics::IsA());
+   } else {
+      R__c = R__b.WriteVersion(TTigressPhysics::IsA(), kTRUE);
+      TObject::Streamer(R__b);
+      {
+         map<int,TTigressClover*> &R__stl =  m_Clover;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+         TClass *R__tcl2 = TBuffer::GetClass(typeid(TTigressClover));
+         if (R__tcl2==0) {
+            Error("m_Cloverstreamer","Missing the TClass object for TTigressClover!");
+            return;
+         }
+            map<int,TTigressClover*>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << ((*R__k).first );
+            R__b.WriteObjectAny(((*R__k).second),R__tcl2);
+            }
+         }
+      }
+      {
+         vector<double> &R__stl =  Gamma_Energy;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<double>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<int> &R__stl =  Crystal_Number;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<int> &R__stl =  Clover_Number;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<int>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      {
+         vector<bool> &R__stl =  BGO;
+         int R__n=(&R__stl) ? int(R__stl.size()) : 0;
+         R__b << R__n;
+         if(R__n) {
+            vector<bool>::iterator R__k;
+            for (R__k = R__stl.begin(); R__k != R__stl.end(); ++R__k) {
+            R__b << (*R__k);
+            }
+         }
+      }
+      R__b.SetByteCount(R__c, kTRUE);
+   }
+}
+
+//______________________________________________________________________________
+void TTigressPhysics::ShowMembers(TMemberInspector &R__insp)
+{
+      // Inspect the data members of an object of class TTigressPhysics.
+      TClass *R__cl = ::TTigressPhysics::IsA();
+      if (R__cl || R__insp.IsA()) { }
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "m_Clover", (void*)&m_Clover);
+      R__insp.InspectMember("map<int,TTigressClover*>", (void*)&m_Clover, "m_Clover.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "*m_EventData", &m_EventData);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "*m_PreTreatedData", &m_PreTreatedData);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "*m_EventPhysics", &m_EventPhysics);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "Gamma_Energy", (void*)&Gamma_Energy);
+      R__insp.InspectMember("vector<double>", (void*)&Gamma_Energy, "Gamma_Energy.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "Crystal_Number", (void*)&Crystal_Number);
+      R__insp.InspectMember("vector<int>", (void*)&Crystal_Number, "Crystal_Number.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "Clover_Number", (void*)&Clover_Number);
+      R__insp.InspectMember("vector<int>", (void*)&Clover_Number, "Clover_Number.", false);
+      R__insp.Inspect(R__cl, R__insp.GetParent(), "BGO", (void*)&BGO);
+      R__insp.InspectMember("vector<bool>", (void*)&BGO, "BGO.", false);
+      TObject::ShowMembers(R__insp);
+      R__insp.GenericShowMembers("NPA::VDetector", ( ::NPA::VDetector *) (this ), false);
+}
+
+namespace ROOT {
+   // Wrappers around operator new
+   static void *new_TTigressPhysics(void *p) {
+      return  p ? new(p) ::TTigressPhysics : new ::TTigressPhysics;
+   }
+   static void *newArray_TTigressPhysics(Long_t nElements, void *p) {
+      return p ? new(p) ::TTigressPhysics[nElements] : new ::TTigressPhysics[nElements];
+   }
+   // Wrapper around operator delete
+   static void delete_TTigressPhysics(void *p) {
+      delete ((::TTigressPhysics*)p);
+   }
+   static void deleteArray_TTigressPhysics(void *p) {
+      delete [] ((::TTigressPhysics*)p);
+   }
+   static void destruct_TTigressPhysics(void *p) {
+      typedef ::TTigressPhysics current_t;
+      ((current_t*)p)->~current_t();
+   }
+   // Wrapper around a custom streamer member function.
+   static void streamer_TTigressPhysics(TBuffer &buf, void *obj) {
+      ((::TTigressPhysics*)obj)->::TTigressPhysics::Streamer(buf);
+   }
+} // end of namespace ROOT for class ::TTigressPhysics
+
+namespace ROOT {
+   void maplEintcOTTigressClovermUgR_ShowMembers(void *obj, TMemberInspector &R__insp);
+   static void maplEintcOTTigressClovermUgR_Dictionary();
+   static void *new_maplEintcOTTigressClovermUgR(void *p = 0);
+   static void *newArray_maplEintcOTTigressClovermUgR(Long_t size, void *p);
+   static void delete_maplEintcOTTigressClovermUgR(void *p);
+   static void deleteArray_maplEintcOTTigressClovermUgR(void *p);
+   static void destruct_maplEintcOTTigressClovermUgR(void *p);
+
+   // Function generating the singleton type initializer
+   static TGenericClassInfo *GenerateInitInstanceLocal(const map<int,TTigressClover*>*)
+   {
+      map<int,TTigressClover*> *ptr = 0;
+      static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(typeid(map<int,TTigressClover*>),0);
+      static ::ROOT::TGenericClassInfo 
+         instance("map<int,TTigressClover*>", -2, "prec_stl/map", 63,
+                  typeid(map<int,TTigressClover*>), DefineBehavior(ptr, ptr),
+                  0, &maplEintcOTTigressClovermUgR_Dictionary, isa_proxy, 0,
+                  sizeof(map<int,TTigressClover*>) );
+      instance.SetNew(&new_maplEintcOTTigressClovermUgR);
+      instance.SetNewArray(&newArray_maplEintcOTTigressClovermUgR);
+      instance.SetDelete(&delete_maplEintcOTTigressClovermUgR);
+      instance.SetDeleteArray(&deleteArray_maplEintcOTTigressClovermUgR);
+      instance.SetDestructor(&destruct_maplEintcOTTigressClovermUgR);
+      instance.AdoptCollectionProxyInfo(TCollectionProxyInfo::Generate(TCollectionProxyInfo::MapInsert< map<int,TTigressClover*> >()));
+      return &instance;
+   }
+   // Static variable to force the class initialization
+   static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const map<int,TTigressClover*>*)0x0); R__UseDummy(_R__UNIQUE_(Init));
+
+   // Dictionary for non-ClassDef classes
+   static void maplEintcOTTigressClovermUgR_Dictionary() {
+      ::ROOT::GenerateInitInstanceLocal((const map<int,TTigressClover*>*)0x0)->GetClass();
+   }
+
+} // end of namespace ROOT
+
+namespace ROOT {
+   // Wrappers around operator new
+   static void *new_maplEintcOTTigressClovermUgR(void *p) {
+      return  p ? ::new((::ROOT::TOperatorNewHelper*)p) map<int,TTigressClover*> : new map<int,TTigressClover*>;
+   }
+   static void *newArray_maplEintcOTTigressClovermUgR(Long_t nElements, void *p) {
+      return p ? ::new((::ROOT::TOperatorNewHelper*)p) map<int,TTigressClover*>[nElements] : new map<int,TTigressClover*>[nElements];
+   }
+   // Wrapper around operator delete
+   static void delete_maplEintcOTTigressClovermUgR(void *p) {
+      delete ((map<int,TTigressClover*>*)p);
+   }
+   static void deleteArray_maplEintcOTTigressClovermUgR(void *p) {
+      delete [] ((map<int,TTigressClover*>*)p);
+   }
+   static void destruct_maplEintcOTTigressClovermUgR(void *p) {
+      typedef map<int,TTigressClover*> current_t;
+      ((current_t*)p)->~current_t();
+   }
+} // end of namespace ROOT for class map<int,TTigressClover*>
+
+namespace ROOT {
+   void vectorlEboolgR_ShowMembers(void *obj, TMemberInspector &R__insp);
+   static void vectorlEboolgR_Dictionary();
+   static void *new_vectorlEboolgR(void *p = 0);
+   static void *newArray_vectorlEboolgR(Long_t size, void *p);
+   static void delete_vectorlEboolgR(void *p);
+   static void deleteArray_vectorlEboolgR(void *p);
+   static void destruct_vectorlEboolgR(void *p);
+
+   // Function generating the singleton type initializer
+   static TGenericClassInfo *GenerateInitInstanceLocal(const vector<bool>*)
+   {
+      vector<bool> *ptr = 0;
+      static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(typeid(vector<bool>),0);
+      static ::ROOT::TGenericClassInfo 
+         instance("vector<bool>", -2, "vectorbool.dll", 0,
+                  typeid(vector<bool>), DefineBehavior(ptr, ptr),
+                  0, &vectorlEboolgR_Dictionary, isa_proxy, 0,
+                  sizeof(vector<bool>) );
+      instance.SetNew(&new_vectorlEboolgR);
+      instance.SetNewArray(&newArray_vectorlEboolgR);
+      instance.SetDelete(&delete_vectorlEboolgR);
+      instance.SetDeleteArray(&deleteArray_vectorlEboolgR);
+      instance.SetDestructor(&destruct_vectorlEboolgR);
+      instance.AdoptCollectionProxyInfo(TCollectionProxyInfo::Generate(TCollectionProxyInfo::Pushback< vector<bool> >()));
+      return &instance;
+   }
+   // Static variable to force the class initialization
+   static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const vector<bool>*)0x0); R__UseDummy(_R__UNIQUE_(Init));
+
+   // Dictionary for non-ClassDef classes
+   static void vectorlEboolgR_Dictionary() {
+      ::ROOT::GenerateInitInstanceLocal((const vector<bool>*)0x0)->GetClass();
+   }
+
+} // end of namespace ROOT
+
+namespace ROOT {
+   // Wrappers around operator new
+   static void *new_vectorlEboolgR(void *p) {
+      return  p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<bool> : new vector<bool>;
+   }
+   static void *newArray_vectorlEboolgR(Long_t nElements, void *p) {
+      return p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<bool>[nElements] : new vector<bool>[nElements];
+   }
+   // Wrapper around operator delete
+   static void delete_vectorlEboolgR(void *p) {
+      delete ((vector<bool>*)p);
+   }
+   static void deleteArray_vectorlEboolgR(void *p) {
+      delete [] ((vector<bool>*)p);
+   }
+   static void destruct_vectorlEboolgR(void *p) {
+      typedef vector<bool> current_t;
+      ((current_t*)p)->~current_t();
+   }
+} // end of namespace ROOT for class vector<bool>
+
+namespace ROOT {
+   void vectorlEdoublegR_ShowMembers(void *obj, TMemberInspector &R__insp);
+   static void vectorlEdoublegR_Dictionary();
+   static void *new_vectorlEdoublegR(void *p = 0);
+   static void *newArray_vectorlEdoublegR(Long_t size, void *p);
+   static void delete_vectorlEdoublegR(void *p);
+   static void deleteArray_vectorlEdoublegR(void *p);
+   static void destruct_vectorlEdoublegR(void *p);
+
+   // Function generating the singleton type initializer
+   static TGenericClassInfo *GenerateInitInstanceLocal(const vector<double>*)
+   {
+      vector<double> *ptr = 0;
+      static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(typeid(vector<double>),0);
+      static ::ROOT::TGenericClassInfo 
+         instance("vector<double>", -2, "vector.dll", 0,
+                  typeid(vector<double>), DefineBehavior(ptr, ptr),
+                  0, &vectorlEdoublegR_Dictionary, isa_proxy, 0,
+                  sizeof(vector<double>) );
+      instance.SetNew(&new_vectorlEdoublegR);
+      instance.SetNewArray(&newArray_vectorlEdoublegR);
+      instance.SetDelete(&delete_vectorlEdoublegR);
+      instance.SetDeleteArray(&deleteArray_vectorlEdoublegR);
+      instance.SetDestructor(&destruct_vectorlEdoublegR);
+      instance.AdoptCollectionProxyInfo(TCollectionProxyInfo::Generate(TCollectionProxyInfo::Pushback< vector<double> >()));
+      return &instance;
+   }
+   // Static variable to force the class initialization
+   static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const vector<double>*)0x0); R__UseDummy(_R__UNIQUE_(Init));
+
+   // Dictionary for non-ClassDef classes
+   static void vectorlEdoublegR_Dictionary() {
+      ::ROOT::GenerateInitInstanceLocal((const vector<double>*)0x0)->GetClass();
+   }
+
+} // end of namespace ROOT
+
+namespace ROOT {
+   // Wrappers around operator new
+   static void *new_vectorlEdoublegR(void *p) {
+      return  p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<double> : new vector<double>;
+   }
+   static void *newArray_vectorlEdoublegR(Long_t nElements, void *p) {
+      return p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<double>[nElements] : new vector<double>[nElements];
+   }
+   // Wrapper around operator delete
+   static void delete_vectorlEdoublegR(void *p) {
+      delete ((vector<double>*)p);
+   }
+   static void deleteArray_vectorlEdoublegR(void *p) {
+      delete [] ((vector<double>*)p);
+   }
+   static void destruct_vectorlEdoublegR(void *p) {
+      typedef vector<double> current_t;
+      ((current_t*)p)->~current_t();
+   }
+} // end of namespace ROOT for class vector<double>
+
+namespace ROOT {
+   void vectorlEintgR_ShowMembers(void *obj, TMemberInspector &R__insp);
+   static void vectorlEintgR_Dictionary();
+   static void *new_vectorlEintgR(void *p = 0);
+   static void *newArray_vectorlEintgR(Long_t size, void *p);
+   static void delete_vectorlEintgR(void *p);
+   static void deleteArray_vectorlEintgR(void *p);
+   static void destruct_vectorlEintgR(void *p);
+
+   // Function generating the singleton type initializer
+   static TGenericClassInfo *GenerateInitInstanceLocal(const vector<int>*)
+   {
+      vector<int> *ptr = 0;
+      static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(typeid(vector<int>),0);
+      static ::ROOT::TGenericClassInfo 
+         instance("vector<int>", -2, "prec_stl/vector", 49,
+                  typeid(vector<int>), DefineBehavior(ptr, ptr),
+                  0, &vectorlEintgR_Dictionary, isa_proxy, 0,
+                  sizeof(vector<int>) );
+      instance.SetNew(&new_vectorlEintgR);
+      instance.SetNewArray(&newArray_vectorlEintgR);
+      instance.SetDelete(&delete_vectorlEintgR);
+      instance.SetDeleteArray(&deleteArray_vectorlEintgR);
+      instance.SetDestructor(&destruct_vectorlEintgR);
+      instance.AdoptCollectionProxyInfo(TCollectionProxyInfo::Generate(TCollectionProxyInfo::Pushback< vector<int> >()));
+      return &instance;
+   }
+   // Static variable to force the class initialization
+   static ::ROOT::TGenericClassInfo *_R__UNIQUE_(Init) = GenerateInitInstanceLocal((const vector<int>*)0x0); R__UseDummy(_R__UNIQUE_(Init));
+
+   // Dictionary for non-ClassDef classes
+   static void vectorlEintgR_Dictionary() {
+      ::ROOT::GenerateInitInstanceLocal((const vector<int>*)0x0)->GetClass();
+   }
+
+} // end of namespace ROOT
+
+namespace ROOT {
+   // Wrappers around operator new
+   static void *new_vectorlEintgR(void *p) {
+      return  p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<int> : new vector<int>;
+   }
+   static void *newArray_vectorlEintgR(Long_t nElements, void *p) {
+      return p ? ::new((::ROOT::TOperatorNewHelper*)p) vector<int>[nElements] : new vector<int>[nElements];
+   }
+   // Wrapper around operator delete
+   static void delete_vectorlEintgR(void *p) {
+      delete ((vector<int>*)p);
+   }
+   static void deleteArray_vectorlEintgR(void *p) {
+      delete [] ((vector<int>*)p);
+   }
+   static void destruct_vectorlEintgR(void *p) {
+      typedef vector<int> current_t;
+      ((current_t*)p)->~current_t();
+   }
+} // end of namespace ROOT for class vector<int>
+
+/********************************************************
+* TTigressPhysicsDict.cxx
+* CAUTION: DON'T CHANGE THIS FILE. THIS FILE IS AUTOMATICALLY GENERATED
+*          FROM HEADER FILES LISTED IN G__setup_cpp_environmentXXX().
+*          CHANGE THOSE HEADER FILES AND REGENERATE THIS FILE.
+********************************************************/
+
+#ifdef G__MEMTEST
+#undef malloc
+#undef free
+#endif
+
+#if defined(__GNUC__) && __GNUC__ >= 4 && ((__GNUC_MINOR__ == 2 && __GNUC_PATCHLEVEL__ >= 1) || (__GNUC_MINOR__ >= 3))
+#pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif
+
+extern "C" void G__cpp_reset_tagtableTTigressPhysicsDict();
+
+extern "C" void G__set_cpp_environmentTTigressPhysicsDict() {
+  G__add_compiledheader("TObject.h");
+  G__add_compiledheader("TMemberInspector.h");
+  G__add_compiledheader("TTigressPhysics.h");
+  G__cpp_reset_tagtableTTigressPhysicsDict();
+}
+#include <new>
+extern "C" int G__cpp_dllrevTTigressPhysicsDict() { return(30051515); }
+
+/*********************************************************
+* Member function Interface Method
+*********************************************************/
+
+/* TTigressPhysics */
+static int G__TTigressPhysicsDict_483_0_1(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+   TTigressPhysics* p = NULL;
+   char* gvp = (char*) G__getgvp();
+   int n = G__getaryconstruct();
+   if (n) {
+     if ((gvp == (char*)G__PVOID) || (gvp == 0)) {
+       p = new TTigressPhysics[n];
+     } else {
+       p = new((void*) gvp) TTigressPhysics[n];
+     }
+   } else {
+     if ((gvp == (char*)G__PVOID) || (gvp == 0)) {
+       p = new TTigressPhysics;
+     } else {
+       p = new((void*) gvp) TTigressPhysics;
+     }
+   }
+   result7->obj.i = (long) p;
+   result7->ref = (long) p;
+   G__set_tagnum(result7,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TTigressPhysics));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressPhysicsDict_483_0_2(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      ((TTigressPhysics*) G__getstructoffset())->Clear();
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressPhysicsDict_483_0_12(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      ((TTigressPhysics*) G__getstructoffset())->PreTreat();
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressPhysicsDict_483_0_14(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      {
+         TVector3* pobj;
+         TVector3 xobj = ((TTigressPhysics*) G__getstructoffset())->GetPositionOfInteraction((int) G__int(libp->para[0]));
+         pobj = new TVector3(xobj);
+         result7->obj.i = (long) ((void*) pobj);
+         result7->ref = result7->obj.i;
+         G__store_tempobject(*result7);
+      }
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressPhysicsDict_483_0_15(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 85, (long) TTigressPhysics::Class());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressPhysicsDict_483_0_16(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 67, (long) TTigressPhysics::Class_Name());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressPhysicsDict_483_0_17(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 115, (long) TTigressPhysics::Class_Version());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressPhysicsDict_483_0_18(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      TTigressPhysics::Dictionary();
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressPhysicsDict_483_0_22(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      ((TTigressPhysics*) G__getstructoffset())->StreamerNVirtual(*(TBuffer*) libp->para[0].ref);
+      G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressPhysicsDict_483_0_23(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 67, (long) TTigressPhysics::DeclFileName());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressPhysicsDict_483_0_24(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 105, (long) TTigressPhysics::ImplFileLine());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressPhysicsDict_483_0_25(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 67, (long) TTigressPhysics::ImplFileName());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+static int G__TTigressPhysicsDict_483_0_26(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+      G__letint(result7, 105, (long) TTigressPhysics::DeclFileLine());
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+// automatic copy constructor
+static int G__TTigressPhysicsDict_483_0_27(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+
+{
+   TTigressPhysics* p;
+   void* tmp = (void*) G__int(libp->para[0]);
+   p = new TTigressPhysics(*(TTigressPhysics*) tmp);
+   result7->obj.i = (long) p;
+   result7->ref = (long) p;
+   G__set_tagnum(result7,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TTigressPhysics));
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+// automatic destructor
+typedef TTigressPhysics G__TTTigressPhysics;
+static int G__TTigressPhysicsDict_483_0_28(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+   char* gvp = (char*) G__getgvp();
+   long soff = G__getstructoffset();
+   int n = G__getaryconstruct();
+   //
+   //has_a_delete: 1
+   //has_own_delete1arg: 0
+   //has_own_delete2arg: 0
+   //
+   if (!soff) {
+     return(1);
+   }
+   if (n) {
+     if (gvp == (char*)G__PVOID) {
+       delete[] (TTigressPhysics*) soff;
+     } else {
+       G__setgvp((long) G__PVOID);
+       for (int i = n - 1; i >= 0; --i) {
+         ((TTigressPhysics*) (soff+(sizeof(TTigressPhysics)*i)))->~G__TTTigressPhysics();
+       }
+       G__setgvp((long)gvp);
+     }
+   } else {
+     if (gvp == (char*)G__PVOID) {
+       delete (TTigressPhysics*) soff;
+     } else {
+       G__setgvp((long) G__PVOID);
+       ((TTigressPhysics*) (soff))->~G__TTTigressPhysics();
+       G__setgvp((long)gvp);
+     }
+   }
+   G__setnull(result7);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+// automatic assignment operator
+static int G__TTigressPhysicsDict_483_0_29(G__value* result7, G__CONST char* funcname, struct G__param* libp, int hash)
+{
+   TTigressPhysics* dest = (TTigressPhysics*) G__getstructoffset();
+   *dest = *(TTigressPhysics*) libp->para[0].ref;
+   const TTigressPhysics& obj = *dest;
+   result7->ref = (long) (&obj);
+   result7->obj.i = (long) (&obj);
+   return(1 || funcname || hash || result7 || libp) ;
+}
+
+
+/* Setting up global function */
+
+/*********************************************************
+* Member function Stub
+*********************************************************/
+
+/* TTigressPhysics */
+
+/*********************************************************
+* Global function Stub
+*********************************************************/
+
+/*********************************************************
+* Get size of pointer to member function
+*********************************************************/
+class G__Sizep2memfuncTTigressPhysicsDict {
+ public:
+  G__Sizep2memfuncTTigressPhysicsDict(): p(&G__Sizep2memfuncTTigressPhysicsDict::sizep2memfunc) {}
+    size_t sizep2memfunc() { return(sizeof(p)); }
+  private:
+    size_t (G__Sizep2memfuncTTigressPhysicsDict::*p)();
+};
+
+size_t G__get_sizep2memfuncTTigressPhysicsDict()
+{
+  G__Sizep2memfuncTTigressPhysicsDict a;
+  G__setsizep2memfunc((int)a.sizep2memfunc());
+  return((size_t)a.sizep2memfunc());
+}
+
+
+/*********************************************************
+* virtual base class offset calculation interface
+*********************************************************/
+
+   /* Setting up class inheritance */
+
+/*********************************************************
+* Inheritance information setup/
+*********************************************************/
+extern "C" void G__cpp_setup_inheritanceTTigressPhysicsDict() {
+
+   /* Setting up class inheritance */
+   if(0==G__getnumbaseclass(G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TTigressPhysics))) {
+     TTigressPhysics *G__Lderived;
+     G__Lderived=(TTigressPhysics*)0x1000;
+     {
+       TObject *G__Lpbase=(TObject*)G__Lderived;
+       G__inheritance_setup(G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TTigressPhysics),G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TObject),(long)G__Lpbase-(long)G__Lderived,1,1);
+     }
+     {
+       NPA::VDetector *G__Lpbase=(NPA::VDetector*)G__Lderived;
+       G__inheritance_setup(G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TTigressPhysics),G__get_linked_tagnum(&G__TTigressPhysicsDictLN_NPAcLcLVDetector),(long)G__Lpbase-(long)G__Lderived,1,1);
+     }
+   }
+}
+
+/*********************************************************
+* typedef information setup/
+*********************************************************/
+extern "C" void G__cpp_setup_typetableTTigressPhysicsDict() {
+
+   /* Setting up typedef entry */
+   G__search_typename2("Version_t",115,-1,0,-1);
+   G__setnewtype(-1,"Class version identifier (short)",0);
+   G__search_typename2("vector<ROOT::TSchemaHelper>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<TVirtualArray*>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<UShort_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<Double_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTBase<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTBaselEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTBase<Double_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTBaselEdoublegR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TVectorT<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TVectorTlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TVectorT<Double_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TVectorTlEdoublegR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixT<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTRow_const<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTRow_constlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTColumn_const<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTColumn_constlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTDiag_const<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTDiag_constlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTFlat_const<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTFlat_constlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTSub_const<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTSub_constlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTSparseRow_const<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTSparseRow_constlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTSparseDiag_const<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTSparseDiag_constlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTRow<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTRowlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTColumn<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTColumnlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTDiag<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTDiaglEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTFlat<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTFlatlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTSub<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTSublEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTSparseRow<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTSparseRowlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TMatrixTSparseDiag<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TMatrixTSparseDiaglEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TElementActionT<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TElementActionTlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("TElementPosActionT<Float_t>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TElementPosActionTlEfloatgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<int>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<TTigressCrystal>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlETTigressCrystalcOallocatorlETTigressCrystalgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlETTigressCrystalcOallocatorlETTigressCrystalgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlETTigressCrystalcOallocatorlETTigressCrystalgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlETTigressCrystalcOallocatorlETTigressCrystalgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlETTigressCrystalcOallocatorlETTigressCrystalgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("map<string,vector<double> >",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_maplEstringcOvectorlEdoublecOallocatorlEdoublegRsPgRcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("map<string,vector<double,allocator<double> > >",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_maplEstringcOvectorlEdoublecOallocatorlEdoublegRsPgRcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("map<string,vector<double,allocator<double> >,less<string> >",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_maplEstringcOvectorlEdoublecOallocatorlEdoublegRsPgRcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("vector<string>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlEstringcOallocatorlEstringgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<const_iterator>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEstringcOallocatorlEstringgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlEstringcOallocatorlEstringgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("reverse_iterator<iterator>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEstringcOallocatorlEstringgRsPgRcLcLiteratorgR),0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlEstringcOallocatorlEstringgRsPgR));
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("map<string,string>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_maplEstringcOstringcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOstringgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("map<string,string,less<string> >",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_maplEstringcOstringcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOstringgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("map<int,TTigressClover*>",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_maplEintcOTTigressClovermUcOlesslEintgRcOallocatorlEpairlEconstsPintcOTTigressClovermUgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+   G__search_typename2("map<int,TTigressClover*,less<int> >",117,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_maplEintcOTTigressClovermUcOlesslEintgRcOallocatorlEpairlEconstsPintcOTTigressClovermUgRsPgRsPgR),0,-1);
+   G__setnewtype(-1,NULL,0);
+}
+
+/*********************************************************
+* Data Member information setup/
+*********************************************************/
+
+   /* Setting up class,struct,union tag member variable */
+
+   /* TTigressPhysics */
+static void G__setup_memvarTTigressPhysics(void) {
+   G__tag_memvar_setup(G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TTigressPhysics));
+   { TTigressPhysics *p; p=(TTigressPhysics*)0x1000; if (p) { }
+   G__memvar_setup((void*)0,117,0,0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_maplEintcOTTigressClovermUcOlesslEintgRcOallocatorlEpairlEconstsPintcOTTigressClovermUgRsPgRsPgR),G__defined_typename("map<int,TTigressClover*>"),-1,4,"m_Clover=",0,(char*)NULL);
+   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TTigressData),-1,-1,4,"m_EventData=",0,"!");
+   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TTigressData),-1,-1,4,"m_PreTreatedData=",0,"!");
+   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TTigressPhysics),-1,-1,4,"m_EventPhysics=",0,"!");
+   G__memvar_setup((void*)((long)(&p->Gamma_Energy)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR),G__defined_typename("vector<double>"),-1,1,"Gamma_Energy=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->Crystal_Number)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"Crystal_Number=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->Clover_Number)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR),G__defined_typename("vector<int>"),-1,1,"Clover_Number=",0,(char*)NULL);
+   G__memvar_setup((void*)((long)(&p->BGO)-(long)(p)),117,0,0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_vectorlEboolcOallocatorlEboolgRsPgR),G__defined_typename("vector<bool>"),-1,1,"BGO=",0,(char*)NULL);
+   G__memvar_setup((void*)0,85,0,0,G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TClass),-1,-2,4,"fgIsA=",0,(char*)NULL);
+   }
+   G__tag_memvar_reset();
+}
+
+extern "C" void G__cpp_setup_memvarTTigressPhysicsDict() {
+}
+/***********************************************************
+************************************************************
+************************************************************
+************************************************************
+************************************************************
+************************************************************
+************************************************************
+***********************************************************/
+
+/*********************************************************
+* Member function information setup for each class
+*********************************************************/
+static void G__setup_memfuncTTigressPhysics(void) {
+   /* TTigressPhysics */
+   G__tag_memfunc_setup(G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TTigressPhysics));
+   G__memfunc_setup("TTigressPhysics",1560,G__TTigressPhysicsDict_483_0_1, 105, G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TTigressPhysics), -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("Clear",487,G__TTigressPhysicsDict_483_0_2, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("ReadConfiguration",1748,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'string' - 0 - -", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("AddParameterToCalibrationManager",3216,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("InitializeRootInputRaw",2288,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("InitializeRootInputPhysics",2729,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("InitializeRootOutput",2119,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("BuildPhysicalEvent",1839,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("BuildSimplePhysicalEvent",2457,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("ClearEventPhysics",1740,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("ClearEventData",1379,(G__InterfaceMethod) NULL,121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("PreTreat",807,G__TTigressPhysicsDict_483_0_12, 121, -1, -1, 0, 0, 1, 1, 0, "", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("AddClover",884,(G__InterfaceMethod) NULL, 121, -1, -1, 0, 4, 1, 4, 0, 
+"i - - 0 - - d - - 0 - - "
+"d - - 0 - - d - - 0 - -", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("GetPositionOfInteraction",2474,G__TTigressPhysicsDict_483_0_14, 117, G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TVector3), -1, 0, 1, 1, 1, 0, "i - - 0 - i", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("Class",502,G__TTigressPhysicsDict_483_0_15, 85, G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TClass), -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (TClass* (*)())(&TTigressPhysics::Class) ), 0);
+   G__memfunc_setup("Class_Name",982,G__TTigressPhysicsDict_483_0_16, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TTigressPhysics::Class_Name) ), 0);
+   G__memfunc_setup("Class_Version",1339,G__TTigressPhysicsDict_483_0_17, 115, -1, G__defined_typename("Version_t"), 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (Version_t (*)())(&TTigressPhysics::Class_Version) ), 0);
+   G__memfunc_setup("Dictionary",1046,G__TTigressPhysicsDict_483_0_18, 121, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (void (*)())(&TTigressPhysics::Dictionary) ), 0);
+   G__memfunc_setup("IsA",253,(G__InterfaceMethod) NULL,85, G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TClass), -1, 0, 0, 1, 1, 8, "", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("ShowMembers",1132,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'TMemberInspector' - 1 - insp", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("Streamer",835,(G__InterfaceMethod) NULL,121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - b", (char*)NULL, (void*) NULL, 1);
+   G__memfunc_setup("StreamerNVirtual",1656,G__TTigressPhysicsDict_483_0_22, 121, -1, -1, 0, 1, 1, 1, 0, "u 'TBuffer' - 1 - b", (char*)NULL, (void*) NULL, 0);
+   G__memfunc_setup("DeclFileName",1145,G__TTigressPhysicsDict_483_0_23, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TTigressPhysics::DeclFileName) ), 0);
+   G__memfunc_setup("ImplFileLine",1178,G__TTigressPhysicsDict_483_0_24, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&TTigressPhysics::ImplFileLine) ), 0);
+   G__memfunc_setup("ImplFileName",1171,G__TTigressPhysicsDict_483_0_25, 67, -1, -1, 0, 0, 3, 1, 1, "", (char*)NULL, (void*) G__func2void( (const char* (*)())(&TTigressPhysics::ImplFileName) ), 0);
+   G__memfunc_setup("DeclFileLine",1152,G__TTigressPhysicsDict_483_0_26, 105, -1, -1, 0, 0, 3, 1, 0, "", (char*)NULL, (void*) G__func2void( (int (*)())(&TTigressPhysics::DeclFileLine) ), 0);
+   // automatic copy constructor
+   G__memfunc_setup("TTigressPhysics", 1560, G__TTigressPhysicsDict_483_0_27, (int) ('i'), G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TTigressPhysics), -1, 0, 1, 1, 1, 0, "u 'TTigressPhysics' - 11 - -", (char*) NULL, (void*) NULL, 0);
+   // automatic destructor
+   G__memfunc_setup("~TTigressPhysics", 1686, G__TTigressPhysicsDict_483_0_28, (int) ('y'), -1, -1, 0, 0, 1, 1, 0, "", (char*) NULL, (void*) NULL, 1);
+   // automatic assignment operator
+   G__memfunc_setup("operator=", 937, G__TTigressPhysicsDict_483_0_29, (int) ('u'), G__get_linked_tagnum(&G__TTigressPhysicsDictLN_TTigressPhysics), -1, 1, 1, 1, 1, 0, "u 'TTigressPhysics' - 11 - -", (char*) NULL, (void*) NULL, 0);
+   G__tag_memfunc_reset();
+}
+
+
+/*********************************************************
+* Member function information setup
+*********************************************************/
+extern "C" void G__cpp_setup_memfuncTTigressPhysicsDict() {
+}
+
+/*********************************************************
+* Global variable information setup for each class
+*********************************************************/
+static void G__cpp_setup_global0() {
+
+   /* Setting up global variables */
+   G__resetplocal();
+
+}
+
+static void G__cpp_setup_global1() {
+}
+
+static void G__cpp_setup_global2() {
+
+   G__resetglobalenv();
+}
+extern "C" void G__cpp_setup_globalTTigressPhysicsDict() {
+  G__cpp_setup_global0();
+  G__cpp_setup_global1();
+  G__cpp_setup_global2();
+}
+
+/*********************************************************
+* Global function information setup for each class
+*********************************************************/
+static void G__cpp_setup_func0() {
+   G__lastifuncposition();
+
+}
+
+static void G__cpp_setup_func1() {
+}
+
+static void G__cpp_setup_func2() {
+}
+
+static void G__cpp_setup_func3() {
+}
+
+static void G__cpp_setup_func4() {
+}
+
+static void G__cpp_setup_func5() {
+}
+
+static void G__cpp_setup_func6() {
+}
+
+static void G__cpp_setup_func7() {
+}
+
+static void G__cpp_setup_func8() {
+}
+
+static void G__cpp_setup_func9() {
+}
+
+static void G__cpp_setup_func10() {
+}
+
+static void G__cpp_setup_func11() {
+}
+
+static void G__cpp_setup_func12() {
+}
+
+static void G__cpp_setup_func13() {
+}
+
+static void G__cpp_setup_func14() {
+}
+
+static void G__cpp_setup_func15() {
+}
+
+static void G__cpp_setup_func16() {
+}
+
+static void G__cpp_setup_func17() {
+}
+
+static void G__cpp_setup_func18() {
+}
+
+static void G__cpp_setup_func19() {
+}
+
+static void G__cpp_setup_func20() {
+
+   G__resetifuncposition();
+}
+
+extern "C" void G__cpp_setup_funcTTigressPhysicsDict() {
+  G__cpp_setup_func0();
+  G__cpp_setup_func1();
+  G__cpp_setup_func2();
+  G__cpp_setup_func3();
+  G__cpp_setup_func4();
+  G__cpp_setup_func5();
+  G__cpp_setup_func6();
+  G__cpp_setup_func7();
+  G__cpp_setup_func8();
+  G__cpp_setup_func9();
+  G__cpp_setup_func10();
+  G__cpp_setup_func11();
+  G__cpp_setup_func12();
+  G__cpp_setup_func13();
+  G__cpp_setup_func14();
+  G__cpp_setup_func15();
+  G__cpp_setup_func16();
+  G__cpp_setup_func17();
+  G__cpp_setup_func18();
+  G__cpp_setup_func19();
+  G__cpp_setup_func20();
+}
+
+/*********************************************************
+* Class,struct,union,enum tag information setup
+*********************************************************/
+/* Setup class/struct taginfo */
+G__linked_taginfo G__TTigressPhysicsDictLN_TClass = { "TClass" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TBuffer = { "TBuffer" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMemberInspector = { "TMemberInspector" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TObject = { "TObject" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR = { "vector<unsigned short,allocator<unsigned short> >" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR = { "vector<double,allocator<double> >" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_vectorlEboolcOallocatorlEboolgRsPgR = { "vector<bool,allocator<bool> >" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_string = { "string" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR = { "vector<ROOT::TSchemaHelper,allocator<ROOT::TSchemaHelper> >" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR = { "reverse_iterator<vector<ROOT::TSchemaHelper,allocator<ROOT::TSchemaHelper> >::iterator>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR = { "vector<TVirtualArray*,allocator<TVirtualArray*> >" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<TVirtualArray*,allocator<TVirtualArray*> >::iterator>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TTigressData = { "TTigressData" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTBaselEfloatgR = { "TMatrixTBase<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTBaselEdoublegR = { "TMatrixTBase<double>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TVectorTlEfloatgR = { "TVectorT<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TVectorTlEdoublegR = { "TVectorT<double>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TElementActionTlEfloatgR = { "TElementActionT<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TElementPosActionTlEfloatgR = { "TElementPosActionT<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTlEfloatgR = { "TMatrixT<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTRow_constlEfloatgR = { "TMatrixTRow_const<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTRowlEfloatgR = { "TMatrixTRow<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTDiag_constlEfloatgR = { "TMatrixTDiag_const<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTColumn_constlEfloatgR = { "TMatrixTColumn_const<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTFlat_constlEfloatgR = { "TMatrixTFlat_const<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTSub_constlEfloatgR = { "TMatrixTSub_const<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTSparseRow_constlEfloatgR = { "TMatrixTSparseRow_const<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTSparseDiag_constlEfloatgR = { "TMatrixTSparseDiag_const<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTColumnlEfloatgR = { "TMatrixTColumn<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTDiaglEfloatgR = { "TMatrixTDiag<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTFlatlEfloatgR = { "TMatrixTFlat<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTSublEfloatgR = { "TMatrixTSub<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTSparseRowlEfloatgR = { "TMatrixTSparseRow<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTSparseDiaglEfloatgR = { "TMatrixTSparseDiag<float>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TVector3 = { "TVector3" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR = { "vector<int,allocator<int> >" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<int,allocator<int> >::iterator>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_vectorlETTigressCrystalcOallocatorlETTigressCrystalgRsPgR = { "vector<TTigressCrystal,allocator<TTigressCrystal> >" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlETTigressCrystalcOallocatorlETTigressCrystalgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<TTigressCrystal,allocator<TTigressCrystal> >::iterator>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_maplEstringcOvectorlEdoublecOallocatorlEdoublegRsPgRcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgR = { "map<string,vector<double,allocator<double> >,less<string>,allocator<pair<const string,vector<double,allocator<double> > > > >" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_vectorlEstringcOallocatorlEstringgRsPgR = { "vector<string,allocator<string> >" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEstringcOallocatorlEstringgRsPgRcLcLiteratorgR = { "reverse_iterator<vector<string,allocator<string> >::iterator>" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_maplEstringcOstringcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOstringgRsPgRsPgR = { "map<string,string,less<string>,allocator<pair<const string,string> > >" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_NPA = { "NPA" , 110 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_NPAcLcLVDetector = { "NPA::VDetector" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_TTigressPhysics = { "TTigressPhysics" , 99 , -1 };
+G__linked_taginfo G__TTigressPhysicsDictLN_maplEintcOTTigressClovermUcOlesslEintgRcOallocatorlEpairlEconstsPintcOTTigressClovermUgRsPgRsPgR = { "map<int,TTigressClover*,less<int>,allocator<pair<const int,TTigressClover*> > >" , 99 , -1 };
+
+/* Reset class/struct taginfo */
+extern "C" void G__cpp_reset_tagtableTTigressPhysicsDict() {
+  G__TTigressPhysicsDictLN_TClass.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TBuffer.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMemberInspector.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TObject.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_vectorlEboolcOallocatorlEboolgRsPgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_string.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TTigressData.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTBaselEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTBaselEdoublegR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TVectorTlEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TVectorTlEdoublegR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TElementActionTlEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TElementPosActionTlEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTlEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTRow_constlEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTRowlEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTDiag_constlEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTColumn_constlEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTFlat_constlEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTSub_constlEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTSparseRow_constlEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTSparseDiag_constlEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTColumnlEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTDiaglEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTFlatlEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTSublEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTSparseRowlEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TMatrixTSparseDiaglEfloatgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TVector3.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_vectorlETTigressCrystalcOallocatorlETTigressCrystalgRsPgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlETTigressCrystalcOallocatorlETTigressCrystalgRsPgRcLcLiteratorgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_maplEstringcOvectorlEdoublecOallocatorlEdoublegRsPgRcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_vectorlEstringcOallocatorlEstringgRsPgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEstringcOallocatorlEstringgRsPgRcLcLiteratorgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_maplEstringcOstringcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOstringgRsPgRsPgR.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_NPA.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_NPAcLcLVDetector.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_TTigressPhysics.tagnum = -1 ;
+  G__TTigressPhysicsDictLN_maplEintcOTTigressClovermUcOlesslEintgRcOallocatorlEpairlEconstsPintcOTTigressClovermUgRsPgRsPgR.tagnum = -1 ;
+}
+
+
+extern "C" void G__cpp_setup_tagtableTTigressPhysicsDict() {
+
+   /* Setting up class,struct,union tag entry */
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TClass);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TBuffer);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMemberInspector);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TObject);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_vectorlEboolcOallocatorlEboolgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_string);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TTigressData);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTBaselEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTBaselEdoublegR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TVectorTlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TVectorTlEdoublegR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TElementActionTlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TElementPosActionTlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTRow_constlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTRowlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTDiag_constlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTColumn_constlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTFlat_constlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTSub_constlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTSparseRow_constlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTSparseDiag_constlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTColumnlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTDiaglEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTFlatlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTSublEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTSparseRowlEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TMatrixTSparseDiaglEfloatgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TVector3);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_vectorlETTigressCrystalcOallocatorlETTigressCrystalgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlETTigressCrystalcOallocatorlETTigressCrystalgRsPgRcLcLiteratorgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_maplEstringcOvectorlEdoublecOallocatorlEdoublegRsPgRcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_vectorlEstringcOallocatorlEstringgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEstringcOallocatorlEstringgRsPgRcLcLiteratorgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_maplEstringcOstringcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOstringgRsPgRsPgR);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_NPA);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_NPAcLcLVDetector);
+   G__tagtable_setup(G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_TTigressPhysics),sizeof(TTigressPhysics),-1,29952,"TigressPhysics structure",G__setup_memvarTTigressPhysics,G__setup_memfuncTTigressPhysics);
+   G__get_linked_tagnum_fwd(&G__TTigressPhysicsDictLN_maplEintcOTTigressClovermUcOlesslEintgRcOallocatorlEpairlEconstsPintcOTTigressClovermUgRsPgRsPgR);
+}
+extern "C" void G__cpp_setupTTigressPhysicsDict(void) {
+  G__check_setup_version(30051515,"G__cpp_setupTTigressPhysicsDict()");
+  G__set_cpp_environmentTTigressPhysicsDict();
+  G__cpp_setup_tagtableTTigressPhysicsDict();
+
+  G__cpp_setup_inheritanceTTigressPhysicsDict();
+
+  G__cpp_setup_typetableTTigressPhysicsDict();
+
+  G__cpp_setup_memvarTTigressPhysicsDict();
+
+  G__cpp_setup_memfuncTTigressPhysicsDict();
+  G__cpp_setup_globalTTigressPhysicsDict();
+  G__cpp_setup_funcTTigressPhysicsDict();
+
+   if(0==G__getsizep2memfunc()) G__get_sizep2memfuncTTigressPhysicsDict();
+  return;
+}
+class G__cpp_setup_initTTigressPhysicsDict {
+  public:
+    G__cpp_setup_initTTigressPhysicsDict() { G__add_setup_func("TTigressPhysicsDict",(G__incsetup)(&G__cpp_setupTTigressPhysicsDict)); G__call_setup_funcs(); }
+   ~G__cpp_setup_initTTigressPhysicsDict() { G__remove_setup_func("TTigressPhysicsDict"); }
+};
+G__cpp_setup_initTTigressPhysicsDict G__cpp_setup_initializerTTigressPhysicsDict;
+
diff --git a/NPLib/Tigress/TTigressPhysicsDict.h b/NPLib/Tigress/TTigressPhysicsDict.h
new file mode 100644
index 000000000..c08176173
--- /dev/null
+++ b/NPLib/Tigress/TTigressPhysicsDict.h
@@ -0,0 +1,90 @@
+/********************************************************************
+* TTigressPhysicsDict.h
+* CAUTION: DON'T CHANGE THIS FILE. THIS FILE IS AUTOMATICALLY GENERATED
+*          FROM HEADER FILES LISTED IN G__setup_cpp_environmentXXX().
+*          CHANGE THOSE HEADER FILES AND REGENERATE THIS FILE.
+********************************************************************/
+#ifdef __CINT__
+#error TTigressPhysicsDict.h/C is only for compilation. Abort cint.
+#endif
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <string.h>
+#define G__ANSIHEADER
+#define G__DICTIONARY
+#define G__PRIVATE_GVALUE
+#include "G__ci.h"
+#include "FastAllocString.h"
+extern "C" {
+extern void G__cpp_setup_tagtableTTigressPhysicsDict();
+extern void G__cpp_setup_inheritanceTTigressPhysicsDict();
+extern void G__cpp_setup_typetableTTigressPhysicsDict();
+extern void G__cpp_setup_memvarTTigressPhysicsDict();
+extern void G__cpp_setup_globalTTigressPhysicsDict();
+extern void G__cpp_setup_memfuncTTigressPhysicsDict();
+extern void G__cpp_setup_funcTTigressPhysicsDict();
+extern void G__set_cpp_environmentTTigressPhysicsDict();
+}
+
+
+#include "TObject.h"
+#include "TMemberInspector.h"
+#include "TTigressPhysics.h"
+#include <algorithm>
+namespace std { }
+using namespace std;
+
+#ifndef G__MEMFUNCBODY
+#endif
+
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TClass;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TBuffer;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMemberInspector;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TObject;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_vectorlEunsignedsPshortcOallocatorlEunsignedsPshortgRsPgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_vectorlEdoublecOallocatorlEdoublegRsPgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_vectorlEboolcOallocatorlEboolgRsPgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_string;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TTigressData;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTBaselEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTBaselEdoublegR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TVectorTlEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TVectorTlEdoublegR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TElementActionTlEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TElementPosActionTlEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTlEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTRow_constlEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTRowlEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTDiag_constlEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTColumn_constlEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTFlat_constlEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTSub_constlEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTSparseRow_constlEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTSparseDiag_constlEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTColumnlEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTDiaglEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTFlatlEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTSublEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTSparseRowlEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TMatrixTSparseDiaglEfloatgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TVector3;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_vectorlEintcOallocatorlEintgRsPgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_vectorlETTigressCrystalcOallocatorlETTigressCrystalgRsPgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlETTigressCrystalcOallocatorlETTigressCrystalgRsPgRcLcLiteratorgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_maplEstringcOvectorlEdoublecOallocatorlEdoublegRsPgRcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOvectorlEdoublecOallocatorlEdoublegRsPgRsPgRsPgRsPgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_vectorlEstringcOallocatorlEstringgRsPgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_reverse_iteratorlEvectorlEstringcOallocatorlEstringgRsPgRcLcLiteratorgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_maplEstringcOstringcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOstringgRsPgRsPgR;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_NPA;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_NPAcLcLVDetector;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_TTigressPhysics;
+extern G__linked_taginfo G__TTigressPhysicsDictLN_maplEintcOTTigressClovermUcOlesslEintgRcOallocatorlEpairlEconstsPintcOTTigressClovermUgRsPgRsPgR;
+
+/* STUB derived class for protected member access */
-- 
GitLab