From cf18c7875a4cafb0a239eeb158229df611690cca Mon Sep 17 00:00:00 2001
From: Martin Beyer <martin.beyer@physik.uni-giessen.de>
Date: Thu, 2 Nov 2023 16:53:30 +0100
Subject: [PATCH] bump CbmRichPoint ClassDef count and add check which cancels
 the execution if ClassDef count is older.

The reason for this is that pmt pixel addresses are now stored in CbmRichPoin and not derived
while digitization, the safety check prevents running rich digitization on transport files which dont have the pixel address stored
---
 core/data/CbmDataLinkDef.h    | 10 ++++++++++
 core/data/rich/CbmRichPoint.h |  4 ++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/core/data/CbmDataLinkDef.h b/core/data/CbmDataLinkDef.h
index 68d3650dc5..efb8a74da1 100644
--- a/core/data/CbmDataLinkDef.h
+++ b/core/data/CbmDataLinkDef.h
@@ -215,4 +215,14 @@
            LOG(error); \
            LOG(fatal) << \"Stop execution.\"; \
          }"
+
+#pragma read sourceClass = "CbmRichPoint" version = "[1]" targetClass = "CbmRichPoint" source = "" target =            \
+  "" include = "Logger.h" code = "{ \
+           LOG(error); \
+           LOG(error) << \"You are trying to read an outdated version of CbmRichPoint\"; \
+           LOG(error) << \"where the unique pmt pixel addresses are not stored into CbmRichPoint.\"; \
+           LOG(error) << \"To fix this rerun transport.\"; \
+           LOG(error); \
+           LOG(fatal) << \"Stop execution.\"; \
+         }"
 #endif
diff --git a/core/data/rich/CbmRichPoint.h b/core/data/rich/CbmRichPoint.h
index d23009160d..47f188ef3f 100644
--- a/core/data/rich/CbmRichPoint.h
+++ b/core/data/rich/CbmRichPoint.h
@@ -20,7 +20,7 @@
 
 #include <FairMCPoint.h>  // for FairMCPoint
 
-#include <Rtypes.h>      // for ClassDef
+#include <Rtypes.h>  // for ClassDef
 
 #include <cstdint>
 
@@ -57,7 +57,7 @@ public:
   virtual void Print(const Option_t* opt) const;
 
 
-  ClassDef(CbmRichPoint, 1)
+  ClassDef(CbmRichPoint, 2)
 };
 
 
-- 
GitLab