Skip to content
Snippets Groups Projects
Commit ef9b78e3 authored by Pierre-Alain Loizeau's avatar Pierre-Alain Loizeau
Browse files

Switch DigiEvent/DigiData from TOF to TZD digis for T0 + fix online data lib <breaks 2 tasks!>

Most changes done in CbmDigiData:
- Add CbmTzdDigiData class
- Change TZD storage class in CbmDigiData
- Bump Classdef of CbmDigiData to 3
- Add boost serialization version +  Bump to version 3 (default is always 0 in boost)
parent 23cfb2c5
Branches
Tags
1 merge request!1019Support for CbmTzdDigi in unpacking, event builder and TOF reco.
......@@ -24,6 +24,8 @@ set(SRCS
${CMAKE_SOURCE_DIR}/core/data/psd/CbmPsdDigi.cxx
${CMAKE_SOURCE_DIR}/core/data/psd/CbmPsdAddress.cxx
${CMAKE_SOURCE_DIR}/core/data/global/CbmTzdDigi.cxx
${CMAKE_SOURCE_DIR}/core/data/raw/StsXyterMessage.cxx
)
......
......@@ -127,7 +127,7 @@ SET_SOURCE_FILES_PROPERTIES(tof/etof/star_rhicf.c PROPERTIES COMPILE_FLAGS -Wno-
list(APPEND HEADERS base/CbmDigiData.h global/CbmDigiEvent.h global/CbmDigiTimeslice.h
sts/CbmStsDigiData.h much/CbmMuchDigiData.h rich/CbmRichDigiData.h trd/CbmTrdDigiData.h
tof/CbmTofDigiData.h psd/CbmPsdDigiData.h)
tof/CbmTofDigiData.h global/CbmTzdDigiData.h psd/CbmPsdDigiData.h)
set(LIBRARY_NAME CbmData)
set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
......@@ -158,6 +158,7 @@ Install(FILES
sts/CbmStsDigiData.h
trd/CbmTrdDigiData.h
tof/CbmTofDigiData.h
global/CbmTzdDigiData.h
global/CbmDigiEvent.h global/CbmDigiTimeslice.h
raw/bitmask_operators.hpp raw/StsXyterFinalHit.h raw/PsdGbtDataFormat-v0.00.h raw/PsdGbtDataFormat-v1.00.h
DESTINATION include
......
......@@ -100,6 +100,7 @@
// --- data/global
#pragma link C++ class CbmGlobalTrack + ;
#pragma link C++ class CbmTzdDigi + ;
#pragma link C++ class CbmTzdDigiData + ;
#pragma link C++ class CbmVertex + ;
#pragma link C++ class std::vector < CbmDigiEvent>;
......
......@@ -12,6 +12,7 @@
#include "CbmStsDigiData.h"
#include "CbmTofDigiData.h"
#include "CbmTrdDigiData.h"
#include "CbmTzdDigiData.h"
#include <boost/serialization/access.hpp>
#include <boost/serialization/base_object.hpp>
......@@ -30,7 +31,7 @@
class CbmDigiData {
public:
CbmTofDigiData fT0; ///< Beam monitor data
CbmTzdDigiData fT0; ///< Beam monitor data
CbmStsDigiData fSts; ///< STS data
CbmMuchDigiData fMuch; ///< MUCH data
CbmRichDigiData fRich; ///< RICH data
......@@ -43,6 +44,7 @@ public:
template<class Archive>
void serialize(Archive& ar, const unsigned int /*version*/)
{
// note, version is always the latest when saving
ar& fT0;
ar& fSts;
ar& fMuch;
......@@ -54,7 +56,7 @@ public:
// --- ROOT serializer
#ifndef NO_ROOT
ClassDefNV(CbmDigiData, 2);
ClassDefNV(CbmDigiData, 3);
#endif
/** @brief Clear content **/
......@@ -70,5 +72,5 @@ public:
}
};
BOOST_CLASS_VERSION(CbmDigiData, 3)
#endif /* CBMDIGIDATA_H */
/* Copyright (C) 2022 Facility for Antiproton and Ion Research in Europe, Darmstadt
SPDX-License-Identifier: GPL-3.0-only
Authors: Pierre-Alain Loizeau [committer] */
#ifndef CBMTZDDIGIDATA_H
#define CBMTZDDIGIDATA_H 1
#include "CbmTzdDigi.h"
#ifndef NO_ROOT
#include <Rtypes.h> // for ClassDef
#endif
#include <boost/serialization/access.hpp>
#include <boost/serialization/base_object.hpp>
#include <boost/serialization/vector.hpp>
#include <vector>
/** @class CbmTzdDigiData
** @brief Container class for CbmTzdDigi objects
** @author Volker Friese <v.friese@gsi.de>
** @since 7.12.2022
** @version 1.0
**
** Container class for transporting CbmTzdDigi objects.
** The current implementation is the simplest one: a std::vector.
**/
class CbmTzdDigiData {
public:
std::vector<CbmTzdDigi> fDigis = {}; ///< Data vector
friend class boost::serialization::access;
/** @brief BOOST serializer**/
template<class Archive>
void serialize(Archive& ar, const unsigned int /*version*/)
{
ar& fDigis;
}
/** @brief Clear content **/
void Clear() { fDigis.clear(); }
// --- ROOT serializer
#ifndef NO_ROOT
ClassDefNV(CbmTzdDigiData, 1);
#endif
};
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment