diff --git a/ForwardDetectors/LUCID/LUCID_SimUtils/LUCID_SimEvent/src/LUCID_SimHit.cxx b/ForwardDetectors/LUCID/LUCID_SimUtils/LUCID_SimEvent/src/LUCID_SimHit.cxx
index bd05ba42a155646115705f8a7553838bc192bce7..170974961d767a149fe7fb5e424676376d964e97 100644
--- a/ForwardDetectors/LUCID/LUCID_SimUtils/LUCID_SimEvent/src/LUCID_SimHit.cxx
+++ b/ForwardDetectors/LUCID/LUCID_SimUtils/LUCID_SimEvent/src/LUCID_SimHit.cxx
@@ -42,7 +42,7 @@ LUCID_SimHit::LUCID_SimHit(short tubeID,
 
   m_tubeID       (tubeID),
   m_pdgCode      (pdgCode),
-  m_partLink     (truthBarcode, 0, HepMcParticleLink::IS_EVENTNUM, HepMcParticleLink::IS_BARCODE), // FIXME barcode-based
+  m_partLink     (truthBarcode, 0, HepMcParticleLink::IS_POSITION, HepMcParticleLink::IS_BARCODE), // FIXME barcode-based
   m_genVolume    (genVolume),
   m_stepStartPosX(stepStartPosX),
   m_stepStartPosY(stepStartPosY),
diff --git a/InnerDetector/InDetG4/BCM_G4_SD/test/BCMSensorSD_gtest.cxx b/InnerDetector/InDetG4/BCM_G4_SD/test/BCMSensorSD_gtest.cxx
index dde9707ded36171d08e18aa9930e34b4e4963927..2ede81221094d7cbb1525f17cafa12794fd06a12 100644
--- a/InnerDetector/InDetG4/BCM_G4_SD/test/BCMSensorSD_gtest.cxx
+++ b/InnerDetector/InDetG4/BCM_G4_SD/test/BCMSensorSD_gtest.cxx
@@ -100,7 +100,7 @@ TEST_F( BCMSensorSDtest, ProcessHits )
   P2[SiHit::xDep] = 0;
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   SiHitCollection* a = sd2.m_HitColl.ptr();
   ASSERT_EQ(a->begin()->localStartPosition(), P1); //test the localStartPosition value of the Hit just generated by the member function ProcessHits, and it should be P1 based on my setting. The same below
@@ -150,7 +150,7 @@ TEST_F( BCMSensorSDtest, AddHit )
   P2[SiHit::xDep] = 0;
   
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
   
   SiHitCollection* a = sd3.m_HitColl.ptr();
   ASSERT_EQ(a->begin()->localStartPosition(), P1); //test the localStartPosition value of the Hit added by the member function AddHit, and it should be 1 because of my setting. the same below
diff --git a/InnerDetector/InDetG4/BLM_G4_SD/test/BLMSensorSD_gtest.cxx b/InnerDetector/InDetG4/BLM_G4_SD/test/BLMSensorSD_gtest.cxx
index b8725e9dc216bffcdfb1827c7bfb2f0743a0f7c1..d889e4d7e5d7a4f4103836e65180e07fb450482e 100644
--- a/InnerDetector/InDetG4/BLM_G4_SD/test/BLMSensorSD_gtest.cxx
+++ b/InnerDetector/InDetG4/BLM_G4_SD/test/BLMSensorSD_gtest.cxx
@@ -105,7 +105,7 @@ TEST_F( BLMSensorSDtest, ProcessHits )
   P2[SiHit::xDep] = 0;
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   SiHitCollection* a = sd2.m_HitColl.ptr();
   ASSERT_EQ(a->begin()->localStartPosition(), P1); //test the localStartPosition value of the Hit generated by the member function ProcessHits and stored in the smart pointer m_HitColl, and it should be P1 based on the setting. The same below
@@ -154,7 +154,7 @@ TEST_F( BLMSensorSDtest, AddHit )
   P2[SiHit::xDep] = 0;
   
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
   
   SiHitCollection* a = sd3.m_HitColl.ptr();
   ASSERT_EQ(a->begin()->localStartPosition(), P1); //test the localStartPosition value of the Hit added by the member function AddHit, and it should be P1 based on the setting. The same below
diff --git a/InnerDetector/InDetG4/PixelG4_SD/test/PixelSensorGmxSD_gtest.cxx b/InnerDetector/InDetG4/PixelG4_SD/test/PixelSensorGmxSD_gtest.cxx
index 3c1fb5edc32982dbaa60818692a13d6438c590eb..6c62cf16f651c8d5d03997535b78a8d75f9d58c2 100644
--- a/InnerDetector/InDetG4/PixelG4_SD/test/PixelSensorGmxSD_gtest.cxx
+++ b/InnerDetector/InDetG4/PixelG4_SD/test/PixelSensorGmxSD_gtest.cxx
@@ -100,7 +100,7 @@ TEST_F( PixelSensorGmxSDtest, ProcessHits )
   P2[SiHit::xDep] = 0;
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   SiHitCollection* a = sd2.m_HitColl.ptr();
   ASSERT_EQ(a->begin()->localStartPosition(), P1); //test the localStartPosition value of the Hit generated by the member function and stored in the smart pointer, and it should be P1 based on the setting. The same below
@@ -149,7 +149,7 @@ TEST_F( PixelSensorGmxSDtest, AddHit )
   P2[SiHit::xDep] = 0;
   
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
   
   SiHitCollection* a = sd3.m_HitColl.ptr();
   ASSERT_EQ(a->begin()->localStartPosition(), P1); //test the localStartPosition value of the Hit added by the member function AddHit and also stored in the smart pointer m_HitColl, and it should be 1 based the setting. The same below
diff --git a/InnerDetector/InDetG4/PixelG4_SD/test/PixelSensorSD_gtest.cxx b/InnerDetector/InDetG4/PixelG4_SD/test/PixelSensorSD_gtest.cxx
index c06a5ce23e642c1607bd5860e3b8bdd287eb2d10..35d73e7dd26d77a4289f8ac83b66b711d1b87ae1 100644
--- a/InnerDetector/InDetG4/PixelG4_SD/test/PixelSensorSD_gtest.cxx
+++ b/InnerDetector/InDetG4/PixelG4_SD/test/PixelSensorSD_gtest.cxx
@@ -100,7 +100,7 @@ TEST_F( PixelSensorSDtest, ProcessHits )
   P2[SiHit::xDep] = 0;
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   SiHitCollection* a = sd2.m_HitColl.ptr();
   ASSERT_EQ(a->begin()->localStartPosition(), P1); //test the localStartPosition value of the Hit generated by the member function and stored in the smart pointer, and it should be P1 based on the setting. The same below
@@ -149,7 +149,7 @@ TEST_F( PixelSensorSDtest, AddHit )
   P2[SiHit::xDep] = 0;
   
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
   
   SiHitCollection* a = sd3.m_HitColl.ptr();
   ASSERT_EQ(a->begin()->localStartPosition(), P1); //test the localStartPosition value of the Hit added by the member function AddHit and also stored in the smart pointer m_HitColl, and it should be 1 based the setting. The same below
diff --git a/InnerDetector/InDetG4/SCT_G4_SD/test/SctSensorSD_gtest.cxx b/InnerDetector/InDetG4/SCT_G4_SD/test/SctSensorSD_gtest.cxx
index 11b8a254b8a3f2eae6e449a90aa5125182a1de18..295e5ab5ac97748437df09437233478a644f45b7 100644
--- a/InnerDetector/InDetG4/SCT_G4_SD/test/SctSensorSD_gtest.cxx
+++ b/InnerDetector/InDetG4/SCT_G4_SD/test/SctSensorSD_gtest.cxx
@@ -99,7 +99,7 @@ TEST_F( SctSensorSDtest, ProcessHits )
   P2[SiHit::xDep] = 0;
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   SiHitCollection* a = sd2.m_HitColl.ptr();
   ASSERT_EQ(a->begin()->localStartPosition(), P1); //test if the localStartPosition value of the Hit generated by this member function is right, the same below
@@ -192,7 +192,7 @@ TEST_F( SctSensorSDtest, AddHit )
   P2[SiHit::xDep] = 0;
   
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
   
   SiHitCollection* a = sd4.m_HitColl.ptr();
   ASSERT_EQ(a->begin()->localStartPosition(), P1); //test the localStartPosition value of the Hit generated by the member function AddHit, the same below
diff --git a/InnerDetector/InDetG4/SCT_G4_SD/test/SctSensor_CTB_gtest.cxx b/InnerDetector/InDetG4/SCT_G4_SD/test/SctSensor_CTB_gtest.cxx
index ae671f3c02950bb17c1513b0b9a5974cf14f770c..e3f615a068ede1131e0b042360f420acf69f8dc1 100644
--- a/InnerDetector/InDetG4/SCT_G4_SD/test/SctSensor_CTB_gtest.cxx
+++ b/InnerDetector/InDetG4/SCT_G4_SD/test/SctSensor_CTB_gtest.cxx
@@ -100,7 +100,7 @@ TEST_F( SctSensor_CTBtest, ProcessHits )
   P2[SiHit::xDep] = 0;
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   SiHitCollection* a = sd2.m_HitColl.ptr();
   ASSERT_EQ(a->begin()->localStartPosition(), P1); //test the localStartPosition value of the Hit generated by the member function ProcessHits, and it should be P1 according to my setting, the same below
@@ -148,7 +148,7 @@ TEST_F( SctSensor_CTBtest, AddHit )
   P2[SiHit::xDep] = 0;
   
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
   
   SiHitCollection* a = sd4.m_HitColl.ptr();
   ASSERT_EQ(a->begin()->localStartPosition(), P1); //test the localStartPosition value of the Hit added by the member function AddHit, and it should be P1 based on the setting, the same below
diff --git a/MuonSpectrometer/MuonG4/MuonG4SD/test/CSCSensitiveDetectorCosmics_gtest.cxx b/MuonSpectrometer/MuonG4/MuonG4SD/test/CSCSensitiveDetectorCosmics_gtest.cxx
index a500c2bb0128c8b01770dc0d2fc866e313a32cd0..07da26fc783f190041877df02948830db90dc971 100644
--- a/MuonSpectrometer/MuonG4/MuonG4SD/test/CSCSensitiveDetectorCosmics_gtest.cxx
+++ b/MuonSpectrometer/MuonG4/MuonG4SD/test/CSCSensitiveDetectorCosmics_gtest.cxx
@@ -82,7 +82,7 @@ TEST_F ( CSCSensitiveDetectorCosmicstest, ProcessHits )
   sd2.ProcessHits(&sp, &th );//invoke the tested member function
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   CSCSimHitCollection* a = sd2.m_myCSCHitColl.ptr();
   ASSERT_EQ(a->begin()->CSCid(), 234691);//test if the CSCid value of the Hit generated by this member function is right, the same below
diff --git a/MuonSpectrometer/MuonG4/MuonG4SD/test/CSCSensitiveDetector_gtest.cxx b/MuonSpectrometer/MuonG4/MuonG4SD/test/CSCSensitiveDetector_gtest.cxx
index 4491331cc97abf2ec4d3cad47fa970c3a0a60390..486740dc13e16bbb6ce9d931490afda812ad7f5f 100644
--- a/MuonSpectrometer/MuonG4/MuonG4SD/test/CSCSensitiveDetector_gtest.cxx
+++ b/MuonSpectrometer/MuonG4/MuonG4SD/test/CSCSensitiveDetector_gtest.cxx
@@ -91,7 +91,7 @@ TEST_F ( CSCSensitiveDetectortest, ProcessHits )
   sd2.ProcessHits(&sp, &th );//invoke the tested member function
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   CSCSimHitCollection* a = sd2.m_myCSCHitColl.ptr();
   ASSERT_EQ(a->begin()->globalTime(), 0.5); //test if the globalTime value of the Hit generated by this member function is right, the same below
diff --git a/MuonSpectrometer/MuonG4/MuonG4SD/test/GenericMuonSensitiveDetector_gtest.cxx b/MuonSpectrometer/MuonG4/MuonG4SD/test/GenericMuonSensitiveDetector_gtest.cxx
index 1932898db9f45599fa845e9b52d274c14c1055ab..a61a1fdfae0cd758658321d34e5227af83457e5e 100644
--- a/MuonSpectrometer/MuonG4/MuonG4SD/test/GenericMuonSensitiveDetector_gtest.cxx
+++ b/MuonSpectrometer/MuonG4/MuonG4SD/test/GenericMuonSensitiveDetector_gtest.cxx
@@ -82,7 +82,7 @@ TEST_F ( GenericMuonSensitiveDetectortest, ProcessHits )
   sd2.ProcessHits(&sp, &th );
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   GenericMuonSimHitCollection* a = sd2.m_GenericMuonHitCollection.ptr();
   ASSERT_EQ(a->begin()->GenericId(),0);//test if the HitID value of the Hit generated by this member function is right, the same below
diff --git a/MuonSpectrometer/MuonG4/MuonG4SD/test/MDTSensitiveDetectorCosmics_gtest.cxx b/MuonSpectrometer/MuonG4/MuonG4SD/test/MDTSensitiveDetectorCosmics_gtest.cxx
index eb0f58d7d9181dedb721a52e9e4c84265d0f2f33..b80f0cf549f5b0e08e15c62a00bbdd106e3b4f7e 100644
--- a/MuonSpectrometer/MuonG4/MuonG4SD/test/MDTSensitiveDetectorCosmics_gtest.cxx
+++ b/MuonSpectrometer/MuonG4/MuonG4SD/test/MDTSensitiveDetectorCosmics_gtest.cxx
@@ -246,7 +246,7 @@ TEST_F ( MDTSensitiveDetectorCosmicstest, ProcessHits )
   sd2.ProcessHits(&sp, &th );//invoke the memberfunction that is being tested
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   MDTSimHitCollection* a = sd2.m_MDTHitColl.ptr();
   ASSERT_EQ(a->begin()->MDTid(), 6395024); //test if the MDTid value of the Hit generated by this member function is right, the same below
diff --git a/MuonSpectrometer/MuonG4/MuonG4SD/test/MDTSensitiveDetector_gtest.cxx b/MuonSpectrometer/MuonG4/MuonG4SD/test/MDTSensitiveDetector_gtest.cxx
index 2133cb36a01fcdb384ca57ff9321ccd3687168ec..75aaeceeeee6dfade8daf15e72c55ba39e9da25c 100644
--- a/MuonSpectrometer/MuonG4/MuonG4SD/test/MDTSensitiveDetector_gtest.cxx
+++ b/MuonSpectrometer/MuonG4/MuonG4SD/test/MDTSensitiveDetector_gtest.cxx
@@ -247,7 +247,7 @@ TEST_F ( MDTSensitiveDetectortest, ProcessHits )
   sd2.ProcessHits(&sp, &th );
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   MDTSimHitCollection* a = sd2.m_MDTHitColl.ptr();
   ASSERT_EQ(a->begin()->MDTid(), 35753088); //test if the MDTid value of the Hit generated by this member function is right, the same below
diff --git a/MuonSpectrometer/MuonG4/MuonG4SD/test/MicromegasSensitiveDetector_gtest.cxx b/MuonSpectrometer/MuonG4/MuonG4SD/test/MicromegasSensitiveDetector_gtest.cxx
index a8626ff06c4e874afa937942f50f2211b3bbf206..29be305012493951ab6ad58ab90722dbdc0bb999 100644
--- a/MuonSpectrometer/MuonG4/MuonG4SD/test/MicromegasSensitiveDetector_gtest.cxx
+++ b/MuonSpectrometer/MuonG4/MuonG4SD/test/MicromegasSensitiveDetector_gtest.cxx
@@ -171,7 +171,7 @@ TEST_F( MicromegasSensitiveDetectortest, ProcessHits )
   sd2.ProcessHits(&sp, &th );//invoke the tested member function
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   MMSimHitCollection* a = sd2.m_MMSimHitCollection.ptr();
   ASSERT_EQ(a->begin()->MMId(), 528404);//test if the MMId alue of the Hit generated by this member function is right, the same below
diff --git a/MuonSpectrometer/MuonG4/MuonG4SD/test/RPCSensitiveDetectorCosmics_gtest.cxx b/MuonSpectrometer/MuonG4/MuonG4SD/test/RPCSensitiveDetectorCosmics_gtest.cxx
index 68bcd381599240be61799ae98200110d2860003d..814a9a066ef4a8dce72c3140b4a836171e0e008a 100644
--- a/MuonSpectrometer/MuonG4/MuonG4SD/test/RPCSensitiveDetectorCosmics_gtest.cxx
+++ b/MuonSpectrometer/MuonG4/MuonG4SD/test/RPCSensitiveDetectorCosmics_gtest.cxx
@@ -82,7 +82,7 @@ TEST_F ( RPCSensitiveDetectorCosmicstest, ProcessHits )
   sd2.ProcessHits(&sp, &th );//invoke the tested member function
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   RPCSimHitCollection* a = sd2.m_myRPCHitColl.ptr();
 
diff --git a/MuonSpectrometer/MuonG4/MuonG4SD/test/RPCSensitiveDetector_gtest.cxx b/MuonSpectrometer/MuonG4/MuonG4SD/test/RPCSensitiveDetector_gtest.cxx
index 01084b54e8727526865f58e451f95563c198b532..0a2de9d9932d7fb58b3313c61f31e9044b52c488 100644
--- a/MuonSpectrometer/MuonG4/MuonG4SD/test/RPCSensitiveDetector_gtest.cxx
+++ b/MuonSpectrometer/MuonG4/MuonG4SD/test/RPCSensitiveDetector_gtest.cxx
@@ -83,7 +83,7 @@ TEST_F ( RPCSensitiveDetectortest, ProcessHits )
   sd2.ProcessHits(&sp, &th );//invoke the tested member function
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   RPCSimHitCollection* a = sd2.m_myRPCHitColl.ptr();
 
diff --git a/MuonSpectrometer/MuonG4/MuonG4SD/test/TGCSensitiveDetectorCosmics_gtest.cxx b/MuonSpectrometer/MuonG4/MuonG4SD/test/TGCSensitiveDetectorCosmics_gtest.cxx
index b12e359f0f8c6d2dac7bc36d475743279c3b3f6b..b08c5f2a34b9e2ade07d6ce9deff399b35294391 100644
--- a/MuonSpectrometer/MuonG4/MuonG4SD/test/TGCSensitiveDetectorCosmics_gtest.cxx
+++ b/MuonSpectrometer/MuonG4/MuonG4SD/test/TGCSensitiveDetectorCosmics_gtest.cxx
@@ -82,7 +82,7 @@ TEST_F( TGCSensitiveDetectorCosmicstest, ProcessHits )
   sd2.ProcessHits(&sp, &th );//invoke the tested member function
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   TGCSimHitCollection* a = sd2.m_myTGCHitColl.ptr();
   ASSERT_EQ(a->begin()->TGCid(), 1456690); //test if the TGCid value of the Hit generated by this member function is right, the same below
diff --git a/MuonSpectrometer/MuonG4/MuonG4SD/test/TGCSensitiveDetector_gtest.cxx b/MuonSpectrometer/MuonG4/MuonG4SD/test/TGCSensitiveDetector_gtest.cxx
index 5a6c8e81e7ba2c20468866a8b9efa0d662812929..3bd795b1328b9526e89ae16a909da32730c9b82d 100644
--- a/MuonSpectrometer/MuonG4/MuonG4SD/test/TGCSensitiveDetector_gtest.cxx
+++ b/MuonSpectrometer/MuonG4/MuonG4SD/test/TGCSensitiveDetector_gtest.cxx
@@ -82,7 +82,7 @@ TEST_F ( TGCSensitiveDetectortest, ProcessHits )
   sd2.ProcessHits(&sp, &th );//invoke the tested member function
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   TGCSimHitCollection* a = sd2.m_myTGCHitColl.ptr();
   ASSERT_EQ(a->begin()->TGCid(), 1456690); //test if the TGCid value of the Hit generated by this member function is right, the same below
diff --git a/MuonSpectrometer/MuonG4/MuonG4SD/test/sTGCSensitiveDetector_gtest.cxx b/MuonSpectrometer/MuonG4/MuonG4SD/test/sTGCSensitiveDetector_gtest.cxx
index a9aa46a057e3827825816f778df56de51b9a1ed6..9dd0d7630901b4a4eaa6fe9009856d55b3df08b7 100644
--- a/MuonSpectrometer/MuonG4/MuonG4SD/test/sTGCSensitiveDetector_gtest.cxx
+++ b/MuonSpectrometer/MuonG4/MuonG4SD/test/sTGCSensitiveDetector_gtest.cxx
@@ -177,7 +177,7 @@ TEST_F ( sTGCSensitiveDetectortest, ProcessHits )
   sd2.ProcessHits(&sp, &th );//invoke the tested member function
 
   int barcode = 0;
-  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_EVENTNUM,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
+  HepMcParticleLink plink(barcode,0,HepMcParticleLink::IS_POSITION,HepMcParticleLink::IS_BARCODE); // FIXME barcode-based
 
   sTGCSimHitCollection* a = sd2.m_sTGCSimHitCollection.ptr();
   ASSERT_EQ(a->begin()->sTGCId(), 528402); //test if the sTGCId value of the Hit generated by this member function is right, the same below
diff --git a/Simulation/G4Sim/MCTruth/src/TrackHelper.cxx b/Simulation/G4Sim/MCTruth/src/TrackHelper.cxx
index 563e89961fb9c8ff99cb48c5d1a06385702a825c..eaf44c97a79f46b430c0fc5c95649e59f33dcf94 100644
--- a/Simulation/G4Sim/MCTruth/src/TrackHelper.cxx
+++ b/Simulation/G4Sim/MCTruth/src/TrackHelper.cxx
@@ -51,8 +51,8 @@ HepMcParticleLink TrackHelper::GetParticleLink()
 {
   // FIXME update to use HepMcParticleLink::IS_POSITION ATLASSIM-6999
 #if defined(HEPMC3)
-  return HepMcParticleLink(this->GetUniqueID(), 0, HepMcParticleLink::IS_EVENTNUM, HepMcParticleLink::IS_ID);
+  return HepMcParticleLink(this->GetUniqueID(), 0, HepMcParticleLink::IS_POSITION, HepMcParticleLink::IS_ID);
 #else
-  return HepMcParticleLink(this->GetBarcode(), 0, HepMcParticleLink::IS_EVENTNUM, HepMcParticleLink::IS_BARCODE);
+  return HepMcParticleLink(this->GetBarcode(), 0, HepMcParticleLink::IS_POSITION, HepMcParticleLink::IS_BARCODE);
 #endif
 }
diff --git a/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/src/ScintillatorHit.cxx b/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/src/ScintillatorHit.cxx
index d5c8f241c44c5924a5f47c92c24c637902507d04..5c8bc45ff6fd81e8acf179ec1db7f85f3e0bf94a 100755
--- a/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/src/ScintillatorHit.cxx
+++ b/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/src/ScintillatorHit.cxx
@@ -69,7 +69,7 @@ ScintillatorHit::ScintillatorHit( const int volNumber,
   m_globalPostStepY(globalPostStepY),
   m_globalPostStepZ(globalPostStepZ),
   m_globalTime(globalTime),
-  m_partLink(track, 0, HepMcParticleLink::IS_EVENTNUM, HepMcParticleLink::IS_BARCODE) // FIXME barcode-based syntax
+  m_partLink(track, 0, HepMcParticleLink::IS_POSITION, HepMcParticleLink::IS_BARCODE) // FIXME barcode-based syntax
 {}
 	
 int ScintillatorHit::truthBarcode() const {
diff --git a/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/src/SimpleScintillatorHit.cxx b/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/src/SimpleScintillatorHit.cxx
index 54b14fd30b4d4171e7f19b1be9acf2b3e2152de4..cd2b0eb0186b6dfd9c7ba34493c01a19c0a8e523 100644
--- a/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/src/SimpleScintillatorHit.cxx
+++ b/Simulation/G4Utilities/G4Ancillary/G4AncillarySimEvent/src/SimpleScintillatorHit.cxx
@@ -36,7 +36,7 @@ SimpleScintillatorHit::SimpleScintillatorHit(const int particleEncoding,
   m_position(position),
   m_globalTime(globalTime),
   m_copyNo(copyNo),
-  m_partLink(track, 0, HepMcParticleLink::IS_EVENTNUM, HepMcParticleLink::IS_BARCODE) // FIXME barcode-based syntax
+  m_partLink(track, 0, HepMcParticleLink::IS_POSITION, HepMcParticleLink::IS_BARCODE) // FIXME barcode-based syntax
 {}
 
 int SimpleScintillatorHit::truthBarcode() const {