10#ifndef ALGO_TOF_RecoSetupUnit_h
11#define ALGO_TOF_RecoSetupUnit_h 1
17#include <boost/serialization/access.hpp>
18#include <boost/serialization/export.hpp>
38 friend boost::serialization::access;
39 template<
class Archive>
54 TrkStationIdMap(std::vector<SmTypeInfo>&& smTypeRpcMap, std::vector<int>&& trkStationIdMap);
100 friend boost::serialization::access;
101 template<
class Archive>
121 RecoSetupUnit(std::pair<std::vector<GeoVolume>, std::vector<GeoVolume>>&& stationVolumes,
150 template<
class Archive>
153 ar& boost::serialization::base_object<TrackingSetupIfs<RecoSetupUnit>>(*this);
ECbmModuleId
Enumerator for module Identifiers.
@ kTof
Time-of-flight Detector.
Base class for the detector interface for reconstruction algorithms.
static int32_t GetSmId(uint32_t address)
static int32_t GetRpcId(uint32_t address)
static int32_t GetSmType(uint32_t address)
TrackingSetupIfs()=default
static constexpr std::string_view GetDetectorName()
Name of the detector.
static constexpr ECbmModuleId GetModuleId()
Module ID.
void serialize(Archive &ar, const unsigned int)
const TrkStationIdMap & GetTrkStationIdMap() const
A constant accessor to the TrkStationIdMap.
bool IsInitialized() const
Validates initialization of the instance.
int ImplGetTrackingStationId(uint32_t address) const
Returns tracking station index by the TOF address.
RecoSetupUnit()=default
Default constructor (note: needed for serialization)
bool ImplIsTimeInfoProvided(int) const
Returns a flag, if time information is provided by the detector.
friend class boost::serialization::access
Serialization rule.
TrkStationIdMap fTrkStationIdMap
A map of tracking station indexing.
A mapper for TOF tracking stations.
void serialize(Archive &ar, const unsigned int)
const auto & GetTrkStationIdMap() const
A constant accessor to the tracking station ID container.
uint16_t GetNofSm(uint16_t iSmType) const
Gets number of SMs for a given SM type.
uint16_t GetNofSmTypes() const
Gets number of supermodule types.
void Clear()
Clears the contents.
int GetTrackingStationIndex(uint16_t iSmType, uint16_t iSm, uint16_t iRpc) const
Gets tracking station index for a given SM type, SM and RPC.
std::vector< SmTypeInfo > fSmTypeRpcMap
Information on the RPC indexing within differnt SM types.
std::vector< int > fTrkStationIdMap
Index of tracking station vs. RPC.
bool IsEmpty() const
Checks, if the container is empty.
const auto & GetSmTypeRpcMap() const
A constant accessor to the SmType RPC map.
TrkStationIdMap()=default
Default constructor (for serialization)
uint16_t GetNofRpc(uint16_t iSmType) const
Gets number of RPCs for a given SM type.
Information on RPC offsets for each SM type.
uint16_t nRpc
Number of RPCs for a given SM type.
uint32_t offset
An index of first RPC for a given SM type.
uint16_t nSm
Number of supermodules for a given SM type.
void serialize(Archive &ar, const unsigned int)