diff --git a/core/data/DataLinkDef.h b/core/data/DataLinkDef.h index f7d571708ff12d8454c9ea465135baf02d9f1176..bb8f3bc87fca2db2f4dd624daaa5d2ee23cff12a 100644 --- a/core/data/DataLinkDef.h +++ b/core/data/DataLinkDef.h @@ -119,4 +119,52 @@ #pragma link C++ class CbmDigiVector < CbmPsdDigi> + ; #pragma link C++ class vector < CbmEventStore> + ; +#pragma read sourceClass="CbmTofDigi" version="[1-2]" targetClass="CbmTofDigi" \ + source="UInt_t fuAddress" target="fuAddress" \ + include="Logger.h" \ + code="{ UInt_t system = (onfile.fuAddress >> 0) & ((1 << 4) - 1); \ + UInt_t smId = (onfile.fuAddress >> 4) & ((1 << 8) - 1); \ + UInt_t smType = (onfile.fuAddress >> 12) & ((1 << 4) - 1); \ + UInt_t rpcId = (onfile.fuAddress >> 16) & ((1 << 7) - 1); \ + UInt_t chSide = (onfile.fuAddress >> 23) & ((1 << 1) - 1); \ + UInt_t chId = (onfile.fuAddress >> 24) & ((1 << 8) - 1); \ + if ( smId > 127 || rpcId > 63 || chId > 63 ) { \ + LOG(error) << \"You are trying to read an outdated version of CbmTofDigi\"; \ + LOG(error) << \"where the unique tof address can't be converted\"; \ + LOG(error) << \"automatically to the new tof addressing scheme.\"; \ + LOG(fatal) << \"Stop execution.\"; \ + } \ + UInt_t rpcType = 0; \ + fuAddress = (system & ((1 << 4) - 1)) \ + + ((smId & ((1 << 7) - 1)) << 4) \ + + ((smType & ((1 << 4) - 1)) << 11) \ + + ((chSide & ((1 << 1) - 1)) << 21) \ + + ((rpcId & ((1 << 6) - 1)) << 15) \ + + ((chId & ((1 << 6) - 1)) << 22) \ + + ((rpcType & ((1 << 4) - 1)) << 28); \ + }" + +#pragma read sourceClass="CbmTofHit" version="[1-4]" targetClass="CbmTofHit" \ + source="" target="" \ + include="Logger.h" \ + code="{ \ + LOG(error); \ + LOG(error) << \"You are trying to read an outdated version of CbmTofHit\"; \ + LOG(error) << \"where the unique tof address can't be converted\"; \ + LOG(error) << \"automatically to the new tof addressing scheme.\"; \ + LOG(error); \ + LOG(fatal) << \"Stop execution.\"; \ + }" + +#pragma read sourceClass="CbmTofPoint" version="[1-3]" targetClass="CbmTofPoint" \ + source="" target="" \ + include="Logger.h" \ + code="{ \ + LOG(error); \ + LOG(error) << \"You are trying to read an outdated version of CbmTofPoint\"; \ + LOG(error) << \"where the unique tof address can't be converted\"; \ + LOG(error) << \"automatically to the new tof addressing scheme.\"; \ + LOG(error); \ + LOG(fatal) << \"Stop execution.\"; \ + }" #endif diff --git a/core/data/tof/CbmTofDigi.h b/core/data/tof/CbmTofDigi.h index 920a192fb010333235094edf18b767e18c4c9798..ca696db90b302381e72c5461c0723d9abb177ae9 100644 --- a/core/data/tof/CbmTofDigi.h +++ b/core/data/tof/CbmTofDigi.h @@ -170,6 +170,6 @@ private: ar& fdTot; } - ClassDefNV(CbmTofDigi, 2); + ClassDefNV(CbmTofDigi, 3); }; #endif // CBMTOFDIGI_H diff --git a/core/data/tof/CbmTofHit.h b/core/data/tof/CbmTofHit.h index 6613ad4e8b03d9a8fce4962ff8afc19a3ffe1186..11e82480fc67d3ca42d3e9301b8dce254038ca5a 100644 --- a/core/data/tof/CbmTofHit.h +++ b/core/data/tof/CbmTofHit.h @@ -125,7 +125,7 @@ private: ar& fChannel; } - ClassDef(CbmTofHit, 4) + ClassDef(CbmTofHit, 5) }; #endif diff --git a/core/data/tof/CbmTofPoint.h b/core/data/tof/CbmTofPoint.h index 9ae7af4c4a55e0b95485a5f0aff932a231b5d07a..86c1929f4206b1f60229c4046836452c773fc133 100644 --- a/core/data/tof/CbmTofPoint.h +++ b/core/data/tof/CbmTofPoint.h @@ -131,7 +131,7 @@ private: UShort_t fGapMask; /// Set of gaps traversed - ClassDef(CbmTofPoint, 3) + ClassDef(CbmTofPoint, 4) };