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
No related branches found
No related tags found
1 merge request!1019Support for CbmTzdDigi in unpacking, event builder and TOF reco.
...@@ -23,7 +23,9 @@ set(SRCS ...@@ -23,7 +23,9 @@ set(SRCS
${CMAKE_SOURCE_DIR}/core/data/psd/CbmPsdDigi.cxx ${CMAKE_SOURCE_DIR}/core/data/psd/CbmPsdDigi.cxx
${CMAKE_SOURCE_DIR}/core/data/psd/CbmPsdAddress.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 ${CMAKE_SOURCE_DIR}/core/data/raw/StsXyterMessage.cxx
) )
......
...@@ -13,7 +13,7 @@ set(INCLUDE_DIRECTORIES ...@@ -13,7 +13,7 @@ set(INCLUDE_DIRECTORIES
${CMAKE_CURRENT_SOURCE_DIR}/tof ${CMAKE_CURRENT_SOURCE_DIR}/tof
${CMAKE_CURRENT_SOURCE_DIR}/rich ${CMAKE_CURRENT_SOURCE_DIR}/rich
${CMAKE_CURRENT_SOURCE_DIR}/psd ${CMAKE_CURRENT_SOURCE_DIR}/psd
${CMAKE_CURRENT_SOURCE_DIR}/global ${CMAKE_CURRENT_SOURCE_DIR}/global
) )
...@@ -125,39 +125,40 @@ set(NO_DICT_SRCS ...@@ -125,39 +125,40 @@ set(NO_DICT_SRCS
SET_SOURCE_FILES_PROPERTIES(tof/etof/star_rhicf.c PROPERTIES COMPILE_FLAGS -Wno-pointer-sign) SET_SOURCE_FILES_PROPERTIES(tof/etof/star_rhicf.c PROPERTIES COMPILE_FLAGS -Wno-pointer-sign)
list(APPEND HEADERS base/CbmDigiData.h global/CbmDigiEvent.h global/CbmDigiTimeslice.h list(APPEND HEADERS base/CbmDigiData.h global/CbmDigiEvent.h global/CbmDigiTimeslice.h
sts/CbmStsDigiData.h much/CbmMuchDigiData.h rich/CbmRichDigiData.h trd/CbmTrdDigiData.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(LIBRARY_NAME CbmData)
set(LINKDEF ${LIBRARY_NAME}LinkDef.h) set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
set(PUBLIC_DEPENDENCIES set(PUBLIC_DEPENDENCIES
FairRoot::Base FairRoot::Base
ROOT::Core ROOT::Core
ROOT::Matrix ROOT::Matrix
ROOT::Physics ROOT::Physics
external::fles_ipc external::fles_ipc
xpu xpu
) )
set(PRIVATE_DEPENDENCIES set(PRIVATE_DEPENDENCIES
ROOT::EG ROOT::EG
FairLogger::FairLogger FairLogger::FairLogger
${VMCLIB} ${VMCLIB}
) )
generate_cbm_library() generate_cbm_library()
# Install file which has no corresponding source file # Install file which has no corresponding source file
Install(FILES Install(FILES
CbmDefs.h CbmDefs.h
base/CbmDigiData.h base/CbmDigiVector.h base/CbmDigiData.h base/CbmDigiVector.h
much/CbmMuchDigiData.h much/CbmMuchDigiData.h
psd/CbmPsdDigiData.h psd/CbmPsdDigiData.h
rich/CbmRichDigiData.h rich/CbmRichRingLight.h rich/CbmRichDigiData.h rich/CbmRichRingLight.h
sts/CbmStsDigiData.h sts/CbmStsDigiData.h
trd/CbmTrdDigiData.h trd/CbmTrdDigiData.h
tof/CbmTofDigiData.h tof/CbmTofDigiData.h
global/CbmTzdDigiData.h
global/CbmDigiEvent.h global/CbmDigiTimeslice.h global/CbmDigiEvent.h global/CbmDigiTimeslice.h
raw/bitmask_operators.hpp raw/StsXyterFinalHit.h raw/PsdGbtDataFormat-v0.00.h raw/PsdGbtDataFormat-v1.00.h raw/bitmask_operators.hpp raw/StsXyterFinalHit.h raw/PsdGbtDataFormat-v0.00.h raw/PsdGbtDataFormat-v1.00.h
DESTINATION include DESTINATION include
......
...@@ -100,6 +100,7 @@ ...@@ -100,6 +100,7 @@
// --- data/global // --- data/global
#pragma link C++ class CbmGlobalTrack + ; #pragma link C++ class CbmGlobalTrack + ;
#pragma link C++ class CbmTzdDigi + ; #pragma link C++ class CbmTzdDigi + ;
#pragma link C++ class CbmTzdDigiData + ;
#pragma link C++ class CbmVertex + ; #pragma link C++ class CbmVertex + ;
#pragma link C++ class std::vector < CbmDigiEvent>; #pragma link C++ class std::vector < CbmDigiEvent>;
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "CbmStsDigiData.h" #include "CbmStsDigiData.h"
#include "CbmTofDigiData.h" #include "CbmTofDigiData.h"
#include "CbmTrdDigiData.h" #include "CbmTrdDigiData.h"
#include "CbmTzdDigiData.h"
#include <boost/serialization/access.hpp> #include <boost/serialization/access.hpp>
#include <boost/serialization/base_object.hpp> #include <boost/serialization/base_object.hpp>
...@@ -30,7 +31,7 @@ ...@@ -30,7 +31,7 @@
class CbmDigiData { class CbmDigiData {
public: public:
CbmTofDigiData fT0; ///< Beam monitor data CbmTzdDigiData fT0; ///< Beam monitor data
CbmStsDigiData fSts; ///< STS data CbmStsDigiData fSts; ///< STS data
CbmMuchDigiData fMuch; ///< MUCH data CbmMuchDigiData fMuch; ///< MUCH data
CbmRichDigiData fRich; ///< RICH data CbmRichDigiData fRich; ///< RICH data
...@@ -43,6 +44,7 @@ public: ...@@ -43,6 +44,7 @@ public:
template<class Archive> template<class Archive>
void serialize(Archive& ar, const unsigned int /*version*/) void serialize(Archive& ar, const unsigned int /*version*/)
{ {
// note, version is always the latest when saving
ar& fT0; ar& fT0;
ar& fSts; ar& fSts;
ar& fMuch; ar& fMuch;
...@@ -54,7 +56,7 @@ public: ...@@ -54,7 +56,7 @@ public:
// --- ROOT serializer // --- ROOT serializer
#ifndef NO_ROOT #ifndef NO_ROOT
ClassDefNV(CbmDigiData, 2); ClassDefNV(CbmDigiData, 3);
#endif #endif
/** @brief Clear content **/ /** @brief Clear content **/
...@@ -70,5 +72,5 @@ public: ...@@ -70,5 +72,5 @@ public:
} }
}; };
BOOST_CLASS_VERSION(CbmDigiData, 3)
#endif /* CBMDIGIDATA_H */ #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.
Finish editing this message first!
Please register or to comment