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

Add boost serializer interface to RICH, TRD and PSD digi + add interface for...

Add boost serializer interface to RICH, TRD and PSD digi + add interface for waveform fit to PSD digi
parent b9e901b0
No related branches found
No related tags found
1 merge request!14Second part of mCBM changes: core/data, fles/mcbm2018, MQ and macro/beamtime/
......@@ -24,6 +24,10 @@
#include "CbmDefs.h" // for ECbmModuleId::kPsd
#include "CbmPsdAddress.h" // for CbmPsdAddress
#include <boost/serialization/access.hpp>
#include <boost/serialization/base_object.hpp>
class CbmPsdDigi
{
......@@ -33,23 +37,25 @@ class CbmPsdDigi
**/
CbmPsdDigi();
/** @brief Constructor with assignment
** @param address Unique channel address
** @param edep Energy deposition
** @param time Time [adc counts]
** @param time Time [ns]
**/
CbmPsdDigi( UInt_t address, Double_t edep, Double_t time );
/** @brief Constructor with detailed assignment.
** @param moduleID Module Identifier
** @param sectionID Section Identifier
** @param edep Energy deposition
** @param time Time [adc counts]
** @param time Time [ns]
**/
CbmPsdDigi( UInt_t moduleId, UInt_t sectionId, Double_t edep, Double_t time );
/** @brief Copy constructor **/
/** Copy constructor **/
CbmPsdDigi(const CbmPsdDigi&);
......@@ -57,17 +63,19 @@ class CbmPsdDigi
CbmPsdDigi(CbmPsdDigi&&);
/** @brief Destructor **/
~CbmPsdDigi();
/** Assignment operator **/
CbmPsdDigi& operator=(const CbmPsdDigi&);
/** Move assignment operator **/
/** Move Assignment operator **/
CbmPsdDigi& operator=(CbmPsdDigi&&);
/** Destructor **/
~CbmPsdDigi();
/** @brief Address
** @return Unique channel address (see CbmPsdAddress)
**/
......@@ -134,6 +142,18 @@ class CbmPsdDigi
**/
std::string ToString() const;
//additional
UInt_t GetAmpl() const { return fuAmpl; };
UInt_t GetZL() const { return fuZL; };
Double_t GetEdepWfm() const { return fdEdepWfm; };
void SetAmpl(UInt_t ampl) { fuAmpl = ampl; }
void SetZL(UInt_t zl) { fuZL = zl; }
void SetEdepWfm( Double_t edep ) { fdEdepWfm = edep; }
Float_t ffFitHarmonic1 = 0.;
Float_t ffFitHarmonic2 = 0.;
Float_t ffFitR2 = 999.;
Float_t ffFitEdep = 0.;
private:
......@@ -141,7 +161,29 @@ class CbmPsdDigi
Double_t fdTime = -1.; /// Time of measurement
UInt_t fuAddress = 0; /// Unique channel address
ClassDefNV(CbmPsdDigi, 3);
//additional
UInt_t fuAmpl = 0;
UInt_t fuZL = 0;
Double_t fdEdepWfm = 0.;
/// BOOST serialization interface
friend class boost::serialization::access;
template <class Archive>
void serialize(Archive& ar, const unsigned int /*version*/)
{
ar& ffFitHarmonic1;
ar& ffFitHarmonic2;
ar& ffFitR2;
ar& ffFitEdep;
ar& fdEdep;
ar& fdTime;
ar& fuAddress;
ar& fuAmpl;
ar& fuZL;
ar& fdEdepWfm;
}
ClassDefNV(CbmPsdDigi, 4);
};
#endif // CBMPSDDIGIM_H
#endif // CBMPSDDIGI_H
......@@ -16,6 +16,8 @@
#include "CbmDefs.h" // for kRich
#include <boost/serialization/access.hpp>
#include <boost/serialization/base_object.hpp>
#ifndef DATA_RICH_CBMRICHDIGI_H_
#define DATA_RICH_CBMRICHDIGI_H_
......@@ -96,6 +98,16 @@ private:
*/
Double_t fToT;
/// BOOST serialization interface
friend class boost::serialization::access;
template <class Archive>
void serialize(Archive& ar, const unsigned int /*version*/)
{
ar& fAddress;
ar& fTime;
ar& fToT;
}
ClassDefNV(CbmRichDigi, 3);
};
......
......@@ -8,6 +8,9 @@
#include "CbmDefs.h" // for kTrd
#include <boost/serialization/access.hpp>
#include <boost/serialization/base_object.hpp>
class CbmTrdDigi
{
public:
......@@ -202,6 +205,16 @@ private:
static const Int_t fgkFlgOffset = 26;
static const Int_t fgkTrgOffset = 29;
static const Int_t fgkTypOffset = 31;
/// BOOST serialization interface
friend class boost::serialization::access;
template <class Archive>
void serialize(Archive& ar, const unsigned int /*version*/)
{
ar& fInfo;
ar& fCharge;
ar& fTime;
}
ClassDefNV(CbmTrdDigi, 3); // Production ready TRD digit
};
......
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