diff --git a/NPLib/Detectors/Exogam/TExogamData.cxx b/NPLib/Detectors/Exogam/TExogamData.cxx
index 514a5059f828a26b88b709b0123f45d379b8671b..53c426fd9ac37c0e247a9c1bd9b95a7fd209ff8a 100644
--- a/NPLib/Detectors/Exogam/TExogamData.cxx
+++ b/NPLib/Detectors/Exogam/TExogamData.cxx
@@ -24,70 +24,29 @@ using namespace std;
 
 #include "TExogamData.h"
 
-
 ClassImp(TExogamData)
 
-TExogamData::TExogamData()
-{
-   // Default constructor
-   Clear();
+    TExogamData::TExogamData() {
+  // Default constructor
+  Clear();
 }
 
-
-
-TExogamData::~TExogamData()
-{
+TExogamData::~TExogamData() {}
+
+void TExogamData::Clear() {
+  fExo_Flange.clear();
+  fExo_Crystal.clear();
+  fExo_E.clear();
+  fExo_E_HG.clear(); // High gain x20
+  fExo_TS.clear();
+  fExo_TDC.clear();
+  fExo_BGO.clear();
+  fExo_CsI.clear();
+  fExo_Outer1.clear();
+  fExo_Outer2.clear();
+  fExo_Outer3.clear();
+  fExo_Outer4.clear();
 }
 
+void TExogamData::Dump() const {}
 
-
-void TExogamData::Clear()
-{
-  fExoE.clear();
-  fExoE_CrystalNbr.clear();
-  fExoE_TS.clear();
-  fExoHG.clear(); 
-  fExoHG_CrystalNbr.clear();
-  fExoHG_TS.clear();
-  fExoTDC.clear();
-  fExoTDC_CrystalNbr.clear();
-  fExoTDC_TS.clear();
-  fExoOuter.clear();
-  fExoOuter_SubCrystalNbr.clear(); 
-  fExoBGO.clear();
-  fExoBGO_CrystalNbr.clear();
-  fExoCsI.clear();
-  fExoCsI_CrystalNbr.clear();
-}
-
-
-
-void TExogamData::Dump() const
-{
-   cout << "XXXXXXXXXXXXXXXXXXXXXXXX New Event XXXXXXXXXXXXXXXXX" << endl;
-   
-   cout << "Inner6MV Mult = " << fExoE.size() << endl;
-   for (UShort_t i = 0; i < fExoE.size(); i++) {
-      cout << "Energy: " << fExoE[i] << " Cristal Numb: " << fExoE_CrystalNbr[i] << " TimeStamp: " << fExoE_TS[i] << endl;
-   }
-   cout << "Inner20MV Mult = " << fExoHG.size() << endl;
-   for (UShort_t i = 0; i < fExoHG.size(); i++) {
-      cout << "Energy: " << fExoHG[i] << " Cristal Numb: " << fExoHG_CrystalNbr[i] << " TimeStamp: " << fExoHG_TS[i] << endl;
-   }
-   cout << "OutersV Mult = " << fExoOuter.size() << endl;
-   for (UShort_t i = 0; i < fExoOuter.size(); i++) {
-      cout << "Energy: " << fExoOuter[i] << " Cristal Numb: " << fExoOuter_SubCrystalNbr[i] << endl;
-   }
-   cout << "DeltaTV Mult = " << fExoTDC.size() << endl;
-   for (UShort_t i = 0; i < fExoTDC.size(); i++) {
-      cout << "Energy: " << fExoTDC[i] << " Cristal Numb: " << fExoTDC_CrystalNbr[i] << " TimeStamp: " << fExoTDC_TS[i] << endl;
-   }
-   cout << "BGOV Mult = " << fExoBGO.size() << endl;
-   for (UShort_t i = 0; i < fExoBGO.size(); i++) {
-      cout << "Energy: " << fExoBGO[i] << " Cristal Numb: " << fExoBGO_CrystalNbr[i] << endl;
-   }
-   cout << "CsIV Mult = " << fExoCsI.size() << endl;
-   for (UShort_t i = 0; i < fExoCsI.size(); i++) {
-      cout << "Energy: " << fExoCsI[i] << " Cristal Numb: " << fExoCsI_CrystalNbr[i] << endl;
-   }
-}
diff --git a/NPLib/Detectors/Exogam/TExogamData.h b/NPLib/Detectors/Exogam/TExogamData.h
index 10e3ba2c513baa0002f69c3d41c44d682024f480..1887cdbcef955cbdcace3986210cd36be69e540b 100644
--- a/NPLib/Detectors/Exogam/TExogamData.h
+++ b/NPLib/Detectors/Exogam/TExogamData.h
@@ -24,30 +24,10 @@
 
 // STL
 #include "TObject.h"
+#include <map>
 #include <vector>
 
 class TExogamData : public TObject {
- private:
-  std::vector<UShort_t> fExoE;
-  std::vector<UShort_t> fExoE_CrystalNbr;
-  std::vector<ULong64_t> fExoE_TS;
-
-  std::vector<UShort_t> fExoHG; // Same as Energy but with High Gain (for Low Energy events) 
-  std::vector<UShort_t> fExoHG_CrystalNbr;
-  std::vector<ULong64_t> fExoHG_TS;
-
-  std::vector<UShort_t> fExoTDC; // Internal TDC of EXOGAM
-  std::vector<UShort_t> fExoTDC_CrystalNbr;
-  std::vector<ULong64_t> fExoTDC_TS;
-
-  std::vector<UShort_t> fExoOuter;
-  std::vector<UShort_t> fExoOuter_SubCrystalNbr; 
-
-  std::vector<UShort_t> fExoBGO;
-  std::vector<UShort_t> fExoBGO_CrystalNbr;
-
-  std::vector<UShort_t> fExoCsI;
-  std::vector<UShort_t> fExoCsI_CrystalNbr;
 
  public:
   TExogamData();
@@ -57,50 +37,48 @@ class TExogamData : public TObject {
   void Clear(const Option_t*){};
   void Dump() const;
 
+ public:
+  std::vector<unsigned int> fExo_Flange;
+  std::vector<unsigned int> fExo_Crystal;
+  std::vector<unsigned int> fExo_E;
+  std::vector<unsigned int> fExo_E_HG; // High gain x20
+  std::vector<unsigned long long> fExo_TS;
+  std::vector<unsigned int> fExo_TDC;
+  std::vector<unsigned int> fExo_BGO;
+  std::vector<unsigned int> fExo_CsI;
+  std::vector<unsigned int> fExo_Outer1;
+  std::vector<unsigned int> fExo_Outer2;
+  std::vector<unsigned int> fExo_Outer3;
+  std::vector<unsigned int> fExo_Outer4;
+
+
   /////////////////////           SETTERS           ////////////////////////
-  inline void SetExo(const UShort_t& Energy, const UShort_t& DetNumb, const ULong64_t& TimeStamp) {
-    fExoE.push_back(Energy);
-    fExoE_CrystalNbr.push_back(DetNumb);
-    fExoE_TS.push_back(TimeStamp);
-  }
-  inline void SetExoHG(const UShort_t& Energy, const UShort_t& DetNumb, const ULong64_t& TimeStamp) {
-    fExoHG.push_back(Energy);
-    fExoHG_CrystalNbr.push_back(DetNumb);
-    fExoHG_TS.push_back(TimeStamp);
-  }
-  inline void SetExoDelta(const UShort_t& Time, const UShort_t& DetNumb, const ULong64_t& TimeStamp) {
-    fExoTDC.push_back(Time);
-    fExoTDC_CrystalNbr.push_back(DetNumb);
-    fExoTDC_TS.push_back(TimeStamp);
-  }
-  inline void SetExoOuter(const UShort_t& Energy, const UShort_t& OutersNumb) {
-    fExoOuter.push_back(Energy);
-    fExoOuter_SubCrystalNbr.push_back(OutersNumb);
-  }
-  inline void SetExoBGO(const UShort_t& Energy, const UShort_t& BGONumb) {
-    fExoBGO.push_back(Energy);
-    fExoBGO_CrystalNbr.push_back(BGONumb);
-  }
-  inline void SetExoCsI(const UShort_t& Energy, const UShort_t& CsINumb) {
-    fExoCsI.push_back(Energy);
-    fExoCsI_CrystalNbr.push_back(CsINumb);
-  }
+  inline void SetExoFlange(unsigned int& Flange) { fExo_Flange.push_back(Flange); }
+  inline void SetExoCrystal(unsigned int& Crystal) { fExo_Crystal.push_back(Crystal); }
+  inline void SetExoE(unsigned int& Energy) { fExo_E.push_back(Energy); }
+  inline void SetExoEHG(unsigned int& Energy) { fExo_E_HG.push_back(Energy); }
+  inline void SetExoTS(unsigned long long& TS) { fExo_TS.push_back(TS); }
+  inline void SetExoTDC(unsigned int& TDC) { fExo_TDC.push_back(TDC); }
+  inline void SetExoBGO(unsigned int& BGO) { fExo_BGO.push_back(BGO); }
+  inline void SetExoCsI(unsigned int& CsI) { fExo_CsI.push_back(CsI); }
+  inline void SetExoOuter1(unsigned int& Outer1) { fExo_Outer1.push_back(Outer1); }
+  inline void SetExoOuter2(unsigned int& Outer2) { fExo_Outer2.push_back(Outer2); }
+  inline void SetExoOuter3(unsigned int& Outer3) { fExo_Outer3.push_back(Outer3); }
+  inline void SetExoOuter4(unsigned int& Outer4) { fExo_Outer4.push_back(Outer4); }
+
   /////////////////////           GETTERS           ////////////////////////
-  inline UShort_t GetExoE(UShort_t& i) { return fExoE[i]; }
-  inline UShort_t GetExoE_CrystalNbr(UShort_t& i) { return fExoE_CrystalNbr[i]; }
-  inline ULong64_t GetExoE_TS(UShort_t& i) { return fExoE_TS[i]; }
-  inline UShort_t GetExoHG(UShort_t& i) { return fExoHG[i]; }
-  inline UShort_t GetExoHG_CrystalNbr(UShort_t& i) { return fExoHG_CrystalNbr[i]; }
-  inline ULong64_t GetExoHG_TS(UShort_t& i) { return fExoHG_TS[i]; }
-  inline UShort_t GetExoTDC(UShort_t& i) { return fExoTDC[i]; }
-  inline UShort_t GetExoTDC_CrystalNbr(UShort_t& i) { return fExoTDC_CrystalNbr[i]; }
-  inline ULong64_t GetExoTDC_TS(UShort_t& i) { return fExoTDC_TS[i]; }
-  inline UShort_t GetExoOuter(UShort_t& i) { return fExoOuter[i]; }
-  inline UShort_t GetExoOuter_SubCrystalNbr(UShort_t& i) { return fExoOuter_SubCrystalNbr[i]; }
-  inline UShort_t GetExoBGO(UShort_t& i) { return fExoBGO[i]; }
-  inline UShort_t GetExoBGO_CrystalNbr(UShort_t& i) { return fExoBGO_CrystalNbr[i]; }
-  inline UShort_t GetExoCsI(UShort_t& i) { return fExoCsI[i]; }
-  inline UShort_t GetExoCsI_CrystalNbr(UShort_t& i) { return fExoCsI_CrystalNbr[i]; }
+  inline unsigned int GetExoFlange(unsigned int& i) { return fExo_Flange[i]; }
+  inline unsigned int GetExoCrystal(unsigned int& i) { return fExo_Crystal[i]; }
+  inline unsigned int GetExoE(unsigned int& i) { return fExo_E[i]; }
+  inline unsigned int GetExoEHG(unsigned int& i) { return fExo_E_HG[i]; }
+  inline unsigned long long GetExoTS(unsigned int& i) { return fExo_TS[i]; }
+  inline unsigned int GetExoTDC(unsigned int& i) { return fExo_TDC[i]; }
+  inline unsigned int GetExoBGO(unsigned int& i) { return fExo_BGO[i]; }
+  inline unsigned int GetExoCsI(unsigned int& i) { return fExo_CsI[i]; }
+  inline unsigned int GetExoOuter1(unsigned int& i) { return fExo_Outer1[i]; }
+  inline unsigned int GetExoOuter2(unsigned int& i) { return fExo_Outer2[i]; }
+  inline unsigned int GetExoOuter3(unsigned int& i) { return fExo_Outer3[i]; }
+  inline unsigned int GetExoOuter4(unsigned int& i) { return fExo_Outer4[i]; }
 
   ClassDef(TExogamData, 1) // ExogamData structure
 };
diff --git a/NPLib/Detectors/Exogam/TExogamPhysics.cxx b/NPLib/Detectors/Exogam/TExogamPhysics.cxx
index c9d907539d557cc63d4b3cb14cc47ebfffe18ced..68b02ad7c7c486afea3100faebf76178ac60e618 100644
--- a/NPLib/Detectors/Exogam/TExogamPhysics.cxx
+++ b/NPLib/Detectors/Exogam/TExogamPhysics.cxx
@@ -450,18 +450,23 @@ void TExogamPhysics::Clear() {
 
 //	Read stream at ConfigFile to pick-up parameters of detector (Position,...) using Token
 void TExogamPhysics::ReadConfiguration(NPL::InputParser parser) {
-  vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Exogam");
+  vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("EXOGAM");
   if (NPOptionManager::getInstance()->GetVerboseLevel())
-    cout << "//// " << blocks.size() << " detectors found " << endl;
+    cout << "//// " << blocks.size() << " EXOGAM clover found " << endl;
 
-  vector<string> token = {"ANGLE_FILE"};
+  // FIXME ANGLE FILE??? NOT SURE I GET IT...
+  // For Doppler I guess... Something like that should be added later
+  // But maybe the more stand R,THETA,PHI or X,Y,Z 
+  // vector<string> token = {"ANGLE_FILE"};
+  vector<string> token = {"Board, Flange, Channel0, Channel1"};
+  // FIXME To be implemented in the future
+  // vector<string> token = {"Board, Flange, Channel0, Channel1, R, THETA, PHI"};
 
   for (unsigned int i = 0; i < blocks.size(); i++) {
     if (blocks[i]->HasTokenList(token)) {
-      string AngleFile = blocks[i]->GetString("ANGLE_FILE");
-      AddClover(AngleFile);
+      int Board, Flange, Channel0, Channel1; // FIXME!!!! Should come from Data...
+      AddClover(Board, Flange, Channel0, Channel1);
     }
-
     else {
       cout << "ERROR: check your input file formatting " << endl;
       exit(1);
@@ -493,58 +498,66 @@ map<string, TH1*> TExogamPhysics::GetSpectra() {
     return empty;
   }
 }
+
+
 //////////////////////////////////////////////////////////////////////////
-void TExogamPhysics::AddClover(string AngleFile) {
-  ifstream file;
-  //  TString filename = Form("posBaptiste/angles_exogam_clover%d.txt",NumberOfClover);
-  //  TString filename = Form("posz42_simu50mm/angles_exogam_clover%d.txt",NumberOfClover);
-  //  TString filename = Form("posz42_exp_stat_demiring/angles_exogam_clover%d.txt",NumberOfClover);
+void TExogamPhysics::AddClover(int Board, int Flange, int Channel0, int Channel1) {
 
-  string path = "configs/";
-  TString filename = path + AngleFile;
+}
 
-  cout << filename << endl;
-  file.open(filename);
-  if (!file)
-    cout << filename << " was not opened" << endl;
+// FIXME Legacy thing... Might delete later
+//////////////////////////////////////////////////////////////////////////
+// void TExogamPhysics::AddClover(string AngleFile) {
+//   ifstream file;
+//   //  TString filename = Form("posBaptiste/angles_exogam_clover%d.txt",NumberOfClover);
+//   //  TString filename = Form("posz42_simu50mm/angles_exogam_clover%d.txt",NumberOfClover);
+//   //  TString filename = Form("posz42_exp_stat_demiring/angles_exogam_clover%d.txt",NumberOfClover);
 
-  vector<double> Angles;
-  vector<vector<double>> Segment_angles;
-  vector<vector<vector<double>>> Cristal_angles;
+//   string path = "configs/";
+//   TString filename = path + AngleFile;
 
-  Cristal_angles.clear();
+//   cout << filename << endl;
+//   file.open(filename);
+//   if (!file)
+//     cout << filename << " was not opened" << endl;
 
-  double angle;
-  string buffer;
+//   vector<double> Angles;
+//   vector<vector<double>> Segment_angles;
+//   vector<vector<vector<double>>> Cristal_angles;
 
-  for (int i = 0; i < 4; i++) {
-    Segment_angles.clear();
+//   Cristal_angles.clear();
 
-    for (int j = 0; j < 4; j++) {
-      Angles.clear();
+//   double angle;
+//   string buffer;
 
-      for (int k = 0; k < 2; k++) {
-        file >> buffer >> angle;
+//   for (int i = 0; i < 4; i++) {
+//     Segment_angles.clear();
 
-        Angles.push_back(angle); // Theta (k = 0)   Phi (k = 1)
+//     for (int j = 0; j < 4; j++) {
+//       Angles.clear();
 
-        // cout << angle << endl;
-        if (Angles.size() == 2)
-          cout << "Clover " << NumberOfClover << ": Theta=" << Angles[0] << " Phi=" << Angles[1] << endl;
-      }
+//       for (int k = 0; k < 2; k++) {
+//         file >> buffer >> angle;
 
-      Segment_angles.push_back(Angles);
-    }
+//         Angles.push_back(angle); // Theta (k = 0)   Phi (k = 1)
 
-    Cristal_angles.push_back(Segment_angles);
-  }
+//         // cout << angle << endl;
+//         if (Angles.size() == 2)
+//           cout << "Clover " << NumberOfClover << ": Theta=" << Angles[0] << " Phi=" << Angles[1] << endl;
+//       }
 
-  Clover_Angles_Theta_Phi.push_back(Cristal_angles);
+//       Segment_angles.push_back(Angles);
+//     }
 
-  file.close();
+//     Cristal_angles.push_back(Segment_angles);
+//   }
 
-  NumberOfClover++;
-}
+//   Clover_Angles_Theta_Phi.push_back(Cristal_angles);
+
+//   file.close();
+
+//   NumberOfClover++;
+// }
 
 //	Add Parameter to the CalibrationManger
 void TExogamPhysics::AddParameterToCalibrationManager() {
diff --git a/NPLib/Detectors/Exogam/TExogamPhysics.h b/NPLib/Detectors/Exogam/TExogamPhysics.h
index ede6c9fa53adf3b2c764d3c3ad78f263d7db5768..2f528b5fd67ebf30331ebdae9163e6a4734365a4 100644
--- a/NPLib/Detectors/Exogam/TExogamPhysics.h
+++ b/NPLib/Detectors/Exogam/TExogamPhysics.h
@@ -154,7 +154,8 @@ class TExogamPhysics : public TObject, public NPL::VDetector{
 
  public:		//	Specific to EXOGAM Array
   //	Add a Clover
-  void AddClover(string AngleFile);
+  // void AddClover(string AngleFile);
+  void AddClover(int Board, int Flange, int Channel0, int Channel1);
 
   Int_t GetClover_Mult()    { return(CloverNumber.size()); }
   //  Int_t GetECC_Mult()   { return(ECC_CristalNumber.size()); }
@@ -196,4 +197,4 @@ namespace EXOGAM_LOCAL
 }
 
 
-#endif
\ No newline at end of file
+#endif