CbmRoot
Loading...
Searching...
No Matches
CbmTofAddress.cxx
Go to the documentation of this file.
1/* Copyright (C) 2013-2025 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Pierre-Alain Loizeau, Florian Uhlig [committer], Norbert Herrmann, Segei Zharko */
4
12#include "CbmTofAddress.h"
13
14#include <iomanip>
15#include <sstream>
16
17// It seems C++ standard force the initialization to be in cxx/cpp file (outside of class definition)
18// When not trivial constant values => To check if it should apply also to simple values maybe?
32
34 (((1 << fgkSystemBits) - 1)) + (((1 << fgkSmIdBits) - 1) << fgkSmIdOffset)
35 + (((1 << fgkSmTypeBits) - 1) << fgkSmTypeOffset) + (((1 << fgkRpcIdBits) - 1) << fgkRpcIdOffset)
36 + (((1 << fgkRpcTypeBits) - 1) << fgkRpcTypeOffset);
37
39 (((1 << fgkSystemBits) - 1)) + (((1 << fgkSmIdBits) - 1) << fgkSmIdOffset)
40 + (((1 << fgkSmTypeBits) - 1) << fgkSmTypeOffset) + (((1 << fgkRpcIdBits) - 1) << fgkRpcIdOffset);
41
43 (((1 << fgkSystemBits) - 1)) + (((1 << fgkSmIdBits) - 1) << fgkSmIdOffset)
44 + (((1 << fgkSmTypeBits) - 1) << fgkSmTypeOffset) + (((1 << fgkRpcIdBits) - 1) << fgkRpcIdOffset)
45 + (((1 << fgkChannelIdBits) - 1) << fgkChannelIdOffset);
46
48const int32_t CbmTofAddress::fgkSmIdBitmask = ((1 << fgkSmIdBits) - 1) << fgkSmIdOffset;
49const int32_t CbmTofAddress::fgkSmTypeBitmask = ((1 << fgkSmTypeBits) - 1) << fgkSmTypeOffset;
50const int32_t CbmTofAddress::fgkRpcIdBitmask = ((1 << fgkRpcIdBits) - 1) << fgkRpcIdOffset;
51const int32_t CbmTofAddress::fgkChannelSideBitmask = ((1 << fgkChannelSideBits) - 1) << fgkChannelSideOffset;
52const int32_t CbmTofAddress::fgkChannelIdBitmask = ((1 << fgkChannelIdBits) - 1) << fgkChannelIdOffset;
53const int32_t CbmTofAddress::fgkRpcTypeBitmask = ((1 << fgkRpcTypeBits) - 1) << fgkRpcTypeOffset;
54
55std::string CbmTofAddress::ToString(int32_t address)
56{
57 using std::setfill;
58 using std::setw;
59 std::stringstream msg;
60 msg << std::hex << "0x" << setw(8) << setfill('0') << address << std::dec << setfill(' ');
61 msg << ": SmType=" << setw(3) << CbmTofAddress::GetSmType(address);
62 msg << ", Sm=" << setw(2) << CbmTofAddress::GetSmId(address);
63 msg << ", Rpc=" << setw(2) << CbmTofAddress::GetRpcId(address);
64 msg << ", Ch=" << setw(2) << CbmTofAddress::GetChannelId(address);
65 msg << ", Side=" << setw(1) << CbmTofAddress::GetChannelSide(address);
66 msg << ", RpcType=" << setw(2) << CbmTofAddress::GetRpcType(address);
67 return msg.str();
68}
static const int32_t fgkSystemBits
Definition CbmAddress.h:52
static const int32_t fgkSmIdBits
static const int32_t fgkChannelIdOffset
static const int32_t fgkiRpcFullIdMask
static const int32_t fgkRpcIdOffset
static const int32_t fgkChannelSideBits
static const int32_t fgkiModFullIdMask
static const int32_t fgkSmTypeBitmask
static const int32_t fgkChannelSideBitmask
static const int32_t fgkSmIdOffset
static int32_t GetRpcType(uint32_t address)
static int32_t GetSmId(uint32_t address)
static const int32_t fgkChannelIdBits
static const int32_t fgkSmTypeOffset
static const int32_t fgkRpcTypeBitmask
static const int32_t fgkRpcIdBits
static int32_t GetRpcId(uint32_t address)
static const int32_t fgkSmIdBitmask
static const int32_t fgkRpcIdBitmask
static const int32_t fgkChannelIdBitmask
static const int32_t fgkSystemIdBitmask
static int32_t GetSmType(uint32_t address)
static int32_t GetChannelSide(uint32_t address)
static const int32_t fgkiStripFullIdMask
static std::string ToString(int32_t address)
static int32_t GetChannelId(uint32_t address)
static const int32_t fgkChannelSideOffset
static const int32_t fgkSmTypeBits
static const int32_t fgkRpcTypeOffset