diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_CLinkEvent_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_CLinkEvent_p1.h
index d7eb4ede7a9a9c69a8242d8393ed2a2e6acc6a63..e0a3e460601f5219060da0e9b8dab68b0f182a68 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_CLinkEvent_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_CLinkEvent_p1.h
@@ -8,13 +8,14 @@
 #include "ALFA_CLinkEv/ALFA_CLinkEvent.h"
 #include "DataModelAthenaPool/DataLink_p1.h"
 
-using namespace std;
-
 class ALFA_CLinkEvent_p1
 {
 public:
 	// needed by athenaRoot
-	ALFA_CLinkEvent_p1(){};
+	ALFA_CLinkEvent_p1()
+	{
+		memset(&m_DCSId,0,sizeof(DCSID));
+	};
 	friend class ALFA_CLinkEventCnv_p1;
  
 private:
@@ -29,4 +30,4 @@ private:
 // 	DataLink_p1 m_GloRecEvColl;
 };
 
-#endif
\ No newline at end of file
+#endif
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_DigitCnv_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_DigitCnv_p1.h
index b84d97d0a83aaa9ed0b451caa471dfc7096c2325..ab5889b0ff79188bcf96de474d94a899c6a0aea4 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_DigitCnv_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_DigitCnv_p1.h
@@ -6,6 +6,7 @@
 #define ALFA_DigitCnv_p1_h
 
 #include "ALFA_EventTPCnv/ALFA_Digit_p1.h"
+#include "ALFA_RawEv/ALFA_Digit.h"
 
 #include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
  
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_Digit_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_Digit_p1.h
index c6127e3bca1736c8720ea38687a7ba23af5db44b..53857f2695f7e0a66f7a67ca0a9d735a193f25d8 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_Digit_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_Digit_p1.h
@@ -12,7 +12,12 @@ class ALFA_Digit_p1
 {
  public:
   // needed by athenaRoot 
-  ALFA_Digit_p1(){};
+  ALFA_Digit_p1()
+  {
+	m_station=0;
+	m_plate=0;
+	m_fiber=0;
+  };
   friend class ALFA_DigitCnv_p1;
   
  private: 
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_GloRecEventCnv_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_GloRecEventCnv_p1.h
index 5f22db6e0f9e59f1ae3bd4b67878efce1a41fa11..9a6130abf0791e90fd0aa97b854983a6df25fbce 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_GloRecEventCnv_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_GloRecEventCnv_p1.h
@@ -6,6 +6,7 @@
 #define ALFA_GloRecEventCnv_p1_h
 
 #include "ALFA_EventTPCnv/ALFA_GloRecEvent_p1.h"
+#include "ALFA_GloRecEv/ALFA_GloRecEvent.h"
 
 #include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
  
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_GloRecEvent_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_GloRecEvent_p1.h
index 20c0885d0db32302704add8ff194c42c3ab954c8..19132ba05a442774b7703e1ad4a387f9c6ed4a4e 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_GloRecEvent_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_GloRecEvent_p1.h
@@ -9,7 +9,14 @@ class ALFA_GloRecEvent_p1
 {
  public:
   // needed by athenaRoot 
-  ALFA_GloRecEvent_p1(){};
+  ALFA_GloRecEvent_p1()
+  {
+	m_arm=-1;
+	m_x=-9999.0;
+	m_y=-9999.0;
+	m_x_slope=-9999.0;
+	m_y_slope=-9999.0;
+  };
   friend class ALFA_GloRecEventCnv_p1;
   
  private: 
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_HitCollectionCnv_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_HitCollectionCnv_p1.h
index 57d9c2da847b4457c2b984214a45bdcb971ebd66..f5a0dc455aecca09b389ce944ea80160b5ec11d9 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_HitCollectionCnv_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_HitCollectionCnv_p1.h
@@ -2,12 +2,8 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#define private public
 #include "ALFA_EventTPCnv/ALFA_HitCollection_p1.h"
-#undef private
- 
 #include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
-
 #include "ALFA_SimEv/ALFA_HitCollection.h"
 #include "ALFA_EventTPCnv/ALFA_HitCnv_p1.h"
  
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_HitCollection_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_HitCollection_p1.h
index a84bbebac91cb52c3df3e211347aa28b5179f000..ef06582972357007e1a440cf7a2cf6badfe00943 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_HitCollection_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_HitCollection_p1.h
@@ -38,7 +38,7 @@ public:
    const std::string&  name() const; 
    const HitVector&    getVector() const;
    
-private:
+   //private:
      std::vector<ALFA_Hit_p1>   m_cont; 
      std::string                m_name;
 };
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_Hit_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_Hit_p1.h
index 692c8f6d9f2fdbd1abd9d9c9e689b02dc62697b7..6083c451ea4c5ae09ead0dec4025c0599138482b 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_Hit_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_Hit_p1.h
@@ -12,7 +12,25 @@ class ALFA_Hit_p1
 {
  public:
   // needed by athenaRoot 
-  ALFA_Hit_p1(){};
+  ALFA_Hit_p1()
+  {
+	hitID=-1;
+	trackID=-1;
+	particleEncoding=-1;
+	kineticEnergy=-9999.0;
+	energyDeposit=-9999.0;
+	preStepX=-9999.0;
+	preStepY=-9999.0;
+	preStepZ=-9999.0;
+	postStepX=-9999.0;
+	postStepY=-9999.0;
+	postStepZ=-9999.0;
+	globalTime=-9999.0;
+	sign_fiber=-1;
+	n_plate=-1;
+	n_fiber=-1;
+	n_station=-1;
+  };
   friend class ALFA_HitCnv_p1;
   
  private:
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecCorrEventCnv_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecCorrEventCnv_p1.h
index 0213bd92cd963a33d46efc2cadaf5cdabacb3948..09736682e7913970d8b533cff6ffdea00c37e50b 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecCorrEventCnv_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecCorrEventCnv_p1.h
@@ -6,6 +6,7 @@
 #define ALFA_LocRecCorrEventCnv_p1_h
 
 #include "ALFA_EventTPCnv/ALFA_LocRecCorrEvent_p1.h"
+#include "ALFA_LocRecCorrEv/ALFA_LocRecCorrEvent.h"
 
 #include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
  
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecCorrEvent_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecCorrEvent_p1.h
index 2ccd16231716442e3833187278bca538cf1920b9..a63a30c5fa7a7b01d06b35845b82491b55d26014 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecCorrEvent_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecCorrEvent_p1.h
@@ -10,7 +10,15 @@ class ALFA_LocRecCorrEvent_p1
 {
 public:
 	// needed by athenaRoot
-	ALFA_LocRecCorrEvent_p1(){};
+	ALFA_LocRecCorrEvent_p1()
+	{
+		m_iAlgoNum=-1;
+		m_pot_num=-1;
+		m_xPot=m_yPot=-9999.0;
+		m_xStat=m_yStat=-9999.0;
+		m_xLHC=m_yLHC=m_zLHC=-9999.0;
+		m_xBeam=m_yBeam=-9999.0;
+	};
 	friend class ALFA_LocRecCorrEventCnv_p1;
 
 private:
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecCorrODEventCnv_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecCorrODEventCnv_p1.h
index 1ebb9f86555c0eceb7334af50c3c391a067a0de6..93d9d6b90912b6bd8b6e107354a69dd2ddd6b07b 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecCorrODEventCnv_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecCorrODEventCnv_p1.h
@@ -6,6 +6,7 @@
 #define ALFA_LocRecCorrODEventCnv_p1_h
 
 #include "ALFA_EventTPCnv/ALFA_LocRecCorrODEvent_p1.h"
+#include "ALFA_LocRecCorrEv/ALFA_LocRecCorrODEvent.h"
 
 #include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
  
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecCorrODEvent_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecCorrODEvent_p1.h
index f4bc37dddd0afc2dbf2a07fb25de43c094f22eb0..8fbd70c9caed192ebc75246c4eeb4c0ba14f62ed 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecCorrODEvent_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecCorrODEvent_p1.h
@@ -10,7 +10,16 @@ class ALFA_LocRecCorrODEvent_p1
 {
 public:
 	// needed by athenaRoot
-	ALFA_LocRecCorrODEvent_p1(){};
+	ALFA_LocRecCorrODEvent_p1()
+	{
+		m_iAlgoNum=-1;
+		m_pot_num=-1;
+		m_side=-1;
+		m_yPot=-9999.0;
+		m_yStat=-9999.0;
+		m_yLHC=m_zLHC=-9999.0;
+		m_yBeam=-9999.0;
+	};
 	friend class ALFA_LocRecCorrODEventCnv_p1;
 
 private:
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecEventCnv_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecEventCnv_p1.h
index 9a1e91058cf034dde5808d81c6e9ca33e88b03ba..2c5d5e305a3e51681235e85ad000dae7e4db7647 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecEventCnv_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecEventCnv_p1.h
@@ -6,6 +6,7 @@
 #define ALFA_LocRecEventCnv_p1_h
 
 #include "ALFA_EventTPCnv/ALFA_LocRecEvent_p1.h"
+#include "ALFA_LocRecEv/ALFA_LocRecEvent.h"
 
 #include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
  
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecEvent_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecEvent_p1.h
index 93aaf4a75559db0e98c2d6595bcb627a70dbb290..9b4313d25d55761e700281850f9f1d7c82eea5e3 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecEvent_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecEvent_p1.h
@@ -11,7 +11,18 @@ class ALFA_LocRecEvent_p1
 {
  public:
   // needed by athenaRoot 
-  ALFA_LocRecEvent_p1(){};
+  ALFA_LocRecEvent_p1()
+  {
+	m_iAlgoNum=-1;
+	m_pot_num=-1;
+	m_x=-9999.0;
+	m_y=-9999.0;
+
+	m_fOverU=-9999.0;
+	m_fOverV=-9999.0;
+	m_iNumU=-1;
+	m_iNumV=-1;;
+  };
   friend class ALFA_LocRecEventCnv_p1;
   
  private: 
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecODEventCnv_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecODEventCnv_p1.h
index 5793998dc75388dfc38086a6fc31faee8cf84e9e..aaf291cb5f6cf2cb63530ab3ade8c331cac504b8 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecODEventCnv_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecODEventCnv_p1.h
@@ -6,6 +6,7 @@
 #define ALFA_LocRecODEventCnv_p1_h
 
 #include "ALFA_EventTPCnv/ALFA_LocRecODEvent_p1.h"
+#include "ALFA_LocRecEv/ALFA_LocRecODEvent.h"
 
 #include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
  
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecODEvent_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecODEvent_p1.h
index 90fea4e43543b99a0fee699caaadd546bcc6cad6..30c72562447b44f2a927f8972e4a54f35b019495 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecODEvent_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_LocRecODEvent_p1.h
@@ -11,7 +11,16 @@ class ALFA_LocRecODEvent_p1
 {
  public:
   // needed by athenaRoot 
-  ALFA_LocRecODEvent_p1(){};
+  ALFA_LocRecODEvent_p1()
+  {
+	m_iAlgoNum=-1;
+	m_pot_num=-1;
+	m_side=-1;
+	m_y=-9999.0;
+
+	m_fOverY=-9999.0;
+	m_iNumY=-1;
+  };
   friend class ALFA_LocRecODEventCnv_p1;
   
  private: 
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODDigitCnv_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODDigitCnv_p1.h
index b34fecb66e00d0f5e7483864304dabfece5a2b00..8662fc2147d03e579c242cbea8de6532ff8eba94 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODDigitCnv_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODDigitCnv_p1.h
@@ -6,6 +6,7 @@
 #define ALFA_ODDigitCnv_p1_h
 
 #include "ALFA_EventTPCnv/ALFA_ODDigit_p1.h"
+#include "ALFA_RawEv/ALFA_ODDigit.h"
 
 #include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
  
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODDigit_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODDigit_p1.h
index c89b1d8ded769eb3606907812aa967cd6a4fa294..5c4751d17b82138190281ea0610f06b7ffa72d9e 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODDigit_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODDigit_p1.h
@@ -10,7 +10,13 @@ class ALFA_ODDigit_p1
 {
  public:
   // needed by athenaRoot 
-  ALFA_ODDigit_p1(){};
+  ALFA_ODDigit_p1()
+  {
+	  m_station=0;
+	  m_side=0;  
+	  m_plate=0;
+	  m_fiber=0;
+  };
   friend class ALFA_ODDigitCnv_p1;
   
  private: 
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODHitCollectionCnv_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODHitCollectionCnv_p1.h
index 960f073574117369a690f8f4dce48a7e8d5026bd..6814316e270d0e68bdd816f7d09ae6a830a3a3df 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODHitCollectionCnv_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODHitCollectionCnv_p1.h
@@ -2,12 +2,8 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#define private public
 #include "ALFA_EventTPCnv/ALFA_ODHitCollection_p1.h"
-#undef private
- 
 #include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
-
 #include "ALFA_SimEv/ALFA_ODHitCollection.h"
 #include "ALFA_EventTPCnv/ALFA_ODHitCnv_p1.h"
  
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODHitCollection_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODHitCollection_p1.h
index ecf45fd872cdf04f7e29bf61f3e5255629f501a5..4ddde0cf4f9af7f08de0522a3a340ed7a894b81b 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODHitCollection_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODHitCollection_p1.h
@@ -29,7 +29,7 @@ public:
    const std::string&  name() const; 
    const HitVector&    getVector() const;
    
-private:
+   //private:
      std::vector<ALFA_ODHit_p1>   m_cont; 
      std::string                  m_name;
 };
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODHit_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODHit_p1.h
index 9267c6ac071b909cf48ee53d47bd00fb48a56759..7c98d7c7f26d43e1c6207cc045b217738f072487 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODHit_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_ODHit_p1.h
@@ -12,7 +12,28 @@ class ALFA_ODHit_p1
 {
  public:
   // needed by athenaRoot 
-  ALFA_ODHit_p1(){};
+  ALFA_ODHit_p1()
+  {
+	hitID=-1;
+	trackID=-1;
+
+	particleEncoding=-1;
+	kineticEnergy=-9999.0;
+	energyDeposit=-9999.0;
+	preStepX=-9999.0;
+	preStepY=-9999.0;
+	preStepZ=-9999.0;
+	postStepX=-9999.0;
+	postStepY=-9999.0;
+	postStepZ=-9999.0;
+	globalTime=-9999.0;
+
+	sign_fiber=-1;
+	OD_side=-1;
+	n_plate=-1;
+	n_fiber=-1;
+	n_station=-1;
+  };
   friend class ALFA_ODHitCnv_p1;
   
  private:
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_RawDataContainer_p1.h b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_RawDataContainer_p1.h
index 43944adbb02d8c27ad5912a7a28dbdade152b602..ded573e2ebf240dec9fe21dca1a25f8bff5ba988 100755
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_RawDataContainer_p1.h
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/ALFA_EventTPCnv/ALFA_RawDataContainer_p1.h
@@ -8,7 +8,8 @@
 #include <vector>
 #include "ALFA_RawDataCollection_p1.h"
 
-class ALFA_RawDataContainer_p1: public std::vector<ALFA_RawDataCollection_p1> {
+class ALFA_RawDataContainer_p1: public std::vector<ALFA_RawDataCollection_p1> 
+{
   
   uint32_t TimeStamp;
   //Time Stamp ns
@@ -26,7 +27,13 @@ class ALFA_RawDataContainer_p1: public std::vector<ALFA_RawDataCollection_p1> {
   
  public:
  
- ALFA_RawDataContainer_p1(){};
+ ALFA_RawDataContainer_p1()
+ {
+	TimeStamp=0;
+	TimeStampns=0;
+	LumiBlock=0;
+	BCId=0;
+ };
  
  friend class ALFA_RawDataContainerCnv_p1;
  
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/CMakeLists.txt b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b6075d861c837a42c78bec4bf5d69068528d1163
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/CMakeLists.txt
@@ -0,0 +1,191 @@
+################################################################################
+# Package: ALFA_EventTPCnv
+################################################################################
+
+# Declare the package name:
+atlas_subdir( ALFA_EventTPCnv )
+
+# Declare the package's dependencies:
+atlas_depends_on_subdirs( PUBLIC
+                          Control/DataModelAthenaPool
+                          Database/AthenaPOOL/AthenaPoolCnvSvc
+                          Database/AthenaPOOL/AthenaPoolUtilities
+                          ForwardDetectors/ALFA/ALFA_CLinkEv
+                          ForwardDetectors/ALFA/ALFA_RawEv
+                          ForwardDetectors/ALFA/ALFA_RecEv/ALFA_GloRecEv
+                          ForwardDetectors/ALFA/ALFA_RecEv/ALFA_LocRecCorrEv
+                          ForwardDetectors/ALFA/ALFA_RecEv/ALFA_LocRecEv
+                          ForwardDetectors/ALFA/ALFA_SimEv
+                          PRIVATE
+                          AtlasTest/TestTools
+                          Control/CxxUtils
+                          DetectorDescription/Identifier
+                          GaudiKernel )
+
+# External dependencies:
+find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
+
+# Component(s) in the package:
+atlas_add_library( ALFA_EventTPCnv
+                   src/*.cxx
+                   PUBLIC_HEADERS ALFA_EventTPCnv
+                   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                   LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv DataModelAthenaPoolLib AthenaPoolCnvSvcLib
+                   PRIVATE_LINK_LIBRARIES TestTools CxxUtils Identifier GaudiKernel )
+
+atlas_add_dictionary( ALFA_EventTPCnvDict
+                      ALFA_EventTPCnv/ALFA_EventTPCnvDict.h
+                      ALFA_EventTPCnv/selection.xml
+                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                      LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_CLinkEventCnv_p1_test
+                SOURCES
+                test/ALFA_CLinkEventCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_DigitCnv_p1_test
+                SOURCES
+                test/ALFA_DigitCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_DigitCollectionCnv_p1_test
+                SOURCES
+                test/ALFA_DigitCollectionCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_ODDigitCnv_p1_test
+                SOURCES
+                test/ALFA_ODDigitCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_ODDigitCollectionCnv_p1_test
+                SOURCES
+                test/ALFA_ODDigitCollectionCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_GloRecEventCnv_p1_test
+                SOURCES
+                test/ALFA_GloRecEventCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_GloRecEvCollectionCnv_p1_test
+                SOURCES
+                test/ALFA_GloRecEvCollectionCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_HitCnv_p1_test
+                SOURCES
+                test/ALFA_HitCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_HitCollectionCnv_p1_test
+                SOURCES
+                test/ALFA_HitCollectionCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_ODHitCnv_p1_test
+                SOURCES
+                test/ALFA_ODHitCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_ODHitCollectionCnv_p1_test
+                SOURCES
+                test/ALFA_ODHitCollectionCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_LocRecCorrEventCnv_p1_test
+                SOURCES
+                test/ALFA_LocRecCorrEventCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_LocRecCorrEvCollectionCnv_p1_test
+                SOURCES
+                test/ALFA_LocRecCorrEvCollectionCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_LocRecCorrODEventCnv_p1_test
+                SOURCES
+                test/ALFA_LocRecCorrODEventCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_LocRecCorrODEvCollectionCnv_p1_test
+                SOURCES
+                test/ALFA_LocRecCorrODEvCollectionCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_LocRecEventCnv_p1_test
+                SOURCES
+                test/ALFA_LocRecEventCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_LocRecEvCollectionCnv_p1_test
+                SOURCES
+                test/ALFA_LocRecEvCollectionCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_LocRecODEventCnv_p1_test
+                SOURCES
+                test/ALFA_LocRecODEventCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_LocRecODEvCollectionCnv_p1_test
+                SOURCES
+                test/ALFA_LocRecODEvCollectionCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_RawDataCnv_p1_test
+                SOURCES
+                test/ALFA_RawDataCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_RawDataCnv_charge_p1_test
+                SOURCES
+                test/ALFA_RawDataCnv_charge_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_RawDataCollectionCnv_p1_test
+                SOURCES
+                test/ALFA_RawDataCollectionCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_RawDataCollectionCnv_charge_p1_test
+                SOURCES
+                test/ALFA_RawDataCollectionCnv_charge_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_RawDataContainerCnv_p1_test
+                SOURCES
+                test/ALFA_RawDataContainerCnv_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
+atlas_add_test( ALFA_RawDataContainerCnv_charge_p1_test
+                SOURCES
+                test/ALFA_RawDataContainerCnv_charge_p1_test.cxx
+                INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                LINK_LIBRARIES ${ROOT_LIBRARIES} DataModelAthenaPoolLib AthenaPoolCnvSvcLib AthenaPoolUtilities ALFA_CLinkEv ALFA_RawEv ALFA_GloRecEv ALFA_LocRecCorrEv ALFA_LocRecEv ALFA_SimEv TestTools CxxUtils Identifier GaudiKernel ALFA_EventTPCnv )
+
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/cmt/requirements b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/cmt/requirements
index 738159ed230302004f4a654bd87113a21f851157..4d3894ef50620bf97fefe42d147a00d908772c14 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/cmt/requirements
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/cmt/requirements
@@ -7,7 +7,6 @@ use AtlasPolicy          AtlasPolicy-*
 #use AtlasCLHEP           AtlasCLHEP-*           External
 use AthenaPoolCnvSvc     AthenaPoolCnvSvc-*     Database/AthenaPOOL
 use AthenaPoolUtilities  AthenaPoolUtilities-*  Database/AthenaPOOL
-#use DataModel            DataModel-*            Control
 use DataModelAthenaPool   DataModelAthenaPool-*   Control
 
 
@@ -32,6 +31,7 @@ apply_pattern lcgdict dict=ALFA_EventTPCnv  selectionfile=selection.xml headerfi
 # end_private
 
 private
+use CxxUtils             CxxUtils-*             Control
 use Identifier           Identifier-*           DetectorDescription
 use GaudiInterface       GaudiInterface-*       External
 end_private
@@ -39,3 +39,33 @@ end_private
 
 library ALFA_EventTPCnv *.cxx
 apply_pattern installed_library
+
+
+private
+use TestTools            TestTools-*                AtlasTest
+
+apply_pattern UnitTest_run unit_test=ALFA_CLinkEventCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_DigitCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_DigitCollectionCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_ODDigitCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_ODDigitCollectionCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_GloRecEventCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_GloRecEvCollectionCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_HitCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_HitCollectionCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_ODHitCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_ODHitCollectionCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_LocRecCorrEventCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_LocRecCorrEvCollectionCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_LocRecCorrODEventCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_LocRecCorrODEvCollectionCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_LocRecEventCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_LocRecEvCollectionCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_LocRecODEventCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_LocRecODEvCollectionCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_RawDataCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_RawDataCnv_charge_p1
+apply_pattern UnitTest_run unit_test=ALFA_RawDataCollectionCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_RawDataCollectionCnv_charge_p1
+apply_pattern UnitTest_run unit_test=ALFA_RawDataContainerCnv_p1
+apply_pattern UnitTest_run unit_test=ALFA_RawDataContainerCnv_charge_p1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/cmt/version.cmt b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/cmt/version.cmt
index 331fda40540af6b0c61ca434556ca0f8d0325070..135fffe76d583a0f8638d5e7158707735889d8af 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/cmt/version.cmt
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/cmt/version.cmt
@@ -1 +1 @@
-ALFA_EventTPCnv-00-00-19
+ALFA_EventTPCnv-00-00-21
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_CLinkEventCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_CLinkEventCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_CLinkEventCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_DigitCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_DigitCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_DigitCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_DigitCollectionCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_DigitCollectionCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_DigitCollectionCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_GloRecEvCollectionCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_GloRecEvCollectionCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_GloRecEvCollectionCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_GloRecEventCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_GloRecEventCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_GloRecEventCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_HitCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_HitCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_HitCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_HitCollectionCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_HitCollectionCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..da4d965bcfdbbd243a82f9d678ad5cc537fe75a4
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_HitCollectionCnv_p1_test.ref
@@ -0,0 +1,3 @@
+test1
+Athena::getMessageSvc: WARNING MessageSvc not found, will use std::cout
+Athena::getMessageSvc: WARNING MessageSvc not found, will use std::cout
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecCorrEvCollectionCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecCorrEvCollectionCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecCorrEvCollectionCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecCorrEventCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecCorrEventCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecCorrEventCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecCorrODEvCollectionCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecCorrODEvCollectionCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecCorrODEvCollectionCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecCorrODEventCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecCorrODEventCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecCorrODEventCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecEvCollectionCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecEvCollectionCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecEvCollectionCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecEventCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecEventCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecEventCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecODEvCollectionCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecODEvCollectionCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecODEvCollectionCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecODEventCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecODEventCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_LocRecODEventCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_ODDigitCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_ODDigitCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_ODDigitCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_ODDigitCollectionCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_ODDigitCollectionCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_ODDigitCollectionCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_ODHitCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_ODHitCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_ODHitCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_ODHitCollectionCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_ODHitCollectionCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..da4d965bcfdbbd243a82f9d678ad5cc537fe75a4
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_ODHitCollectionCnv_p1_test.ref
@@ -0,0 +1,3 @@
+test1
+Athena::getMessageSvc: WARNING MessageSvc not found, will use std::cout
+Athena::getMessageSvc: WARNING MessageSvc not found, will use std::cout
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataCnv_charge_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataCnv_charge_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataCnv_charge_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataCollectionCnv_charge_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataCollectionCnv_charge_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataCollectionCnv_charge_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataCollectionCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataCollectionCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataCollectionCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataContainerCnv_charge_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataContainerCnv_charge_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataContainerCnv_charge_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataContainerCnv_p1_test.ref b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataContainerCnv_p1_test.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a5bce3fd2565d8f458555a0c6f42d0504a848bd5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/share/ALFA_RawDataContainerCnv_p1_test.ref
@@ -0,0 +1 @@
+test1
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_CLinkEventCnv_p1.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_CLinkEventCnv_p1.cxx
index b93e83d4181a74fd31bd2e81a99cb3f3134cc24d..180cbbfc2295bd0302ba5b4bab463fe4a11d40a5 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_CLinkEventCnv_p1.cxx
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_CLinkEventCnv_p1.cxx
@@ -2,12 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#define private public
-#define protected public
 #include "ALFA_CLinkEv/ALFA_CLinkEvent.h"
-#undef private
-#undef protected
-
 #include "ALFA_EventTPCnv/ALFA_CLinkEvent_p1.h"
 #include "ALFA_EventTPCnv/ALFA_CLinkEventCnv_p1.h"
 
@@ -16,14 +11,37 @@ void ALFA_CLinkEventCnv_p1::persToTrans(const ALFA_CLinkEvent_p1* persObj, ALFA_
 	//MsgStream LogStream(Athena::getMessageSvc(), "ALFA_CLinkEventCnv_p1");
 	//LogStream<<MSG::INFO<<"MARK01-ALFA_CLinkEventCnv_p1::persToTrans"<<endreq;
 
-	transObj->m_DCSId=persObj->m_DCSId;
-	m_DLRawDataEvCollCnv.persToTrans(&persObj->m_RawDataEvColl,&transObj->m_RawDataEvColl,log);
-	m_DLDigitEvCollCnv.persToTrans(&persObj->m_DigitEvColl,&transObj->m_DigitEvColl,log);
-	m_DLODDigitEvCollCnv.persToTrans(&persObj->m_ODDigitEvColl,&transObj->m_ODDigitEvColl,log);
-	m_DLLocRecEvCollCnv.persToTrans(&persObj->m_LocRecEvColl,&transObj->m_LocRecEvColl,log);
-	m_DLLocRecODEvCollCnv.persToTrans(&persObj->m_LocRecODEvColl,&transObj->m_LocRecODEvColl,log);
-	m_DLLocRecCorrEvCollCnv.persToTrans(&persObj->m_LocRecCorrEvColl,&transObj->m_LocRecCorrEvColl,log);
-	m_DLLocRecCorrODEvCollCnv.persToTrans(&persObj->m_LocRecCorrODEvColl,&transObj->m_LocRecCorrODEvColl,log);
+        transObj->SetDCSFolderIDs (&persObj->m_DCSId);
+
+	DataLink<ALFA_RawDataContainer> rawDataEvCollLink;
+	m_DLRawDataEvCollCnv.persToTrans(&persObj->m_RawDataEvColl,&rawDataEvCollLink,log);
+        transObj->setRawDataEvCollLink (rawDataEvCollLink);
+
+	DataLink<ALFA_DigitCollection> digitEvCollLink;
+	m_DLDigitEvCollCnv.persToTrans(&persObj->m_DigitEvColl,&digitEvCollLink,log);
+        transObj->setDigitEvCollLink (digitEvCollLink);
+
+        DataLink<ALFA_ODDigitCollection> ODDigitEvCollLink;
+	m_DLODDigitEvCollCnv.persToTrans(&persObj->m_ODDigitEvColl,&ODDigitEvCollLink,log);
+        transObj->setODDigitEvCollLink (ODDigitEvCollLink);
+        
+
+	DataLink<ALFA_LocRecEvCollection> locRecEvCollLink;
+	m_DLLocRecEvCollCnv.persToTrans(&persObj->m_LocRecEvColl,&locRecEvCollLink,log);
+        transObj->setLocRecEvCollLink (locRecEvCollLink);
+
+	DataLink<ALFA_LocRecODEvCollection> locRecODEvCollLink;
+	m_DLLocRecODEvCollCnv.persToTrans(&persObj->m_LocRecODEvColl,&locRecODEvCollLink,log);
+        transObj->setLocRecODEvCollLink (locRecODEvCollLink);
+
+	DataLink<ALFA_LocRecCorrEvCollection> locRecCorrEvCollLink;
+	m_DLLocRecCorrEvCollCnv.persToTrans(&persObj->m_LocRecCorrEvColl,&locRecCorrEvCollLink,log);
+        transObj->setLocRecCorrEvCollLink (locRecCorrEvCollLink);
+
+	DataLink<ALFA_LocRecCorrODEvCollection> locRecCorrODEvCollLink;
+	m_DLLocRecCorrODEvCollCnv.persToTrans(&persObj->m_LocRecCorrODEvColl,&locRecCorrODEvCollLink,log);
+        transObj->setLocRecCorrODEvCollLink (locRecCorrODEvCollLink);
+
 // 	m_DLGloRecEvCollCnv.persToTrans(&persObj->m_GloRecEvColl,&transObj->m_GloRecEvColl,log);
 
 	//LogStream<<MSG::INFO<<"MARK02-ALFA_CLinkEventCnv_p1::persToTrans"<<endreq;
@@ -34,14 +52,15 @@ void ALFA_CLinkEventCnv_p1::transToPers(const ALFA_CLinkEvent* transObj, ALFA_CL
 	//MsgStream LogStream(Athena::getMessageSvc(), "ALFA_CLinkEventCnv_p1");
 	//LogStream<<MSG::INFO<<"MARK01-ALFA_CLinkEventCnv_p1::transToPers"<<endreq;
 
-	persObj->m_DCSId=transObj->m_DCSId;
-	m_DLRawDataEvCollCnv.transToPers(&transObj->m_RawDataEvColl,&persObj->m_RawDataEvColl,log);
-	m_DLDigitEvCollCnv.transToPers(&transObj->m_DigitEvColl,&persObj->m_DigitEvColl,log);
-	m_DLODDigitEvCollCnv.transToPers(&transObj->m_ODDigitEvColl,&persObj->m_ODDigitEvColl,log);
-	m_DLLocRecEvCollCnv.transToPers(&transObj->m_LocRecEvColl,&persObj->m_LocRecEvColl,log);
-	m_DLLocRecODEvCollCnv.transToPers(&transObj->m_LocRecODEvColl,&persObj->m_LocRecODEvColl,log);
-	m_DLLocRecCorrEvCollCnv.transToPers(&transObj->m_LocRecCorrEvColl,&persObj->m_LocRecCorrEvColl,log);
-	m_DLLocRecCorrODEvCollCnv.transToPers(&transObj->m_LocRecCorrODEvColl,&persObj->m_LocRecCorrODEvColl,log);
+        persObj->m_DCSId=transObj->DCSId();
+
+	m_DLRawDataEvCollCnv.transToPers(&transObj->rawDataEvCollLink(),&persObj->m_RawDataEvColl,log);
+	m_DLDigitEvCollCnv.transToPers(&transObj->digitEvCollLink(),&persObj->m_DigitEvColl,log);
+	m_DLODDigitEvCollCnv.transToPers(&transObj->ODDigitEvCollLink(),&persObj->m_ODDigitEvColl,log);
+	m_DLLocRecEvCollCnv.transToPers(&transObj->locRecEvCollLink(),&persObj->m_LocRecEvColl,log);
+	m_DLLocRecODEvCollCnv.transToPers(&transObj->locRecODEvCollLink(),&persObj->m_LocRecODEvColl,log);
+	m_DLLocRecCorrEvCollCnv.transToPers(&transObj->locRecCorrEvCollLink(),&persObj->m_LocRecCorrEvColl,log);
+	m_DLLocRecCorrODEvCollCnv.transToPers(&transObj->locRecCorrODEvCollLink(),&persObj->m_LocRecCorrODEvColl,log);
 // 	m_DLGloRecEvCollCnv.transToPers(&transObj->m_GloRecEvColl,&persObj->m_GloRecEvColl,log);
 
 	//LogStream<<MSG::INFO<<"MARK02-ALFA_CLinkEventCnv_p1::transToPers"<<endreq;
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_DigitCnv_p1.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_DigitCnv_p1.cxx
index c3933aa529da447d685d10c20efd28886a16e07a..6fdc46b4d325d6b324612cedf85f99d1c4d0b462 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_DigitCnv_p1.cxx
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_DigitCnv_p1.cxx
@@ -2,25 +2,17 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#define private public
-#define protected public
 #include "ALFA_RawEv/ALFA_Digit.h"
-#undef private
-#undef protected
-
-//#include "Identifier/Identifier.h"
-//#include "GeneratorObjectsTPCnv/HepMcParticleLinkCnv_p1.h"
-
 #include "ALFA_EventTPCnv/ALFA_Digit_p1.h"
 #include "ALFA_EventTPCnv/ALFA_DigitCnv_p1.h"
 
 void ALFA_DigitCnv_p1::persToTrans(const ALFA_Digit_p1* persObj, ALFA_Digit* transObj, MsgStream &log)
 {
    log << MSG::DEBUG << "ALFA_DigitCnv_p1::persToTrans called " << endreq;
-   
-   transObj->m_plate       = persObj->m_plate;
-   transObj->m_fiber       = persObj->m_fiber;
-   transObj->m_station     = persObj->m_station;      
+
+   *transObj = ALFA_Digit (persObj->m_station,
+                           persObj->m_plate,
+                           persObj->m_fiber);
 }
  
  
@@ -29,8 +21,8 @@ void ALFA_DigitCnv_p1::transToPers(const ALFA_Digit* transObj,
                                        MsgStream &log)
 {
    log << MSG::DEBUG << "ALFA_DigitCnv_p1::transToPers called " << endreq;
-    persObj->m_plate       = transObj->m_plate;
-    persObj->m_fiber       = transObj->m_fiber;
-    persObj->m_station     = transObj->m_station;
+    persObj->m_plate       = transObj->getPlate();
+    persObj->m_fiber       = transObj->getFiber();
+    persObj->m_station     = transObj->getStation();
         
  }
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_GloRecEventCnv_p1.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_GloRecEventCnv_p1.cxx
index a064af406186759fe0b619a24692782b123d484b..6575a89149897c940cbf8b6e6436247f004fea0a 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_GloRecEventCnv_p1.cxx
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_GloRecEventCnv_p1.cxx
@@ -2,12 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#define private public
-#define protected public
 #include "ALFA_GloRecEv/ALFA_GloRecEvent.h"
-#undef private
-#undef protected
-
 #include "ALFA_EventTPCnv/ALFA_GloRecEvent_p1.h"
 #include "ALFA_EventTPCnv/ALFA_GloRecEventCnv_p1.h"
 
@@ -16,11 +11,13 @@
 void ALFA_GloRecEventCnv_p1::persToTrans(const ALFA_GloRecEvent_p1* persObj, ALFA_GloRecEvent* transObj, MsgStream &log)
 {
    log << MSG::DEBUG << "ALFA_GloRecEventCnv_p1::persToTrans called - version with pointers to LocRecCorr " << endreq;
-   transObj->m_arm       = persObj->m_arm;
-   transObj->m_x         = persObj->m_x;
-   transObj->m_y         = persObj->m_y;
-   transObj->m_x_slope   = persObj->m_x_slope;
-   transObj->m_y_slope   = persObj->m_y_slope;         
+   *transObj = ALFA_GloRecEvent (persObj->m_arm,
+                                 persObj->m_x,
+                                 persObj->m_y,
+                                 persObj->m_x_slope,
+                                 persObj->m_y_slope,
+                                 nullptr,
+                                 nullptr);
 //   transObj->m_near_LocRecCorr = persObj->m_near_LocRecCorr;
    //transObj->m_far_LocRecCorr = persObj->m_far_LocRecCorr;
 
@@ -32,11 +29,11 @@ void ALFA_GloRecEventCnv_p1::transToPers(const ALFA_GloRecEvent* transObj,
                                        MsgStream &log)
 {
    log << MSG::DEBUG << "ALFA_GloRecEventCnv_p1::transToPers called - version with pointers to LocRecCorr " << endreq;
-    persObj->m_arm       = transObj->m_arm;
-    persObj->m_x         = transObj->m_x;
-    persObj->m_y         = transObj->m_y;
-    persObj->m_x_slope   = transObj->m_x_slope;
-    persObj->m_y_slope   = transObj->m_y_slope;
+   persObj->m_arm       = transObj->getArmNum();
+   persObj->m_x         = transObj->getXposition();
+   persObj->m_y         = transObj->getYposition();
+   persObj->m_x_slope   = transObj->getXslope();
+   persObj->m_y_slope   = transObj->getYslope();
 //    persObj->m_near_LocRecCorr = transObj->m_near_LocRecCorr;
 //    persObj->m_far_LocRecCorr = transObj->m_far_LocRecCorr;
         
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_HitCnv_p1.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_HitCnv_p1.cxx
index 7546a202fb32ce2ff76889e0071a772fb1d5c31e..1a8293935b213d83c6fcc38e51ea2df9bc048180 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_HitCnv_p1.cxx
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_HitCnv_p1.cxx
@@ -2,14 +2,8 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#define private public
-#define protected public
 #include "ALFA_SimEv/ALFA_Hit.h"
-#undef private
-#undef protected
-
 #include "Identifier/Identifier.h"
-
 #include "ALFA_EventTPCnv/ALFA_HitCnv_p1.h"
 
 
@@ -18,23 +12,23 @@ void ALFA_HitCnv_p1::persToTrans(const ALFA_Hit_p1* persObj, ALFA_Hit* transObj,
    log << MSG::DEBUG << "ALFA_HitCnv_p1::persToTrans called " << endreq;
    
 //   HepMcParticleLinkCnv_p1 HepMcPLCnv;
-//   HepMcPLCnv.persToTrans(&(persObj->m_partLink),&(transObj->m_partLink), log); 
-   transObj->hitID         = persObj->hitID;
-   transObj->trackID       = persObj->trackID;  
-   transObj->particleEncoding = persObj->particleEncoding;
-   transObj->kineticEnergy = persObj->kineticEnergy;
-   transObj->energyDeposit = persObj->energyDeposit;
-   transObj->preStepX      = persObj->preStepX;
-   transObj->preStepY      = persObj->preStepY;
-   transObj->preStepZ      = persObj->preStepZ; 
-   transObj->postStepX     = persObj->postStepX;
-   transObj->postStepY     = persObj->postStepY;
-   transObj->postStepZ     = persObj->postStepZ;
-   transObj->globalTime    = persObj->globalTime;
-   transObj->sign_fiber    = persObj->sign_fiber;
-   transObj->n_plate       = persObj->n_plate;
-   transObj->n_fiber       = persObj->n_fiber;
-   transObj->n_station     = persObj->n_station;      
+//   HepMcPLCnv.persToTrans(&(persObj->m_partLink),&(transObj->m_partLink), log);
+   *transObj = ALFA_Hit (persObj->hitID,
+                         0, //persObj->trackID
+                         persObj->particleEncoding,
+                         persObj->kineticEnergy,
+                         persObj->energyDeposit,
+                         persObj->preStepX,
+                         persObj->preStepY,
+                         persObj->preStepZ,
+                         persObj->postStepX,
+                         persObj->postStepY,
+                         persObj->postStepZ,
+                         persObj->globalTime,
+                         persObj->sign_fiber,
+                         persObj->n_plate,
+                         persObj->n_fiber,
+                         persObj->n_station);
 }
  
  
@@ -45,21 +39,21 @@ void ALFA_HitCnv_p1::transToPers(const ALFA_Hit* transObj,
    log << MSG::DEBUG << "ALFA_HitCnv_p1::transToPers called " << endreq;
  //  HepMcParticleLinkCnv_p1 HepMcPLCnv;
 //    HepMcPLCnv.transToPers(&(transObj->m_partLink),&(persObj->m_partLink), log);
-    persObj->hitID          = transObj->hitID;
-    persObj->trackID        = transObj->trackID;   
-    persObj->particleEncoding = transObj->particleEncoding;
-    persObj->kineticEnergy = transObj->kineticEnergy;
-    persObj->energyDeposit = transObj->energyDeposit;
-    persObj->preStepX      = transObj->preStepX;
-    persObj->preStepY      = transObj->preStepY;
-    persObj->preStepZ      = transObj->preStepZ; 
-    persObj->postStepX     = transObj->postStepX;
-    persObj->postStepY     = transObj->postStepY;
-    persObj->postStepZ     = transObj->postStepZ;
-    persObj->globalTime    = transObj->globalTime;
-    persObj->sign_fiber    = transObj->sign_fiber;
-    persObj->n_plate       = transObj->n_plate;
-    persObj->n_fiber       = transObj->n_fiber;
-    persObj->n_station     = transObj->n_station;
+    persObj->hitID          = transObj->GetHitID();
+    persObj->trackID        = transObj->GetTrackID();   
+    persObj->particleEncoding = transObj->GetParticleEncoding();
+    persObj->kineticEnergy = transObj->GetKineticEnergy();
+    persObj->energyDeposit = transObj->GetEnergyDeposit();
+    persObj->preStepX      = transObj->GetPreStepX();
+    persObj->preStepY      = transObj->GetPreStepY();
+    persObj->preStepZ      = transObj->GetPreStepZ();
+    persObj->postStepX     = transObj->GetPostStepX();
+    persObj->postStepY     = transObj->GetPostStepY();
+    persObj->postStepZ     = transObj->GetPostStepZ();
+    persObj->globalTime    = transObj->GetGlobalTime();
+    persObj->sign_fiber    = transObj->GetSignFiber();
+    persObj->n_plate       = transObj->GetPlateNumber();
+    persObj->n_fiber       = transObj->GetFiberNumber();
+    persObj->n_station     = transObj->GetStationNumber();
         
  }
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_LocRecCorrEventCnv_p1.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_LocRecCorrEventCnv_p1.cxx
index f93c7a74ba8cf3a76d1bb95330fd25a78b261a2d..1297d4c80150e95c051e9b5f8a5bf7552f46cf4e 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_LocRecCorrEventCnv_p1.cxx
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_LocRecCorrEventCnv_p1.cxx
@@ -2,12 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#define private public
-#define protected public
 #include "ALFA_LocRecCorrEv/ALFA_LocRecCorrEvent.h"
-#undef private
-#undef protected
-
 #include "ALFA_EventTPCnv/ALFA_LocRecCorrEvent_p1.h"
 #include "ALFA_EventTPCnv/ALFA_LocRecCorrEventCnv_p1.h"
 
@@ -15,17 +10,17 @@ void ALFA_LocRecCorrEventCnv_p1::persToTrans(const ALFA_LocRecCorrEvent_p1* pers
 {
 	log << MSG::DEBUG << "ALFA_LocRecCorrEventCnv_p1::persToTrans called " << endreq;
 
-	transObj->m_iAlgoNum  = persObj->m_iAlgoNum;
-	transObj->m_pot_num   = persObj->m_pot_num;
-	transObj->m_xLHC      = persObj->m_xLHC;
-	transObj->m_yLHC      = persObj->m_yLHC;
-	transObj->m_zLHC      = persObj->m_zLHC;
-	transObj->m_xPot      = persObj->m_xPot;
-	transObj->m_yPot      = persObj->m_yPot;
-	transObj->m_xStat     = persObj->m_xStat;
-	transObj->m_yStat     = persObj->m_yStat;
-	transObj->m_xBeam     = persObj->m_xBeam;
-	transObj->m_yBeam     = persObj->m_yBeam;
+        *transObj = ALFA_LocRecCorrEvent (persObj->m_iAlgoNum,
+                                          persObj->m_pot_num,
+                                          persObj->m_xLHC,
+                                          persObj->m_yLHC,
+                                          persObj->m_zLHC,
+                                          persObj->m_xPot,
+                                          persObj->m_yPot,
+                                          persObj->m_xStat,
+                                          persObj->m_yStat,
+                                          persObj->m_xBeam,
+                                          persObj->m_yBeam);
 }
  
  
@@ -35,15 +30,15 @@ void ALFA_LocRecCorrEventCnv_p1::transToPers(const ALFA_LocRecCorrEvent* transOb
 {
 	log << MSG::DEBUG << "ALFA_LocRecCorrEventCnv_p1::transToPers called " << endreq;
 
-	persObj->m_iAlgoNum  = transObj->m_iAlgoNum;
-	persObj->m_pot_num   = transObj->m_pot_num;
-	persObj->m_xLHC      = transObj->m_xLHC;
-	persObj->m_yLHC      = transObj->m_yLHC;
-	persObj->m_zLHC      = transObj->m_zLHC;
-	persObj->m_xPot      = transObj->m_xPot;
-	persObj->m_yPot      = transObj->m_yPot;
-	persObj->m_xStat     = transObj->m_xStat;
-	persObj->m_yStat     = transObj->m_yStat;
-	persObj->m_xBeam     = transObj->m_xBeam;
-	persObj->m_yBeam     = transObj->m_yBeam;
+	persObj->m_iAlgoNum  = transObj->getAlgoNum();
+	persObj->m_pot_num   = transObj->getPotNum();
+	persObj->m_xLHC      = transObj->getXpositionLHC();
+	persObj->m_yLHC      = transObj->getYpositionLHC();
+	persObj->m_zLHC      = transObj->getZpositionLHC();
+	persObj->m_xPot      = transObj->getXpositionPot();
+	persObj->m_yPot      = transObj->getYpositionPot();
+	persObj->m_xStat     = transObj->getXpositionStat();
+	persObj->m_yStat     = transObj->getYpositionStat();
+	persObj->m_xBeam     = transObj->getXpositionBeam();
+	persObj->m_yBeam     = transObj->getYpositionBeam();
  }
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_LocRecCorrODEventCnv_p1.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_LocRecCorrODEventCnv_p1.cxx
index c7369ec44e8c6783a50b6057ebaa6d5d7c8e3132..691fe3f09b128e9c8f87bebb113b50fbfba2b71f 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_LocRecCorrODEventCnv_p1.cxx
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_LocRecCorrODEventCnv_p1.cxx
@@ -2,12 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#define private public
-#define protected public
 #include "ALFA_LocRecCorrEv/ALFA_LocRecCorrODEvent.h"
-#undef private
-#undef protected
-
 #include "ALFA_EventTPCnv/ALFA_LocRecCorrODEvent_p1.h"
 #include "ALFA_EventTPCnv/ALFA_LocRecCorrODEventCnv_p1.h"
 
@@ -15,14 +10,14 @@ void ALFA_LocRecCorrODEventCnv_p1::persToTrans(const ALFA_LocRecCorrODEvent_p1*
 {
 	log << MSG::DEBUG << "ALFA_LocRecCorrODEventCnv_p1::persToTrans called " << endreq;
 
-	transObj->m_iAlgoNum  = persObj->m_iAlgoNum;
-	transObj->m_pot_num   = persObj->m_pot_num;
-	transObj->m_side      = persObj->m_side;
-	transObj->m_yLHC      = persObj->m_yLHC;
-	transObj->m_zLHC      = persObj->m_zLHC;
-	transObj->m_yPot      = persObj->m_yPot;
-	transObj->m_yStat     = persObj->m_yStat;
-	transObj->m_yBeam     = persObj->m_yBeam;
+        *transObj = ALFA_LocRecCorrODEvent(persObj->m_iAlgoNum,
+                                           persObj->m_pot_num,
+                                           persObj->m_side,
+                                           persObj->m_yLHC,
+                                           persObj->m_zLHC,
+                                           persObj->m_yPot,
+                                           persObj->m_yStat,
+                                           persObj->m_yBeam);
 }
 
 
@@ -30,12 +25,12 @@ void ALFA_LocRecCorrODEventCnv_p1::transToPers(const ALFA_LocRecCorrODEvent* tra
 {
 	log << MSG::DEBUG << "ALFA_LocRecCorrODEventCnv_p1::transToPers called " << endreq;
 
-	persObj->m_iAlgoNum  = transObj->m_iAlgoNum;
-	persObj->m_pot_num   = transObj->m_pot_num;
-	persObj->m_side      = transObj->m_side;
-	persObj->m_yLHC      = transObj->m_yLHC;
-	persObj->m_zLHC      = transObj->m_zLHC;
-	persObj->m_yPot      = transObj->m_yPot;
-	persObj->m_yStat     = transObj->m_yStat;
-	persObj->m_yBeam     = transObj->m_yBeam;
+	persObj->m_iAlgoNum  = transObj->getAlgoNum();
+	persObj->m_pot_num   = transObj->getPotNum();
+	persObj->m_side      = transObj->getSide();
+	persObj->m_yLHC      = transObj->getYpositionLHC();
+	persObj->m_zLHC      = transObj->getZpositionLHC();
+	persObj->m_yPot      = transObj->getYpositionPot();
+	persObj->m_yStat     = transObj->getYpositionStat();
+	persObj->m_yBeam     = transObj->getYpositionBeam();
  }
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_LocRecEventCnv_p1.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_LocRecEventCnv_p1.cxx
index bc66f7253757ec585cb4beb3a8d7aeb4448462c9..95ad06e824ce74293626d5f1efe0b27540d2f536 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_LocRecEventCnv_p1.cxx
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_LocRecEventCnv_p1.cxx
@@ -2,28 +2,23 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#define private public
-#define protected public
 #include "ALFA_LocRecEv/ALFA_LocRecEvent.h"
-#undef private
-#undef protected
-
 #include "ALFA_EventTPCnv/ALFA_LocRecEvent_p1.h"
 #include "ALFA_EventTPCnv/ALFA_LocRecEventCnv_p1.h"
 
 void ALFA_LocRecEventCnv_p1::persToTrans(const ALFA_LocRecEvent_p1* persObj, ALFA_LocRecEvent* transObj, MsgStream &log)
 {
    log << MSG::DEBUG << "ALFA_LocRecEventCnv_p1::persToTrans called " << endreq;
-   
-   transObj->m_iAlgoNum  = persObj->m_iAlgoNum;
-   transObj->m_pot_num   = persObj->m_pot_num;
-   transObj->m_x         = persObj->m_x;
-   transObj->m_y         = persObj->m_y;
-   transObj->m_fOverU    = persObj->m_fOverU;
-   transObj->m_fOverV    = persObj->m_fOverV;
-   transObj->m_iNumU     = persObj->m_iNumU;
-   transObj->m_iNumV     = persObj->m_iNumV;
-   transObj->m_iFibSel   = persObj->m_iFibSel;
+
+   *transObj = ALFA_LocRecEvent (persObj->m_iAlgoNum,
+                                 persObj->m_pot_num,
+                                 persObj->m_x,
+                                 persObj->m_y,
+                                 persObj->m_fOverU,
+                                 persObj->m_fOverV,
+                                 persObj->m_iNumU,
+                                 persObj->m_iNumV,
+                                 persObj->m_iFibSel);
 }
  
  
@@ -33,13 +28,13 @@ void ALFA_LocRecEventCnv_p1::transToPers(const ALFA_LocRecEvent* transObj,
 {
 	log << MSG::DEBUG << "ALFA_LocRecEventCnv_p1::transToPers called " << endreq;
 
-	persObj->m_iAlgoNum  = transObj->m_iAlgoNum;
-	persObj->m_pot_num   = transObj->m_pot_num;
-    persObj->m_x         = transObj->m_x;
-    persObj->m_y         = transObj->m_y;
-	persObj->m_fOverU    = transObj->m_fOverU;
-	persObj->m_fOverV    = transObj->m_fOverV;
-	persObj->m_iNumU     = transObj->m_iNumU;
-	persObj->m_iNumV     = transObj->m_iNumV;
-	persObj->m_iFibSel   = transObj->m_iFibSel;
+	persObj->m_iAlgoNum  = transObj->getAlgoNum();
+	persObj->m_pot_num   = transObj->getPotNum();
+        persObj->m_x         = transObj->getXposition();
+        persObj->m_y         = transObj->getYposition();
+	persObj->m_fOverU    = transObj->getOverU();
+	persObj->m_fOverV    = transObj->getOverV();
+        persObj->m_iNumU     = transObj->getNumU();
+	persObj->m_iNumV     = transObj->getNumV();
+	persObj->m_iFibSel   = transObj->getFibSel();
  }
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_LocRecODEventCnv_p1.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_LocRecODEventCnv_p1.cxx
index 165d43ce3fc29640c56c2b6c40534fb8ef1fccec..6fad02ba3eb5e21cbd41c714c53eac8397afb80e 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_LocRecODEventCnv_p1.cxx
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_LocRecODEventCnv_p1.cxx
@@ -2,12 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#define private public
-#define protected public
 #include "ALFA_LocRecEv/ALFA_LocRecODEvent.h"
-#undef private
-#undef protected
-
 #include "ALFA_EventTPCnv/ALFA_LocRecODEvent_p1.h"
 #include "ALFA_EventTPCnv/ALFA_LocRecODEventCnv_p1.h"
 
@@ -15,13 +10,13 @@ void ALFA_LocRecODEventCnv_p1::persToTrans(const ALFA_LocRecODEvent_p1* persObj,
 {
 	log << MSG::DEBUG << "ALFA_LocRecODEventCnv_p1::persToTrans called " << endreq;
 
-	transObj->m_iAlgoNum  = persObj->m_iAlgoNum;
-	transObj->m_pot_num   = persObj->m_pot_num;
-	transObj->m_side      = persObj->m_side;
-	transObj->m_y         = persObj->m_y;
-	transObj->m_fOverY    = persObj->m_fOverY;
-	transObj->m_iNumY     = persObj->m_iNumY;
-	transObj->m_iFibSel   = persObj->m_iFibSel;
+        *transObj = ALFA_LocRecODEvent (persObj->m_iAlgoNum,
+                                        persObj->m_pot_num,
+                                        persObj->m_side,
+                                        persObj->m_y,
+                                        persObj->m_fOverY,
+                                        persObj->m_iNumY,
+                                        persObj->m_iFibSel);
 }
  
  
@@ -29,11 +24,11 @@ void ALFA_LocRecODEventCnv_p1::transToPers(const ALFA_LocRecODEvent* transObj, A
 {
 	log << MSG::DEBUG << "ALFA_LocRecODEventCnv_p1::transToPers called " << endreq;
 
-	persObj->m_iAlgoNum  = transObj->m_iAlgoNum;
-	persObj->m_pot_num   = transObj->m_pot_num;
-	persObj->m_side      = transObj->m_side;
-	persObj->m_y         = transObj->m_y;
-	persObj->m_fOverY    = transObj->m_fOverY;
-	persObj->m_iNumY     = transObj->m_iNumY;
-	persObj->m_iFibSel   = transObj->m_iFibSel;
+	persObj->m_iAlgoNum  = transObj->getAlgoNum();
+	persObj->m_pot_num   = transObj->getPotNum();
+	persObj->m_side      = transObj->getSide();
+	persObj->m_y         = transObj->getYposition();
+	persObj->m_fOverY    = transObj->getOverY();
+	persObj->m_iNumY     = transObj->getNumY();
+	persObj->m_iFibSel   = transObj->getFibSel();
 }
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_ODDigitCnv_p1.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_ODDigitCnv_p1.cxx
index eb2a7855bd451ea201bc9e9648a07419fe9b8574..9fef119b1b69b782dbf6deefb293acf3ffc1e196 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_ODDigitCnv_p1.cxx
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_ODDigitCnv_p1.cxx
@@ -2,24 +2,18 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#define private public
-#define protected public
 #include "ALFA_RawEv/ALFA_ODDigit.h"
-#undef private
-#undef protected
-
-
 #include "ALFA_EventTPCnv/ALFA_ODDigit_p1.h"
 #include "ALFA_EventTPCnv/ALFA_ODDigitCnv_p1.h"
 
 void ALFA_ODDigitCnv_p1::persToTrans(const ALFA_ODDigit_p1* persObj, ALFA_ODDigit* transObj, MsgStream &log)
 {
    log << MSG::DEBUG << "ALFA_ODDigitCnv_p1::persToTrans called " << endreq;
-   
-   transObj->m_plate       = persObj->m_plate;
-   transObj->m_side        = persObj->m_side;   
-   transObj->m_fiber       = persObj->m_fiber;
-   transObj->m_station     = persObj->m_station;      
+
+   *transObj = ALFA_ODDigit (persObj->m_station,
+                             persObj->m_side,
+                             persObj->m_plate,
+                             persObj->m_fiber);
 }
  
  
@@ -28,9 +22,9 @@ void ALFA_ODDigitCnv_p1::transToPers(const ALFA_ODDigit* transObj,
                                        MsgStream &log)
 {
    log << MSG::DEBUG << "ALFA_ODDigitCnv_p1::transToPers called " << endreq;
-    persObj->m_plate       = transObj->m_plate;
-    persObj->m_side        = transObj->m_side;    
-    persObj->m_fiber       = transObj->m_fiber;
-    persObj->m_station     = transObj->m_station;
+   persObj->m_plate       = transObj->getPlate();
+   persObj->m_side        = transObj->getSide();    
+   persObj->m_fiber       = transObj->getFiber();
+   persObj->m_station     = transObj->getStation();
         
  }
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_ODHitCnv_p1.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_ODHitCnv_p1.cxx
index 8d59df69e7ed480c88b55de8b8630f3ff84df3c9..0b0e53828f0f0bca70934f8ad11692d2a8590e17 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_ODHitCnv_p1.cxx
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_ODHitCnv_p1.cxx
@@ -2,14 +2,8 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#define private public
-#define protected public
 #include "ALFA_SimEv/ALFA_ODHit.h"
-#undef private
-#undef protected
-
 #include "Identifier/Identifier.h"
-
 #include "ALFA_EventTPCnv/ALFA_ODHitCnv_p1.h"
 
 
@@ -18,24 +12,24 @@ void ALFA_ODHitCnv_p1::persToTrans(const ALFA_ODHit_p1* persObj, ALFA_ODHit* tra
    log << MSG::DEBUG << "ALFA_ODHitCnv_p1::persToTrans called " << endreq;
    
 //   HepMcParticleLinkCnv_p1 HepMcPLCnv;
-//   HepMcPLCnv.persToTrans(&(persObj->m_partLink),&(transObj->m_partLink), log);   
-   transObj->hitID         = persObj->hitID;
-   transObj->trackID       = persObj->trackID;   
-   transObj->particleEncoding = persObj->particleEncoding;
-   transObj->kineticEnergy = persObj->kineticEnergy;
-   transObj->energyDeposit = persObj->energyDeposit;
-   transObj->preStepX      = persObj->preStepX;
-   transObj->preStepY      = persObj->preStepY;
-   transObj->preStepZ      = persObj->preStepZ; 
-   transObj->postStepX     = persObj->postStepX;
-   transObj->postStepY     = persObj->postStepY;
-   transObj->postStepZ     = persObj->postStepZ;
-   transObj->globalTime    = persObj->globalTime;
-   transObj->sign_fiber    = persObj->sign_fiber;
-   transObj->OD_side       = persObj->OD_side;   
-   transObj->n_plate       = persObj->n_plate;
-   transObj->n_fiber       = persObj->n_fiber;
-   transObj->n_station     = persObj->n_station;      
+//   HepMcPLCnv.persToTrans(&(persObj->m_partLink),&(transObj->m_partLink), log);
+   *transObj = ALFA_ODHit (persObj->hitID,
+                           0, // persObj->trackID
+                           persObj->particleEncoding,
+                           persObj->kineticEnergy,
+                           persObj->energyDeposit,
+                           persObj->preStepX,
+                           persObj->preStepY,
+                           persObj->preStepZ, 
+                           persObj->postStepX,
+                           persObj->postStepY,
+                           persObj->postStepZ,
+                           persObj->globalTime,
+                           persObj->sign_fiber,
+                           persObj->OD_side,
+                           persObj->n_plate,
+                           persObj->n_fiber,
+                           persObj->n_station);
 }
  
  
@@ -46,22 +40,22 @@ void ALFA_ODHitCnv_p1::transToPers(const ALFA_ODHit* transObj,
    log << MSG::DEBUG << "ALFA_ODHitCnv_p1::transToPers called " << endreq;
  //  HepMcParticleLinkCnv_p1 HepMcPLCnv;
 //    HepMcPLCnv.transToPers(&(transObj->m_partLink),&(persObj->m_partLink), log);   
-    persObj->hitID          = transObj->hitID;
-    persObj->trackID        = transObj->trackID;    
-    persObj->particleEncoding = transObj->particleEncoding;
-    persObj->kineticEnergy = transObj->kineticEnergy;
-    persObj->energyDeposit = transObj->energyDeposit;
-    persObj->preStepX      = transObj->preStepX;
-    persObj->preStepY      = transObj->preStepY;
-    persObj->preStepZ      = transObj->preStepZ; 
-    persObj->postStepX     = transObj->postStepX;
-    persObj->postStepY     = transObj->postStepY;
-    persObj->postStepZ     = transObj->postStepZ;
-    persObj->globalTime    = transObj->globalTime;
-    persObj->sign_fiber    = transObj->sign_fiber;
-    persObj->OD_side       = transObj->OD_side;     
-    persObj->n_plate       = transObj->n_plate;
-    persObj->n_fiber       = transObj->n_fiber;
-    persObj->n_station     = transObj->n_station;
+    persObj->hitID          = transObj->GetHitID();
+    persObj->trackID        = transObj->GetTrackID();    
+    persObj->particleEncoding = transObj->GetParticleEncoding();
+    persObj->kineticEnergy = transObj->GetKineticEnergy();
+    persObj->energyDeposit = transObj->GetEnergyDeposit();
+    persObj->preStepX      = transObj->GetPreStepX();
+    persObj->preStepY      = transObj->GetPreStepY();
+    persObj->preStepZ      = transObj->GetPreStepZ();
+    persObj->postStepX     = transObj->GetPostStepX();
+    persObj->postStepY     = transObj->GetPostStepY();
+    persObj->postStepZ     = transObj->GetPostStepZ();
+    persObj->globalTime    = transObj->GetGlobalTime();
+    persObj->sign_fiber    = transObj->GetSignFiber();
+    persObj->OD_side       = transObj->GetODSide();
+    persObj->n_plate       = transObj->GetPlateNumber();
+    persObj->n_fiber       = transObj->GetFiberNumber();
+    persObj->n_station     = transObj->GetStationNumber();
         
  }
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataCnv_charge_p1.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataCnv_charge_p1.cxx
index 96c25953f2787f61bf5d705ae7e17720d6abce78..4d11e991313969fed58980602ec4e7e4004bbdc7 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataCnv_charge_p1.cxx
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataCnv_charge_p1.cxx
@@ -2,12 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#define private public
-#define protected public
 #include "ALFA_RawEv/ALFA_RawData_charge.h"
-#undef private
-#undef protected
-
 #include "GaudiKernel/MsgStream.h"
 #include "ALFA_EventTPCnv/ALFA_RawDataCnv_charge_p1.h"
 
@@ -16,14 +11,15 @@ ALFA_RawData_charge* transObj, MsgStream &log) {
 
 
   log << MSG::DEBUG << "In ALFA_RawDataCnv_charge_p1:persToTrans called" << endreq;
-  
-  transObj->ChannelNumId  = persObj->ChannelNumId;
-  transObj->PMFId  = persObj->PMFId;
-  transObj->MBId  = persObj->MBId;
-  transObj->EventCount  = persObj->EventCount;
-  transObj->ChargeChan.assign(persObj->m_ChargeChan.begin(), persObj->m_ChargeChan.end());
-  transObj->p_dataWords->assign (persObj->m_dataWords.begin(), persObj->m_dataWords.end());
- 
+
+  transObj->SetZero_PMF();
+  transObj->SetChannelNum_PMF (persObj->ChannelNumId);
+  transObj->SetPMFId_PMF (persObj->PMFId);
+  transObj->SetMBId_PMF (persObj->MBId);
+  transObj->SetEventCount_PMF (persObj->EventCount);
+  transObj->SetChargeChanVect_PMF (persObj->m_ChargeChan);
+  for (uint32_t w : persObj->m_dataWords)
+    transObj->addData(w);
   }
 
 void ALFA_RawDataCnv_charge_p1::transToPers(const ALFA_RawData_charge* transObj, ALFA_RawData_charge_p1* persObj, MsgStream &log) {
@@ -31,23 +27,19 @@ void ALFA_RawDataCnv_charge_p1::transToPers(const ALFA_RawData_charge* transObj,
   
   log << MSG::DEBUG << "In ALFA_RawDataCnv_p1:transToPers called" << endreq;
   
-  persObj->ChannelNumId  = transObj->ChannelNumId;
-  persObj->PMFId  = transObj->PMFId;
-  persObj->MBId  = transObj->MBId;
-  persObj->EventCount  = transObj->EventCount;
+  persObj->ChannelNumId  = transObj->GetChannelNum_PMF();
+  persObj->PMFId  = transObj->GetPMFId_PMF();
+  persObj->MBId  = transObj->GetMBId_PMF();
+  persObj->EventCount  = transObj->GetEventCount_PMF();
   
   persObj->m_ChargeChan.resize(64);
 
+  const std::vector<uint16_t>&v =  transObj->ChargeChanVect_number();
   for ( int i = 0; i < 64; i++ ){
-  persObj->m_ChargeChan[i] =  transObj->ChargeChan[i];
+    persObj->m_ChargeChan[i] =  v[i];
   }   
   
 
-     if (transObj->dataWords()!=0){
-      persObj->m_dataWords.reserve(transObj->dataWords()->size());
-      std::vector<uint32_t>::const_iterator it    = transObj->dataWords()->begin();
-      std::vector<uint32_t>::const_iterator itEnd = transObj->dataWords()->end();
-      std::copy(it, itEnd, persObj->m_dataWords.begin() );
-    }
-
- }
+  if (transObj->dataWords()!=0)
+    persObj->m_dataWords = *transObj->dataWords();
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataCnv_p1.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataCnv_p1.cxx
index 7bc53e87cabe2e294310f9cce23c6ad086be0953..2b84b8ced0aabc1d1b99155d271384dad926d838 100755
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataCnv_p1.cxx
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataCnv_p1.cxx
@@ -2,12 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#define private public
-#define protected public
 #include "ALFA_RawEv/ALFA_RawData.h"
-#undef private
-#undef protected
-
 #include "GaudiKernel/MsgStream.h"
 #include "ALFA_EventTPCnv/ALFA_RawDataCnv_p1.h"
 
@@ -16,14 +11,16 @@ ALFA_RawData* transObj, MsgStream &log) {
 
 
   log << MSG::DEBUG << "In ALFA_RawDataCnv_p1:persToTrans called" << endreq;
-  
-  transObj->WordId  = persObj->WordId;
-  transObj->PMFId  = persObj->PMFId;
-  transObj->MBId  = persObj->MBId;
-  transObj->EventCount  = persObj->EventCount;
-  transObj->MarocChan.assign(persObj->m_MarocChan.begin(), persObj->m_MarocChan.end());
-  transObj->p_dataWords->assign (persObj->m_dataWords.begin(), persObj->m_dataWords.end());
-  transObj->m_error_bit17  = persObj->m_error_bit17;
+
+  transObj->SetZero_PMF();
+  transObj->SetWordId_PMF (persObj->WordId);
+  transObj->SetPMFId_PMF (persObj->PMFId);
+  transObj->SetMBId_PMF (persObj->MBId);
+  transObj->SetEventCount_PMF (persObj->EventCount);
+  transObj->SetMarocChan_PMF (persObj->m_MarocChan);
+  for (uint32_t w : persObj->m_dataWords)
+    transObj->addData (w);
+  transObj->Set_error_bit17 (persObj->m_error_bit17);
 
  
   }
@@ -33,24 +30,20 @@ void ALFA_RawDataCnv_p1::transToPers(const ALFA_RawData* transObj, ALFA_RawData_
   
   log << MSG::DEBUG << "In ALFA_RawDataCnv_p1:transToPers called" << endreq;
   
-  persObj->WordId  = transObj->WordId;
-  persObj->PMFId  = transObj->PMFId;
-  persObj->MBId  = transObj->MBId;
-  persObj->EventCount  = transObj->EventCount;
-  persObj->m_error_bit17  = transObj->m_error_bit17;
+  persObj->WordId  = transObj->GetWordId_PMF();
+  persObj->PMFId  = transObj->GetPMFId_PMF();
+  persObj->MBId  = transObj->GetMBId_PMF();
+  persObj->EventCount  = transObj->GetEventCount_PMF();
+  persObj->m_error_bit17  = transObj->Get_error_bit17();
 
   persObj->m_MarocChan.resize(16);
 
+  const std::vector<uint16_t>& v = transObj->HitChan();
   for ( int i = 0; i < 16; i++ ){
-  persObj->m_MarocChan[i] =  transObj->MarocChan[i];
+    persObj->m_MarocChan[i] =  v[i];
   }   
   
 
-     if (transObj->dataWords()!=0){
-      persObj->m_dataWords.reserve(transObj->dataWords()->size());
-      std::vector<uint32_t>::const_iterator it    = transObj->dataWords()->begin();
-      std::vector<uint32_t>::const_iterator itEnd = transObj->dataWords()->end();
-      std::copy(it, itEnd, persObj->m_dataWords.begin() );
-    }
-
- }
+  if (transObj->dataWords()!=0)
+    persObj->m_dataWords = *transObj->dataWords();
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataCollectionCnv_charge_p1.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataCollectionCnv_charge_p1.cxx
index d551a16e62e77a279a47de06d6b68937ac70e856..0a618b89ac24f3c45aafe9d6aaf0652222c7d0cd 100644
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataCollectionCnv_charge_p1.cxx
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataCollectionCnv_charge_p1.cxx
@@ -2,12 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#define private public
-#define protected public
 #include "ALFA_RawEv/ALFA_RawDataCollection_charge.h"
-#undef private
-#undef protected
-
 #include "GaudiKernel/MsgStream.h"
 #include "ALFA_EventTPCnv/ALFA_RawDataCollectionCnv_charge_p1.h"
 
@@ -22,10 +17,10 @@ void ALFA_RawDataCollectionCnv_charge_p1::transToPers(const ALFA_RawDataCollecti
   ALFA_RawDataCollection_charge_Cnvp1_base_t::transToPers( transColl, persColl, log );
 
  
-   persColl->MBId_POT  = transColl->MBId_POT;
-   persColl->EventCount_POT  = transColl->EventCount_POT;
-   persColl->TimeStamp_POT = transColl->TimeStamp_POT;
-   persColl->BCId_POT = transColl->BCId_POT;
+   persColl->MBId_POT  = transColl->GetMBId_POT();
+   persColl->EventCount_POT  = transColl->GetEventCount_POT();
+   persColl->TimeStamp_POT = transColl->GetTimeStamp_POT();
+   persColl->BCId_POT = transColl->GetBCId_POT();
 
 }
 
@@ -37,10 +32,10 @@ if (log.level()<=MSG::DEBUG) log << MSG::DEBUG << "In  ALFA_RawDataCollectionCnv
 // Invoke vector converter from the base template
   ALFA_RawDataCollection_charge_Cnvp1_base_t::persToTrans( persColl, transColl, log );
 
-    transColl->MBId_POT  = persColl->MBId_POT;
-    transColl->EventCount_POT  = persColl->EventCount_POT;
-    transColl->TimeStamp_POT = persColl->TimeStamp_POT;
-    transColl->BCId_POT = persColl->BCId_POT;
+    transColl->SetMBId_POT        (persColl->MBId_POT);
+    transColl->SetEventCount_POT  (persColl->EventCount_POT);
+    transColl->SetTimeStamp_POT   (persColl->TimeStamp_POT);
+    transColl->SetBCId_POT        (persColl->BCId_POT);
 
 }
 
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataCollectionCnv_p1.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataCollectionCnv_p1.cxx
index 7b948707dfedb9eef59a9f578c6bc03a4fc42a73..e598e0862d076655719f9d8e627439579f6e0d24 100755
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataCollectionCnv_p1.cxx
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataCollectionCnv_p1.cxx
@@ -2,12 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-#define private public
-#define protected public
 #include "ALFA_RawEv/ALFA_RawDataCollection.h"
-#undef private
-#undef protected
-
 #include "GaudiKernel/MsgStream.h"
 #include "ALFA_EventTPCnv/ALFA_RawDataCollectionCnv_p1.h"
 
@@ -22,13 +17,13 @@ void ALFA_RawDataCollectionCnv_p1::transToPers(const ALFA_RawDataCollection* tra
   ALFA_RawDataCollection_Cnvp1_base_t::transToPers( transColl, persColl, log );
 
  
-  persColl->MBId_POT  = transColl->MBId_POT;
-  persColl->EventCount_POT  = transColl->EventCount_POT;
-  persColl->patternId  = transColl->patternId;
-  persColl->scalerId  = transColl->scalerId;
-  persColl->ADC1Id  = transColl->ADC1Id;
-  persColl->ADC2Id  = transColl->ADC2Id;
-  persColl->TrigSyncErrId = transColl->TrigSyncErrId;
+  persColl->MBId_POT  = transColl->GetMBId_POT();
+  persColl->EventCount_POT  = transColl->GetEventCount_POT();
+  persColl->patternId  = transColl->Get_pattern_POT();
+  persColl->scalerId  = transColl->Get_scaler_POT();
+  persColl->ADC1Id  = transColl->Get_ADC1_POT();
+  persColl->ADC2Id  = transColl->Get_ADC2_POT();
+  persColl->TrigSyncErrId = transColl->GetTrigSyncErr();
 
 }
 
@@ -40,13 +35,12 @@ void ALFA_RawDataCollectionCnv_p1::persToTrans(const ALFA_RawDataCollection_p1*
   // Invoke vector converter from the base template
   ALFA_RawDataCollection_Cnvp1_base_t::persToTrans( persColl, transColl, log );
 
-  transColl->MBId_POT  = persColl->MBId_POT;
-  transColl->EventCount_POT  = persColl->EventCount_POT;
-  transColl->patternId  = persColl->patternId;
-  transColl->scalerId  = persColl->scalerId;
-  transColl->ADC1Id  = persColl->ADC1Id;
-  transColl->ADC2Id  = persColl->ADC2Id;
-  transColl->TrigSyncErrId = persColl->TrigSyncErrId;
-
+  transColl->SetMBId_POT   (persColl->MBId_POT);
+  transColl->SetEventCount_POT  (persColl->EventCount_POT);
+  transColl->Set_pattern_POT  (persColl->patternId);
+  transColl->Set_scaler_POT  (persColl->scalerId);
+  transColl->Set_ADC1_POT  (persColl->ADC1Id);
+  transColl->Set_ADC2_POT  (persColl->ADC2Id);
+  transColl->SetTrigSyncErr (persColl->TrigSyncErrId);
 }
 
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataContainerCnv_p1.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataContainerCnv_p1.cxx
index a987b726f0db023d941afe66007f07b72bab7650..41bea85ae1518afc29384ad0884223715f571151 100755
--- a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataContainerCnv_p1.cxx
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/src/ALFA_RawDataContainerCnv_p1.cxx
@@ -3,13 +3,7 @@
 */
 
 #include "GaudiKernel/MsgStream.h"
-
-#define private public
-#define protected public
 #include "ALFA_RawEv/ALFA_RawDataContainer.h"
-#undef private
-#undef protected
-
 #include "ALFA_EventTPCnv/ALFA_RawDataContainerCnv_p1.h"
 
 
@@ -20,13 +14,13 @@ void ALFA_RawDataContainerCnv_p1::transToPers(const ALFA_RawDataContainer* trans
   // Invoke vector converter from the base template
   ALFA_RawDataContainer_Cnvp1_base_t::transToPers( transCont, persCont, log );
 
-  persCont->TimeStamp = transCont->TimeStamp;
-  persCont->TimeStampns = transCont->TimeStampns;
-  persCont->LumiBlock = transCont->LumiBlock;
-  persCont->BCId = transCont->BCId;
-  persCont->lvl1Pattern = transCont->lvl1Pattern;
-	persCont->lvl2Pattern = transCont->lvl2Pattern;
-	persCont->efPattern = transCont->efPattern;
+  persCont->TimeStamp = transCont->GetTimeStamp();
+  persCont->TimeStampns = transCont->GetTimeStampns();
+  persCont->LumiBlock = transCont->GetLumiBlock();
+  persCont->BCId = transCont->GetBCId();
+  persCont->lvl1Pattern = transCont->GetLvl1Pattern_POT();
+  persCont->lvl2Pattern = transCont->GetLvl2Pattern_POT();
+  persCont->efPattern = transCont->GetEFPattern_POT();
 
  }
 
@@ -39,13 +33,13 @@ if (log.level()<=MSG::DEBUG) log << MSG::DEBUG << "In  ALFA_RawDataContainerCnv_
 // Invoke vector converter from the base template
   ALFA_RawDataContainer_Cnvp1_base_t::persToTrans( persCont, transCont, log );
 
-  transCont->TimeStamp = persCont->TimeStamp;
-  transCont->TimeStampns = persCont->TimeStampns;
-  transCont->LumiBlock = persCont->LumiBlock;
-  transCont->BCId = persCont->BCId;
-  transCont->lvl1Pattern = persCont->lvl1Pattern;
-	transCont->lvl2Pattern = persCont->lvl2Pattern;
-	transCont->efPattern = persCont->efPattern;
+  transCont->SetTimeStamp (persCont->TimeStamp);
+  transCont->SetTimeStampns (persCont->TimeStampns);
+  transCont->SetLumiBlock (persCont->LumiBlock);
+  transCont->SetBCId (persCont->BCId);
+  transCont->SetLvl1Pattern (persCont->lvl1Pattern);
+  transCont->SetLvl2Pattern (persCont->lvl2Pattern);
+  transCont->SetEFPattern (persCont->efPattern);
 
 }
 
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_CLinkEventCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_CLinkEventCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..7b8d172b090f2bb3b5b8c03f0839d0359132da12
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_CLinkEventCnv_p1_test.cxx
@@ -0,0 +1,92 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_CLinkEventCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_CLinkEventCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_CLinkEventCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const DCSID& p1,
+              const DCSID& p2)
+{
+  assert (p1.ullBlmID == p2.ullBlmID);
+  assert (p1.ullHVChannelID == p2.ullHVChannelID);
+  assert (p1.ullLocalMonitoringID == p2.ullLocalMonitoringID);
+  assert (p1.ullMovementID == p2.ullMovementID);
+  assert (p1.ullRadMonID == p2.ullRadMonID);
+  assert (p1.ullTriggerRatesID == p2.ullTriggerRatesID);
+  assert (p1.ullFEConfigurationID == p2.ullFEConfigurationID);
+  assert (p1.ullTriggerSettingsID == p2.ullTriggerSettingsID);
+}
+
+
+void compare (const ALFA_CLinkEvent& p1,
+              const ALFA_CLinkEvent& p2)
+{
+  compare (p1.DCSId(), p2.DCSId());
+  assert (p1.rawDataEvCollLink() == p2.rawDataEvCollLink());
+  assert (p1.digitEvCollLink() == p2.digitEvCollLink());
+  assert (p1.ODDigitEvCollLink() == p2.ODDigitEvCollLink());
+  assert (p1.locRecEvCollLink() == p2.locRecEvCollLink());
+  assert (p1.locRecODEvCollLink() == p2.locRecODEvCollLink());
+  assert (p1.locRecCorrEvCollLink() == p2.locRecCorrEvCollLink());
+  assert (p1.locRecCorrODEvCollLink() == p2.locRecCorrODEvCollLink());
+}
+
+
+void testit (const ALFA_CLinkEvent& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_CLinkEventCnv_p1 cnv;
+  ALFA_CLinkEvent_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_CLinkEvent trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_CLinkEvent trans1;
+
+  trans1.setRawDataEvCollLink (DataLink<ALFA_RawDataContainer> ("rawdata"));
+  trans1.setDigitEvCollLink (DataLink<ALFA_DigitCollection> ("digit"));
+  trans1.setODDigitEvCollLink (DataLink<ALFA_ODDigitCollection> ("oddigit"));
+  trans1.setLocRecEvCollLink (DataLink<ALFA_LocRecEvCollection> ("locrec"));
+  trans1.setLocRecODEvCollLink (DataLink<ALFA_LocRecODEvCollection> ("locrecod"));
+  trans1.setLocRecCorrEvCollLink (DataLink<ALFA_LocRecCorrEvCollection> ("locreccorr"));
+  trans1.setLocRecCorrODEvCollLink (DataLink<ALFA_LocRecCorrODEvCollection> ("locreccorrod"));
+
+  trans1.SetDCSFolderID (EDCSI_BLM, 123);
+  trans1.SetDCSFolderID (EDCSI_HVCHANNEL, 234);
+  trans1.SetDCSFolderID (EDCSI_LOCALMONITORING, 345);
+  trans1.SetDCSFolderID (EDCSI_MOVEMENT, 456);
+  trans1.SetDCSFolderID (EDCSI_RADMON, 567);
+  trans1.SetDCSFolderID (EDCSI_TRIGGERRATES, 678);
+  trans1.SetDCSFolderID (EDCSI_FECONFIGURATION, 789);
+  trans1.SetDCSFolderID (EDCSI_TRIGGERSETTINGS, 890);
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_DigitCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_DigitCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..8f181a218a2b28d76230d8a350cbe9a930ffd907
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_DigitCnv_p1_test.cxx
@@ -0,0 +1,56 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_DigitCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_DigitCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_DigitCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_Digit& p1,
+              const ALFA_Digit& p2)
+{
+  assert (p1.getStation() == p2.getStation());
+  assert (p1.getPlate()   == p2.getPlate());
+  assert (p1.getFiber()   == p2.getFiber());
+}
+
+
+void testit (const ALFA_Digit& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_DigitCnv_p1 cnv;
+  ALFA_Digit_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_Digit trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_Digit trans1 (123, 234, 345);
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_DigitCollectionCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_DigitCollectionCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..09262955b90f3ab49022da0209fd313eac4460f4
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_DigitCollectionCnv_p1_test.cxx
@@ -0,0 +1,69 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_DigitCollectionCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_DigitCollectionCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_DigitCollectionCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_Digit& p1,
+              const ALFA_Digit& p2)
+{
+  assert (p1.getStation() == p2.getStation());
+  assert (p1.getPlate()   == p2.getPlate());
+  assert (p1.getFiber()   == p2.getFiber());
+}
+
+
+void compare (const ALFA_DigitCollection& p1,
+              const ALFA_DigitCollection& p2)
+{
+  assert (p1.size() == p2.size());
+  for (size_t i=0; i < p1.size(); i++)
+    compare (*p1[i], *p2[i]);
+}
+
+
+void testit (const ALFA_DigitCollection& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_DigitCollectionCnv_p1 cnv;
+  ALFA_DigitCollection_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_DigitCollection trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_DigitCollection trans1;
+  for (int i=0; i < 10; i++) {
+    int o = i*100;
+    trans1.push_back (new ALFA_Digit (123+o, 234+o, 345+o));
+  }
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_EventTPCnv.xml b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_EventTPCnv.xml
new file mode 100755
index 0000000000000000000000000000000000000000..6e727e7700a9d4af12b1fe1591b52a1ef675605a
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_EventTPCnv.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<atn>
+   <TEST name="ALFA_EventTPCnvTests" type="makecheck">
+      <package>ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv</package>
+      <timelimit>20</timelimit>
+      <author> scott snyder </author>
+      <mailto> snyder@bnl.gov </mailto>
+      <expectations>
+         <errorMessage>Athena exited abnormally</errorMessage>
+         <errorMessage>differ</errorMessage>
+         <warningMessage> # WARNING_MESSAGE : post.sh> ERROR</warningMessage>
+         <successMessage>check ok</successMessage>
+         <returnValue>0</returnValue>
+      </expectations>
+   </TEST>
+</atn>
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_GloRecEvCollectionCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_GloRecEvCollectionCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..a36f8255a03de103879ed8914afa932d0c9466a7
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_GloRecEvCollectionCnv_p1_test.cxx
@@ -0,0 +1,73 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_GloRecEvCollectionCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_GloRecEvCollectionCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_GloRecEvCollectionCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_GloRecEvent& p1,
+              const ALFA_GloRecEvent& p2)
+{
+  assert (p1.getArmNum() == p2.getArmNum());
+  assert (p1.getXposition() == p2.getXposition());
+  assert (p1.getYposition() == p2.getYposition());
+  assert (p1.getXslope() == p2.getXslope());
+  assert (p1.getYslope() == p2.getYslope());
+}
+
+
+void compare (const ALFA_GloRecEvCollection& p1,
+              const ALFA_GloRecEvCollection& p2)
+{
+  assert (p1.size() == p2.size());
+  for (size_t i=0; i < p1.size(); i++)
+    compare (*p1[i], *p2[i]);
+}
+
+
+void testit (const ALFA_GloRecEvCollection& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_GloRecEvCollectionCnv_p1 cnv;
+  ALFA_GloRecEvCollection_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_GloRecEvCollection trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_GloRecEvCollection trans1;
+  for (int i=0; i < 10; i++) {
+    int o = i*100;
+    trans1.push_back (new ALFA_GloRecEvent (123+o, 10.5+o, 11.5+o,
+                                            12.5+o, 13.5+o,
+                                            nullptr, nullptr));
+  }
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_GloRecEventCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_GloRecEventCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..1f1bfe15b6f58e88fafe848314a085481e9818d5
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_GloRecEventCnv_p1_test.cxx
@@ -0,0 +1,58 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_GloRecEventCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_GloRecEventCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_GloRecEventCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_GloRecEvent& p1,
+              const ALFA_GloRecEvent& p2)
+{
+  assert (p1.getArmNum() == p2.getArmNum());
+  assert (p1.getXposition() == p2.getXposition());
+  assert (p1.getYposition() == p2.getYposition());
+  assert (p1.getXslope() == p2.getXslope());
+  assert (p1.getYslope() == p2.getYslope());
+}
+
+
+void testit (const ALFA_GloRecEvent& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_GloRecEventCnv_p1 cnv;
+  ALFA_GloRecEvent_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_GloRecEvent trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_GloRecEvent trans1 (123, 10.5, 11.5, 12.5, 13.5, nullptr, nullptr);
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_HitCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_HitCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..dff180cef1d6a0802ecf43a26182c1cf554c17b8
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_HitCnv_p1_test.cxx
@@ -0,0 +1,73 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_HitCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_HitCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_HitCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_Hit& p1,
+              const ALFA_Hit& p2)
+{
+  assert (p1.GetHitID() == p2.GetHitID());
+  assert (p1.GetParticleEncoding() == p2.GetParticleEncoding());
+  assert (p1.GetKineticEnergy() == p2.GetKineticEnergy());
+  assert (p1.GetEnergyDeposit() == p2.GetEnergyDeposit());
+  assert (p1.GetPreStepX() == p2.GetPreStepX());
+  assert (p1.GetPreStepY() == p2.GetPreStepY());
+  assert (p1.GetPreStepZ() == p2.GetPreStepZ());
+  assert (p1.GetPostStepX() == p2.GetPostStepX());
+  assert (p1.GetPostStepY() == p2.GetPostStepY());
+  assert (p1.GetPostStepZ() == p2.GetPostStepZ());
+  assert (p1.GetGlobalTime() == p2.GetGlobalTime());
+  assert (p1.GetSignFiber() == p2.GetSignFiber());
+  assert (p1.GetPlateNumber() == p2.GetPlateNumber());
+  assert (p1.GetFiberNumber() == p2.GetFiberNumber());
+  assert (p1.GetStationNumber() == p2.GetStationNumber());
+}
+
+
+void testit (const ALFA_Hit& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_HitCnv_p1 cnv;
+  ALFA_Hit_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_Hit trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_Hit trans1 (123, 234, 345,
+                   10.5, 11.5,
+                   12.5, 13.5, 14.5,
+                   15.5, 16.5, 17.7,
+                   18.5,
+                   456, 567, 678, 789);
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_HitCollectionCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_HitCollectionCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..d6ec8c418cc3884559a19c139e3b0a21b7e79095
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_HitCollectionCnv_p1_test.cxx
@@ -0,0 +1,87 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_HitCollectionCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_HitCollectionCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_HitCollectionCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_Hit& p1,
+              const ALFA_Hit& p2)
+{
+  assert (p1.GetHitID() == p2.GetHitID());
+  assert (p1.GetParticleEncoding() == p2.GetParticleEncoding());
+  assert (p1.GetKineticEnergy() == p2.GetKineticEnergy());
+  assert (p1.GetEnergyDeposit() == p2.GetEnergyDeposit());
+  assert (p1.GetPreStepX() == p2.GetPreStepX());
+  assert (p1.GetPreStepY() == p2.GetPreStepY());
+  assert (p1.GetPreStepZ() == p2.GetPreStepZ());
+  assert (p1.GetPostStepX() == p2.GetPostStepX());
+  assert (p1.GetPostStepY() == p2.GetPostStepY());
+  assert (p1.GetPostStepZ() == p2.GetPostStepZ());
+  assert (p1.GetGlobalTime() == p2.GetGlobalTime());
+  assert (p1.GetSignFiber() == p2.GetSignFiber());
+  assert (p1.GetPlateNumber() == p2.GetPlateNumber());
+  assert (p1.GetFiberNumber() == p2.GetFiberNumber());
+  assert (p1.GetStationNumber() == p2.GetStationNumber());
+}
+
+
+void compare (const ALFA_HitCollection& p1,
+              const ALFA_HitCollection& p2)
+{
+  assert (p1.Name() == p2.Name());
+  assert (p1.size() == p2.size());
+  for (size_t i=0; i < p1.size(); i++)
+    compare (p1[i], p2[i]);
+}
+
+
+void testit (const ALFA_HitCollection& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_HitCollectionCnv_p1 cnv;
+  ALFA_HitCollection_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_HitCollection trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_HitCollection trans1 ("coll");
+  for (int i=0; i < 10; i++) {
+    int o = i*100;
+    trans1.Emplace (123+o, 234+o, 345+o,
+                    10.5+o, 11.5+o,
+                    12.5+o, 13.5+o, 14.5+o,
+                    15.5+o, 16.5+o, 17.7+o,
+                    18.5+o,
+                    456+o, 567+o, 678+o, 789+o);
+  }
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecCorrEvCollectionCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecCorrEvCollectionCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..3ebac6f9550dd2f9a7c62dec9da5b4cc33f3d353
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecCorrEvCollectionCnv_p1_test.cxx
@@ -0,0 +1,82 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EvCollectionTPCnv/test/ALFA_LocRecCorrEvCollectionCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_LocRecCorrEvCollectionCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_LocRecCorrEvCollectionCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_LocRecCorrEvent& p1,
+              const ALFA_LocRecCorrEvent& p2)
+{
+  assert (p1.getAlgoNum() == p2.getAlgoNum());
+  assert (p1.getPotNum() == p2.getPotNum());
+  assert (p1.getXpositionLHC() == p2.getXpositionLHC());
+  assert (p1.getYpositionLHC() == p2.getYpositionLHC());
+  assert (p1.getZpositionLHC() == p2.getZpositionLHC());
+  assert (p1.getXpositionPot() == p2.getXpositionPot());
+  assert (p1.getYpositionPot() == p2.getYpositionPot());
+  assert (p1.getXpositionStat() == p2.getXpositionStat());
+  assert (p1.getYpositionStat() == p2.getYpositionStat());
+  assert (p1.getXpositionBeam() == p2.getXpositionBeam());
+  assert (p1.getYpositionBeam() == p2.getYpositionBeam());
+}
+
+
+void compare (const ALFA_LocRecCorrEvCollection& p1,
+              const ALFA_LocRecCorrEvCollection& p2)
+{
+  assert (p1.size() == p2.size());
+  for (size_t i=0; i < p1.size(); i++)
+    compare (*p1[i], *p2[i]);
+}
+
+
+void testit (const ALFA_LocRecCorrEvCollection& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_LocRecCorrEvCollectionCnv_p1 cnv;
+  ALFA_LocRecCorrEvCollection_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_LocRecCorrEvCollection trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_LocRecCorrEvCollection trans1;
+  for (int i=0; i < 10; i++) {
+    int o = i*100;
+    trans1.push_back (new ALFA_LocRecCorrEvent
+                      (123+o, 234+o,
+                       10.5+o, 11.5+o, 12.5+o,
+                       13.5+o, 14.5+o,
+                       15.5+o, 16.5+o,
+                       17.5+o, 18.5+o));
+  }
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecCorrEventCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecCorrEventCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..73e159adf4146f544dedf98aeb65572e379988d8
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecCorrEventCnv_p1_test.cxx
@@ -0,0 +1,68 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_LocRecCorrEventCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_LocRecCorrEventCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_LocRecCorrEventCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_LocRecCorrEvent& p1,
+              const ALFA_LocRecCorrEvent& p2)
+{
+  assert (p1.getAlgoNum() == p2.getAlgoNum());
+  assert (p1.getPotNum() == p2.getPotNum());
+  assert (p1.getXpositionLHC() == p2.getXpositionLHC());
+  assert (p1.getYpositionLHC() == p2.getYpositionLHC());
+  assert (p1.getZpositionLHC() == p2.getZpositionLHC());
+  assert (p1.getXpositionPot() == p2.getXpositionPot());
+  assert (p1.getYpositionPot() == p2.getYpositionPot());
+  assert (p1.getXpositionStat() == p2.getXpositionStat());
+  assert (p1.getYpositionStat() == p2.getYpositionStat());
+  assert (p1.getXpositionBeam() == p2.getXpositionBeam());
+  assert (p1.getYpositionBeam() == p2.getYpositionBeam());
+}
+
+
+void testit (const ALFA_LocRecCorrEvent& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_LocRecCorrEventCnv_p1 cnv;
+  ALFA_LocRecCorrEvent_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_LocRecCorrEvent trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_LocRecCorrEvent trans1 (123, 234,
+                               10.5, 11.5, 12.5,
+                               13.5, 14.5,
+                               15.5, 16.5,
+                               17.5, 18.5);
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecCorrODEvCollectionCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecCorrODEvCollectionCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..ce348571e0c077deb8e1a886e5b6fd6bdc42bcf8
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecCorrODEvCollectionCnv_p1_test.cxx
@@ -0,0 +1,77 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_LocRecCorrODEvCollectionCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_LocRecCorrODEvCollectionCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_LocRecCorrODEvCollectionCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_LocRecCorrODEvent& p1,
+              const ALFA_LocRecCorrODEvent& p2)
+{
+  assert (p1.getAlgoNum() == p2.getAlgoNum());
+  assert (p1.getPotNum() == p2.getPotNum());
+  assert (p1.getSide() == p2.getSide());
+  assert (p1.getYpositionLHC() == p2.getYpositionLHC());
+  assert (p1.getZpositionLHC() == p2.getZpositionLHC());
+  assert (p1.getYpositionPot() == p2.getYpositionPot());
+  assert (p1.getYpositionStat() == p2.getYpositionStat());
+  assert (p1.getYpositionBeam() == p2.getYpositionBeam());
+}
+
+
+void compare (const ALFA_LocRecCorrODEvCollection& p1,
+              const ALFA_LocRecCorrODEvCollection& p2)
+{
+  assert (p1.size() == p2.size());
+  for (size_t i=0; i < p1.size(); i++)
+    compare (*p1[i], *p2[i]);
+}
+
+
+void testit (const ALFA_LocRecCorrODEvCollection& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_LocRecCorrODEvCollectionCnv_p1 cnv;
+  ALFA_LocRecCorrODEvCollection_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_LocRecCorrODEvCollection trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_LocRecCorrODEvCollection trans1;
+  for (int i=0; i < 10; i++) {
+    int o = i*100;
+    trans1.push_back (new ALFA_LocRecCorrODEvent
+                      (123+o, 234+o, 345+o,
+                       10.5+o, 11.5+o,
+                       13.5+o, 14.5+o, 15.5+o));
+  }
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecCorrODEventCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecCorrODEventCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..72f739dd16b17668ec0c5a0ec4742183e602adba
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecCorrODEventCnv_p1_test.cxx
@@ -0,0 +1,63 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_LocRecCorrODEventCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_LocRecCorrODEventCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_LocRecCorrODEventCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_LocRecCorrODEvent& p1,
+              const ALFA_LocRecCorrODEvent& p2)
+{
+  assert (p1.getAlgoNum() == p2.getAlgoNum());
+  assert (p1.getPotNum() == p2.getPotNum());
+  assert (p1.getSide() == p2.getSide());
+  assert (p1.getYpositionLHC() == p2.getYpositionLHC());
+  assert (p1.getZpositionLHC() == p2.getZpositionLHC());
+  assert (p1.getYpositionPot() == p2.getYpositionPot());
+  assert (p1.getYpositionStat() == p2.getYpositionStat());
+  assert (p1.getYpositionBeam() == p2.getYpositionBeam());
+}
+
+
+void testit (const ALFA_LocRecCorrODEvent& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_LocRecCorrODEventCnv_p1 cnv;
+  ALFA_LocRecCorrODEvent_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_LocRecCorrODEvent trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_LocRecCorrODEvent trans1 (123, 234, 345,
+                                 10.5, 11.5,
+                                 13.5, 14.5, 15.5);
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecEvCollectionCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecEvCollectionCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..a8e1df4bfe491dbde6dfc4ceb7118bcb2d8217a3
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecEvCollectionCnv_p1_test.cxx
@@ -0,0 +1,80 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_LocRecEvCollectionCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_LocRecEvCollectionCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_LocRecEvCollectionCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_LocRecEvent& p1,
+              const ALFA_LocRecEvent& p2)
+{
+  assert (p1.getAlgoNum() == p2.getAlgoNum());
+  assert (p1.getPotNum() == p2.getPotNum());
+  assert (p1.getXposition() == p2.getXposition());
+  assert (p1.getYposition() == p2.getYposition());
+  assert (p1.getOverU() == p2.getOverU());
+  assert (p1.getOverV() == p2.getOverV());
+  assert (p1.getNumU() == p2.getNumU());
+  assert (p1.getNumV() == p2.getNumV());
+  assert (p1.getFibSel() == p2.getFibSel());
+}
+
+
+void compare (const ALFA_LocRecEvCollection& p1,
+              const ALFA_LocRecEvCollection& p2)
+{
+  assert (p1.size() == p2.size());
+  for (size_t i=0; i < p1.size(); i++)
+    compare (*p1[i], *p2[i]);
+}
+
+
+void testit (const ALFA_LocRecEvCollection& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_LocRecEvCollectionCnv_p1 cnv;
+  ALFA_LocRecEvCollection_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_LocRecEvCollection trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_LocRecEvCollection trans1;
+  for (int i=0; i < 10; i++) {
+    int o = i*100;
+    trans1.push_back (new ALFA_LocRecEvent
+                      (123+o, 234+o,
+                       10.5+o, 11.5+o,
+                       12.5+o, 13.5+o,
+                       345+o, 456+o,
+                       std::vector<int> {5+o, 6+o, 7+o}));
+  }
+
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecEventCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecEventCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..16a65b40137bc0f6fe989a6b13280e75294b7757
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecEventCnv_p1_test.cxx
@@ -0,0 +1,65 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_LocRecEventCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_LocRecEventCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_LocRecEventCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_LocRecEvent& p1,
+              const ALFA_LocRecEvent& p2)
+{
+  assert (p1.getAlgoNum() == p2.getAlgoNum());
+  assert (p1.getPotNum() == p2.getPotNum());
+  assert (p1.getXposition() == p2.getXposition());
+  assert (p1.getYposition() == p2.getYposition());
+  assert (p1.getOverU() == p2.getOverU());
+  assert (p1.getOverV() == p2.getOverV());
+  assert (p1.getNumU() == p2.getNumU());
+  assert (p1.getNumV() == p2.getNumV());
+  assert (p1.getFibSel() == p2.getFibSel());
+}
+
+
+void testit (const ALFA_LocRecEvent& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_LocRecEventCnv_p1 cnv;
+  ALFA_LocRecEvent_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_LocRecEvent trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_LocRecEvent trans1 (123, 234,
+                           10.5, 11.5,
+                           12.5, 13.5,
+                           345, 456,
+                           std::vector<int> {5, 6, 7});
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecODEvCollectionCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecODEvCollectionCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..19152bc3adbe7cf380f0c0f92df38729e2e9ef3c
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecODEvCollectionCnv_p1_test.cxx
@@ -0,0 +1,76 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_LocRecODEvCollectionCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_LocRecODEvCollectionCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_LocRecODEvCollectionCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_LocRecODEvent& p1,
+              const ALFA_LocRecODEvent& p2)
+{
+  assert (p1.getAlgoNum() == p2.getAlgoNum());
+  assert (p1.getPotNum() == p2.getPotNum());
+  assert (p1.getSide() == p2.getSide());
+  assert (p1.getYposition() == p2.getYposition());
+  assert (p1.getOverY() == p2.getOverY());
+  assert (p1.getNumY() == p2.getNumY());
+  assert (p1.getFibSel() == p2.getFibSel());
+}
+
+
+void compare (const ALFA_LocRecODEvCollection& p1,
+              const ALFA_LocRecODEvCollection& p2)
+{
+  assert (p1.size() == p2.size());
+  for (size_t i=0; i < p1.size(); i++)
+    compare (*p1[i], *p2[i]);
+}
+
+
+void testit (const ALFA_LocRecODEvCollection& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_LocRecODEvCollectionCnv_p1 cnv;
+  ALFA_LocRecODEvCollection_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_LocRecODEvCollection trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_LocRecODEvCollection trans1;
+  for (int i=0; i < 10; i++) {
+    int o = i*100;
+    trans1.push_back (new ALFA_LocRecODEvent
+                      (123+o, 234+o, 345+o,
+                       10.5+o, 11.5+o,
+                       543+o,
+                       std::vector<int> {5+o, 6+o, 7+o}));
+  }
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecODEventCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecODEventCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..781bf9d77cdc801b29d01231bc2cf2770babc7be
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_LocRecODEventCnv_p1_test.cxx
@@ -0,0 +1,62 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_LocRecODEventCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_LocRecODEventCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_LocRecODEventCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_LocRecODEvent& p1,
+              const ALFA_LocRecODEvent& p2)
+{
+  assert (p1.getAlgoNum() == p2.getAlgoNum());
+  assert (p1.getPotNum() == p2.getPotNum());
+  assert (p1.getSide() == p2.getSide());
+  assert (p1.getYposition() == p2.getYposition());
+  assert (p1.getOverY() == p2.getOverY());
+  assert (p1.getNumY() == p2.getNumY());
+  assert (p1.getFibSel() == p2.getFibSel());
+}
+
+
+void testit (const ALFA_LocRecODEvent& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_LocRecODEventCnv_p1 cnv;
+  ALFA_LocRecODEvent_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_LocRecODEvent trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_LocRecODEvent trans1 (123, 234, 345,
+                             10.5, 11.5,
+                             543,
+                             std::vector<int> {5, 6, 7});
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_ODDigitCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_ODDigitCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..dcdea80cd7359bfb337a29a993f249fd81a14854
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_ODDigitCnv_p1_test.cxx
@@ -0,0 +1,57 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_ODDigitCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_ODDigitCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_ODDigitCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_ODDigit& p1,
+              const ALFA_ODDigit& p2)
+{
+  assert (p1.getStation() == p2.getStation());
+  assert (p1.getSide()    == p2.getSide());
+  assert (p1.getPlate()   == p2.getPlate());
+  assert (p1.getFiber()   == p2.getFiber());
+}
+
+
+void testit (const ALFA_ODDigit& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_ODDigitCnv_p1 cnv;
+  ALFA_ODDigit_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_ODDigit trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_ODDigit trans1 (123, 234, 345, 456);
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_ODDigitCollectionCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_ODDigitCollectionCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..cd9012adc263323706561f0ed5bb067ac953f43f
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_ODDigitCollectionCnv_p1_test.cxx
@@ -0,0 +1,70 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_ODDigitCollectionCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_ODDigitCollectionCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_ODDigitCollectionCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_ODDigit& p1,
+              const ALFA_ODDigit& p2)
+{
+  assert (p1.getStation() == p2.getStation());
+  assert (p1.getSide()    == p2.getSide());
+  assert (p1.getPlate()   == p2.getPlate());
+  assert (p1.getFiber()   == p2.getFiber());
+}
+
+
+void compare (const ALFA_ODDigitCollection& p1,
+              const ALFA_ODDigitCollection& p2)
+{
+  assert (p1.size() == p2.size());
+  for (size_t i=0; i < p1.size(); i++)
+    compare (*p1[i], *p2[i]);
+}
+
+
+void testit (const ALFA_ODDigitCollection& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_ODDigitCollectionCnv_p1 cnv;
+  ALFA_ODDigitCollection_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_ODDigitCollection trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_ODDigitCollection trans1;
+  for (int i=0; i < 10; i++) {
+    int o = i*100;
+    trans1.push_back (new ALFA_ODDigit (123+o, 234+o, 345+o, 456+o));
+  }
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_ODHitCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_ODHitCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..15a59645c88f24c30279eb209e09b044c975b606
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_ODHitCnv_p1_test.cxx
@@ -0,0 +1,74 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_ODHitCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_ODHitCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_ODHitCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_ODHit& p1,
+              const ALFA_ODHit& p2)
+{
+  assert (p1.GetHitID() == p2.GetHitID());
+  assert (p1.GetParticleEncoding() == p2.GetParticleEncoding());
+  assert (p1.GetKineticEnergy() == p2.GetKineticEnergy());
+  assert (p1.GetEnergyDeposit() == p2.GetEnergyDeposit());
+  assert (p1.GetPreStepX() == p2.GetPreStepX());
+  assert (p1.GetPreStepY() == p2.GetPreStepY());
+  assert (p1.GetPreStepZ() == p2.GetPreStepZ());
+  assert (p1.GetPostStepX() == p2.GetPostStepX());
+  assert (p1.GetPostStepY() == p2.GetPostStepY());
+  assert (p1.GetPostStepZ() == p2.GetPostStepZ());
+  assert (p1.GetGlobalTime() == p2.GetGlobalTime());
+  assert (p1.GetSignFiber() == p2.GetSignFiber());
+  assert (p1.GetPlateNumber() == p2.GetPlateNumber());
+  assert (p1.GetFiberNumber() == p2.GetFiberNumber());
+  assert (p1.GetStationNumber() == p2.GetStationNumber());
+  assert (p1.GetODSide() == p2.GetODSide());
+}
+
+
+void testit (const ALFA_ODHit& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_ODHitCnv_p1 cnv;
+  ALFA_ODHit_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_ODHit trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_ODHit trans1 (123, 234, 345,
+                     10.5, 11.5,
+                     12.5, 13.5, 14.5,
+                     15.5, 16.5, 17.7,
+                     18.5,
+                     456, 1, 567, 678, 789);
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_ODHitCollectionCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_ODHitCollectionCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..7f6513220ecd8b072d451ca5ff598a32d0e1fe71
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_ODHitCollectionCnv_p1_test.cxx
@@ -0,0 +1,88 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_ODHitCollectionCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_ODHitCollectionCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_ODHitCollectionCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_ODHit& p1,
+              const ALFA_ODHit& p2)
+{
+  assert (p1.GetHitID() == p2.GetHitID());
+  assert (p1.GetParticleEncoding() == p2.GetParticleEncoding());
+  assert (p1.GetKineticEnergy() == p2.GetKineticEnergy());
+  assert (p1.GetEnergyDeposit() == p2.GetEnergyDeposit());
+  assert (p1.GetPreStepX() == p2.GetPreStepX());
+  assert (p1.GetPreStepY() == p2.GetPreStepY());
+  assert (p1.GetPreStepZ() == p2.GetPreStepZ());
+  assert (p1.GetPostStepX() == p2.GetPostStepX());
+  assert (p1.GetPostStepY() == p2.GetPostStepY());
+  assert (p1.GetPostStepZ() == p2.GetPostStepZ());
+  assert (p1.GetGlobalTime() == p2.GetGlobalTime());
+  assert (p1.GetSignFiber() == p2.GetSignFiber());
+  assert (p1.GetPlateNumber() == p2.GetPlateNumber());
+  assert (p1.GetFiberNumber() == p2.GetFiberNumber());
+  assert (p1.GetStationNumber() == p2.GetStationNumber());
+  assert (p1.GetODSide() == p2.GetODSide());
+}
+
+
+void compare (const ALFA_ODHitCollection& p1,
+              const ALFA_ODHitCollection& p2)
+{
+  assert (p1.Name() == p2.Name());
+  assert (p1.size() == p2.size());
+  for (size_t i=0; i < p1.size(); i++)
+    compare (p1[i], p2[i]);
+}
+
+
+void testit (const ALFA_ODHitCollection& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_ODHitCollectionCnv_p1 cnv;
+  ALFA_ODHitCollection_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_ODHitCollection trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_ODHitCollection trans1 ("coll");
+  for (int i=0; i < 10; i++) {
+    int o = i*100;
+    trans1.Emplace (123+o, 234+o, 345+o,
+                    10.5+o, 11.5+o,
+                    12.5+o, 13.5+o, 14.5+o,
+                    15.5+o, 16.5+o, 17.7+o,
+                    18.5+o,
+                    456+o, i%2, 567+o, 678+o, 789+o);
+  }
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataCnv_charge_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataCnv_charge_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..a278a44fa4b23a9db05c8c9588c0e3a6c52dd794
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataCnv_charge_p1_test.cxx
@@ -0,0 +1,74 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_RawDataCnv_charge_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_RawDataCnv_charge_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_RawDataCnv_charge_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_RawData_charge& p1,
+              const ALFA_RawData_charge& p2)
+{
+  assert (p1.GetChannelNum_PMF() == p2.GetChannelNum_PMF());
+  assert (p1.GetPMFId_PMF() == p2.GetPMFId_PMF());
+  assert (p1.GetMBId_PMF() == p2.GetMBId_PMF());
+  assert (0 == p2.GetFiberFirmware_PMF());
+  assert (p1.GetEventCount_PMF() == p2.GetEventCount_PMF());
+  //assert (p1.GetChargeHit() == p2.GetChargeHit());
+  assert (p1.Get_bit12() == p2.Get_bit12());
+  assert (p1.ChargeChanVect_number() == p2.ChargeChanVect_number());
+  assert (*p1.dataWords() == *p2.dataWords());
+}
+
+
+void testit (const ALFA_RawData_charge& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_RawDataCnv_charge_p1 cnv;
+  ALFA_RawData_charge_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_RawData_charge trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_RawData_charge trans1 (123);
+  trans1.SetChannelNum_PMF (234);
+  trans1.SetMBId_PMF (345);
+  trans1.SetFiberFirmware_PMF (456);
+  trans1.SetEventCount_PMF (567);
+  trans1.SetChargeChan_PMF (678);
+  std::vector<uint16_t> v;
+  for (int i=0; i<64; i++)
+    v.push_back (200+i);
+  trans1.SetChargeChanVect_PMF (v);
+  trans1.addData (10);
+  trans1.addData (11);
+  trans1.addData (12);
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..1f6d3a56ae003cb10f0e3735abd4e841080893f4
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataCnv_p1_test.cxx
@@ -0,0 +1,72 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_RawDataCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_RawDataCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_RawDataCnv_p1.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_RawData& p1,
+              const ALFA_RawData& p2)
+{
+  assert (p1.GetWordId_PMF() == p2.GetWordId_PMF());
+  assert (p1.GetPMFId_PMF() == p2.GetPMFId_PMF());
+  assert (p1.GetMBId_PMF() == p2.GetMBId_PMF());
+  assert (p1.GetEventCount_PMF() == p2.GetEventCount_PMF());
+  assert (p1.GetMarocHit() == p2.GetMarocHit());
+  assert (p1.Get_bit16() == p2.Get_bit16());
+  assert (p1.Get_bit18() == p2.Get_bit18());
+  assert (p1.Get_error_bit17() == p2.Get_error_bit17());
+  assert (p1.Get_bit26_27() == p2.Get_bit26_27());
+  assert (p1.Get_bit24_27() == p2.Get_bit24_27());
+  assert (*p1.dataWords() == *p2.dataWords());
+}
+
+
+void testit (const ALFA_RawData& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_RawDataCnv_p1 cnv;
+  ALFA_RawData_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_RawData trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_RawData trans1 (123);
+  trans1.SetWordId_PMF (234);
+  trans1.SetMBId_PMF (345);
+  trans1.SetEventCount_PMF (456);
+  trans1.SetMarocChan_PMF (std::vector<uint16_t> {4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19});
+  trans1.Set_error_bit17 (true);
+  trans1.addData (10);
+  trans1.addData (11);
+  trans1.addData (12);
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataCollectionCnv_charge_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataCollectionCnv_charge_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..9afaa587fa858df360f84482ff16307d4dddc300
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataCollectionCnv_charge_p1_test.cxx
@@ -0,0 +1,119 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_RawDataCollectionCnv_charge_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_RawDataCollectionCnv_charge_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_RawDataCollectionCnv_charge_p1.h"
+#include "CxxUtils/make_unique.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_RawData_charge& p1,
+              const ALFA_RawData_charge& p2)
+{
+  assert (p1.GetChannelNum_PMF() == p2.GetChannelNum_PMF());
+  assert (p1.GetPMFId_PMF() == p2.GetPMFId_PMF());
+  assert (p1.GetMBId_PMF() == p2.GetMBId_PMF());
+  assert (0 == p2.GetFiberFirmware_PMF());
+  assert (p1.GetEventCount_PMF() == p2.GetEventCount_PMF());
+  //assert (p1.GetChargeHit() == p2.GetChargeHit());
+  assert (p1.Get_bit12() == p2.Get_bit12());
+  assert (p1.ChargeChanVect_number() == p2.ChargeChanVect_number());
+  assert (*p1.dataWords() == *p2.dataWords());
+}
+
+
+void compare (const ALFA_RawDataCollection_charge& p1,
+              const ALFA_RawDataCollection_charge& p2)
+{
+  assert (p1.size() == p2.size());
+  for (size_t i=0; i < p1.size(); i++)
+    compare (*p1[i], *p2[i]);
+
+  assert (p1.GetMBId_POT() == p2.GetMBId_POT());
+  assert (0 == p2.GetMrodId_POT());
+  assert (p1.GetEventCount_POT() == p2.GetEventCount_POT());
+  assert (p1.GetTimeStamp_POT() == p2.GetTimeStamp_POT());
+  assert (p1.GetBCId_POT() == p2.GetBCId_POT());
+
+#if 0
+  assert (p1.Get_POT_DATA().size() == p2.Get_POT_DATA().size());
+  for (size_t i=0; i < p1.Get_POT_DATA().size(); i++)
+    compare (p1.Get_POT_DATA()[i], p2.Get_POT_DATA()[i]);
+#endif
+  assert (p2.Get_POT_DATA().empty());
+}
+
+
+void testit (const ALFA_RawDataCollection_charge& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_RawDataCollectionCnv_charge_p1 cnv;
+  ALFA_RawDataCollection_charge_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_RawDataCollection_charge trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void init_RawData (ALFA_RawData_charge& r, int o)
+{
+  r.SetChannelNum_PMF (234+o);
+  r.SetMBId_PMF (345+o);
+  r.SetFiberFirmware_PMF (456+o);
+  r.SetEventCount_PMF (567+o);
+  r.SetChargeChan_PMF (678+o);
+  std::vector<uint16_t> v;
+  for (int i=0; i<64; i++)
+    v.push_back (200+i+o);
+  r.SetChargeChanVect_PMF (v);
+  r.addData (10+o);
+  r.addData (11+o);
+  r.addData (12+o);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_RawDataCollection_charge trans1 (1124, 1123);
+  for (int i=0; i < 10; i++) {
+    int o = i*100;
+    auto p = CxxUtils::make_unique<ALFA_RawData_charge> (123+o);
+    init_RawData (*p, o);
+    trans1.push_back (std::move(p));
+  }
+
+  trans1.SetEventCount_POT (1125);
+  trans1.SetTimeStamp_POT (1126);
+  trans1.SetBCId_POT (1127);
+
+  ALFA_RawData_charge r1 (2001);
+  init_RawData (r1, 2000);
+  ALFA_RawData_charge r2 (3001);
+  init_RawData (r2, 3000);
+  trans1.PushBack_POT (r1);
+  trans1.PushBack_POT (r2);
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataCollectionCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataCollectionCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..f30985c2bea8b2530c62ccbc8b8bddd54d24c6ef
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataCollectionCnv_p1_test.cxx
@@ -0,0 +1,127 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_RawDataCollectionCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_RawDataCollectionCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_RawDataCollectionCnv_p1.h"
+#include "CxxUtils/make_unique.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_RawData& p1,
+              const ALFA_RawData& p2)
+{
+  assert (p1.GetWordId_PMF() == p2.GetWordId_PMF());
+  assert (p1.GetPMFId_PMF() == p2.GetPMFId_PMF());
+  assert (p1.GetMBId_PMF() == p2.GetMBId_PMF());
+  assert (p1.GetEventCount_PMF() == p2.GetEventCount_PMF());
+  assert (p1.GetMarocHit() == p2.GetMarocHit());
+  assert (p1.Get_bit16() == p2.Get_bit16());
+  assert (p1.Get_bit18() == p2.Get_bit18());
+  assert (p1.Get_error_bit17() == p2.Get_error_bit17());
+  assert (p1.Get_bit26_27() == p2.Get_bit26_27());
+  assert (p1.Get_bit24_27() == p2.Get_bit24_27());
+  assert (*p1.dataWords() == *p2.dataWords());
+}
+
+
+void compare (const ALFA_RawDataCollection& p1,
+              const ALFA_RawDataCollection& p2)
+{
+  assert (p1.size() == p2.size());
+  for (size_t i=0; i < p1.size(); i++)
+    compare (*p1[i], *p2[i]);
+
+  assert (p1.GetMBId_POT() == p2.GetMBId_POT());
+  assert (0 == p2.GetMrodId_POT());
+  assert (p1.GetEventCount_POT() == p2.GetEventCount_POT());
+  assert (p1.Get_pattern_POT() == p2.Get_pattern_POT());
+  assert (p1.Get_scaler_POT() == p2.Get_scaler_POT());
+  assert (p1.Get_ADC1_POT() == p2.Get_ADC1_POT());
+  assert (p1.Get_ADC2_POT() == p2.Get_ADC2_POT());
+  assert (p1.GetTrigSyncErr() == p2.GetTrigSyncErr());
+
+#if 0  
+  assert (p1.Get_POT_DATA().size() == p2.Get_POT_DATA().size());
+  for (size_t i=0; i < p1.Get_POT_DATA().size(); i++)
+    compare (p1.Get_POT_DATA()[i], p2.Get_POT_DATA()[i]);
+#endif
+  assert (p2.Get_POT_DATA().empty());
+}
+
+
+void testit (const ALFA_RawDataCollection& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_RawDataCollectionCnv_p1 cnv;
+  ALFA_RawDataCollection_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_RawDataCollection trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void init_RawData (ALFA_RawData& r, int o)
+{
+  r.SetWordId_PMF (234+o);
+  r.SetMBId_PMF (345+o);
+  r.SetEventCount_PMF (456+o);
+  std::vector<uint16_t> v;
+  for (int k=0; k<16; k++)
+    v.push_back (4+k+o);
+  r.SetMarocChan_PMF (v);
+  r.Set_error_bit17 (o%200);
+  r.addData (10+o);
+  r.addData (11+o);
+  r.addData (12+o);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_RawDataCollection trans1 (1123);
+  for (int i=0; i < 10; i++) {
+    int o = i*100;
+    auto p = CxxUtils::make_unique<ALFA_RawData> (123+o);
+    init_RawData (*p, o);
+    trans1.push_back (std::move(p));
+  }
+
+  trans1.SetMrodId_POT (1124);
+  trans1.SetEventCount_POT (1125);
+  trans1.Set_pattern_POT (std::vector<bool> {true, false, false, true});
+  trans1.Set_scaler_POT (1126);
+  trans1.Set_ADC1_POT (1127);
+  trans1.Set_ADC1_POT (1128);
+  trans1.SetTrigSyncErr (1129);
+
+  ALFA_RawData r1 (2001);
+  init_RawData (r1, 2000);
+  ALFA_RawData r2 (3001);
+  init_RawData (r2, 3000);
+  trans1.PushBack_POT (r1);
+  trans1.PushBack_POT (r2);
+    
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataContainerCnv_charge_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataContainerCnv_charge_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..88a5ac0b3dee1b8cde5426583a85686e5c0c1a81
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataContainerCnv_charge_p1_test.cxx
@@ -0,0 +1,150 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_RawDataContainerCnv_charge_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_RawDataContainerCnv_charge_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_RawDataContainerCnv_charge_p1.h"
+#include "CxxUtils/make_unique.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_RawData_charge& p1,
+              const ALFA_RawData_charge& p2)
+{
+  assert (p1.GetChannelNum_PMF() == p2.GetChannelNum_PMF());
+  assert (p1.GetPMFId_PMF() == p2.GetPMFId_PMF());
+  assert (p1.GetMBId_PMF() == p2.GetMBId_PMF());
+  assert (0 == p2.GetFiberFirmware_PMF());
+  assert (p1.GetEventCount_PMF() == p2.GetEventCount_PMF());
+  //assert (p1.GetChargeHit() == p2.GetChargeHit());
+  assert (p1.Get_bit12() == p2.Get_bit12());
+  assert (p1.ChargeChanVect_number() == p2.ChargeChanVect_number());
+  assert (*p1.dataWords() == *p2.dataWords());
+}
+
+
+void compare (const ALFA_RawDataCollection_charge& p1,
+              const ALFA_RawDataCollection_charge& p2)
+{
+  assert (p1.size() == p2.size());
+  for (size_t i=0; i < p1.size(); i++)
+    compare (*p1[i], *p2[i]);
+
+  assert (p1.GetMBId_POT() == p2.GetMBId_POT());
+  assert (0 == p2.GetMrodId_POT());
+  assert (p1.GetEventCount_POT() == p2.GetEventCount_POT());
+  assert (p1.GetTimeStamp_POT() == p2.GetTimeStamp_POT());
+  assert (p1.GetBCId_POT() == p2.GetBCId_POT());
+
+#if 0
+  assert (p1.Get_POT_DATA().size() == p2.Get_POT_DATA().size());
+  for (size_t i=0; i < p1.Get_POT_DATA().size(); i++)
+    compare (p1.Get_POT_DATA()[i], p2.Get_POT_DATA()[i]);
+#endif
+  assert (p2.Get_POT_DATA().empty());
+}
+
+
+void compare (const ALFA_RawDataContainer_charge& p1,
+              const ALFA_RawDataContainer_charge& p2)
+{
+  assert (p1.size() == p2.size());
+  for (size_t i=0; i < p1.size(); i++)
+    compare (*p1[i], *p2[i]);
+
+  assert (p1.is_FullEVmarker() == p2.is_FullEVmarker());
+  assert (p1.is_ROBmarker() == p2.is_ROBmarker());
+  assert (p1.is_RODmarker() == p2.is_RODmarker());
+  assert (p1.subdetId() == p2.subdetId());
+  assert (p1.mrodId() == p2.mrodId());
+  assert (p1.lvl1Id() == p2.lvl1Id());
+  assert (p1.ecrId() == p2.ecrId());
+  assert (p1.bcId() == p2.bcId());
+  assert (p1.trigtypeId() == p2.trigtypeId());
+  assert (p1.DetEventType() == p2.DetEventType());
+}
+
+
+void testit (const ALFA_RawDataContainer_charge& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_RawDataContainerCnv_charge_p1 cnv;
+  ALFA_RawDataContainer_charge_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_RawDataContainer_charge trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void init_RawData (ALFA_RawData_charge& r, int o)
+{
+  r.SetChannelNum_PMF (234+o);
+  r.SetMBId_PMF (345+o);
+  r.SetFiberFirmware_PMF (456+o);
+  r.SetEventCount_PMF (567+o);
+  r.SetChargeChan_PMF (678+o);
+  std::vector<uint16_t> v;
+  for (int i=0; i<64; i++)
+    v.push_back (200+i+o);
+  r.SetChargeChanVect_PMF (v);
+  r.addData (10+o);
+  r.addData (11+o);
+  r.addData (12+o);
+}
+
+
+void init_RawDataCollection (ALFA_RawDataCollection_charge& c, int o)
+{
+  for (int i=0; i < 10; i++) {
+    int oo = o + i*100;
+    auto p = CxxUtils::make_unique<ALFA_RawData_charge> (123+oo);
+    init_RawData (*p, oo);
+    c.push_back (std::move(p));
+  }
+
+  c.SetEventCount_POT (1125+o);
+  c.SetTimeStamp_POT (1126+o);
+  c.SetBCId_POT (1127+o);
+
+  ALFA_RawData_charge r1 (2001+o);
+  init_RawData (r1, 2000+o);
+  ALFA_RawData_charge r2 (3001+o);
+  init_RawData (r2, 3000+o);
+  c.PushBack_POT (r1);
+  c.PushBack_POT (r2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_RawDataContainer_charge trans1;
+  for (int i=0; i < 10; i++) {
+    int o = i*100;
+    auto p = CxxUtils::make_unique<ALFA_RawDataCollection_charge> (1186+o);
+    init_RawDataCollection (*p, o);
+    trans1.push_back (std::move(p));
+  }
+
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}
diff --git a/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataContainerCnv_p1_test.cxx b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataContainerCnv_p1_test.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..78c42a31bb26ff53a8d052b795c731d2304629b3
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_EventCnv/ALFA_EventTPCnv/test/ALFA_RawDataContainerCnv_p1_test.cxx
@@ -0,0 +1,173 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// $Id$
+/**
+ * @file ALFA_EventTPCnv/test/ALFA_RawDataContainerCnv_p1_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Mar, 2016
+ * @brief Tests for ALFA_RawDataContainerCnv_p1.
+ */
+
+
+#undef NDEBUG
+#include "ALFA_EventTPCnv/ALFA_RawDataContainerCnv_p1.h"
+#include "CxxUtils/make_unique.h"
+#include <cassert>
+#include <iostream>
+
+
+void compare (const ALFA_RawData& p1,
+              const ALFA_RawData& p2)
+{
+  assert (p1.GetWordId_PMF() == p2.GetWordId_PMF());
+  assert (p1.GetPMFId_PMF() == p2.GetPMFId_PMF());
+  assert (p1.GetMBId_PMF() == p2.GetMBId_PMF());
+  assert (p1.GetEventCount_PMF() == p2.GetEventCount_PMF());
+  assert (p1.GetMarocHit() == p2.GetMarocHit());
+  assert (p1.Get_bit16() == p2.Get_bit16());
+  assert (p1.Get_bit18() == p2.Get_bit18());
+  assert (p1.Get_error_bit17() == p2.Get_error_bit17());
+  assert (p1.Get_bit26_27() == p2.Get_bit26_27());
+  assert (p1.Get_bit24_27() == p2.Get_bit24_27());
+  assert (*p1.dataWords() == *p2.dataWords());
+}
+
+
+void compare (const ALFA_RawDataCollection& p1,
+              const ALFA_RawDataCollection& p2)
+{
+  assert (p1.size() == p2.size());
+  for (size_t i=0; i < p1.size(); i++)
+    compare (*p1[i], *p2[i]);
+
+  assert (p1.GetMBId_POT() == p2.GetMBId_POT());
+  assert (0 == p2.GetMrodId_POT());
+  assert (p1.GetEventCount_POT() == p2.GetEventCount_POT());
+  assert (p1.Get_pattern_POT() == p2.Get_pattern_POT());
+  assert (p1.Get_scaler_POT() == p2.Get_scaler_POT());
+  assert (p1.Get_ADC1_POT() == p2.Get_ADC1_POT());
+  assert (p1.Get_ADC2_POT() == p2.Get_ADC2_POT());
+  assert (p1.GetTrigSyncErr() == p2.GetTrigSyncErr());
+
+#if 0  
+  assert (p1.Get_POT_DATA().size() == p2.Get_POT_DATA().size());
+  for (size_t i=0; i < p1.Get_POT_DATA().size(); i++)
+    compare (p1.Get_POT_DATA()[i], p2.Get_POT_DATA()[i]);
+#endif
+  assert (p2.Get_POT_DATA().empty());
+}
+
+
+void compare (const ALFA_RawDataContainer& p1,
+              const ALFA_RawDataContainer& p2)
+{
+  assert (p1.size() == p2.size());
+  for (size_t i=0; i < p1.size(); i++)
+    compare (*p1[i], *p2[i]);
+
+  assert (p1.is_FullEVmarker() == p2.is_FullEVmarker());
+  assert (p1.is_ROBmarker() == p2.is_ROBmarker());
+  assert (p1.is_RODmarker() == p2.is_RODmarker());
+  assert (p1.subdetId() == p2.subdetId());
+  assert (p1.mrodId() == p2.mrodId());
+  assert (p1.lvl1Id() == p2.lvl1Id());
+  assert (p1.ecrId() == p2.ecrId());
+  assert (p1.bcId() == p2.bcId());
+  assert (p1.trigtypeId() == p2.trigtypeId());
+  assert (p1.DetEventType() == p2.DetEventType());
+  assert (p1.GetTimeStamp() == p2.GetTimeStamp());
+  assert (p1.GetTimeStampns() == p2.GetTimeStampns());
+  assert (p1.GetLumiBlock() == p2.GetLumiBlock());
+  assert (p1.GetBCId() == p2.GetBCId());
+  assert (p1.GetLvl1Pattern_POT() == p2.GetLvl1Pattern_POT());
+  assert (p1.GetLvl2Pattern_POT() == p2.GetLvl2Pattern_POT());
+  assert (p1.GetEFPattern_POT() == p2.GetEFPattern_POT());
+}
+
+
+void testit (const ALFA_RawDataContainer& trans1)
+{
+  MsgStream log (0, "test");
+  ALFA_RawDataContainerCnv_p1 cnv;
+  ALFA_RawDataContainer_p1 pers;
+  cnv.transToPers (&trans1, &pers, log);
+  ALFA_RawDataContainer trans2;
+  cnv.persToTrans (&pers, &trans2, log);
+
+  compare (trans1, trans2);
+}
+
+
+void init_RawData (ALFA_RawData& r, int o)
+{
+  r.SetWordId_PMF (234+o);
+  r.SetMBId_PMF (345+o);
+  r.SetEventCount_PMF (456+o);
+  std::vector<uint16_t> v;
+  for (int k=0; k<16; k++)
+    v.push_back (4+k+o);
+  r.SetMarocChan_PMF (v);
+  r.Set_error_bit17 (o%200);
+  r.addData (10+o);
+  r.addData (11+o);
+  r.addData (12+o);
+}
+
+
+void init_RawDataCollection (ALFA_RawDataCollection& c, int o)
+{
+  for (int i=0; i < 10; i++) {
+    int oo = o + i*100;
+    auto p = CxxUtils::make_unique<ALFA_RawData> (123+oo);
+    init_RawData (*p, oo);
+    c.push_back (std::move(p));
+  }
+
+  c.SetMrodId_POT (1124+o);
+  c.SetEventCount_POT (1125+o);
+  c.Set_pattern_POT (std::vector<bool> {true, false, false, true});
+  c.Set_scaler_POT (1126+o);
+  c.Set_ADC1_POT (1127+o);
+  c.Set_ADC1_POT (1128+o);
+  c.SetTrigSyncErr (1129+o);
+
+  ALFA_RawData r1 (2001+o);
+  init_RawData (r1, 2000+o);
+  ALFA_RawData r2 (3001+o);
+  init_RawData (r2, 3000+o);
+  c.PushBack_POT (r1);
+  c.PushBack_POT (r2);
+}
+
+
+void test1()
+{
+  std::cout << "test1\n";
+
+  ALFA_RawDataContainer trans1;
+  for (int i=0; i < 10; i++) {
+    int o = i*100;
+    auto p = CxxUtils::make_unique<ALFA_RawDataCollection> (1186+o);
+    init_RawDataCollection (*p, o);
+    trans1.push_back (std::move(p));
+  }
+
+  trans1.SetTimeStamp (1166);
+  trans1.SetTimeStampns (1165);
+  trans1.SetLumiBlock (1164);
+  trans1.SetBCId (1163);
+  trans1.SetLvl1Pattern (std::vector<bool> {true, false, true, false});
+  trans1.SetLvl2Pattern (std::vector<bool> {false, true, true, false});
+  trans1.SetEFPattern (std::vector<bool> {false, true, false, true});
+
+  testit (trans1);
+}
+
+
+int main()
+{
+  test1();
+  return 0;
+}