14#include <FairMCPoint.h>
26using std::stringstream;
37 : FairMCPoint(trackID, detID,
pos, mom, tof, length, eLoss)
55 for (int32_t iGapBit = 0; iGapBit < std::numeric_limits<uint16_t>::digits; iGapBit++) {
56 if (
fGapMask & (0x1 << iGapBit)) { iNGaps++; }
67 for (int32_t iGapBit = 0; iGapBit < std::numeric_limits<uint16_t>::digits; iGapBit++) {
68 if (
fGapMask & (0x1 << iGapBit)) {
return iGapBit; }
81 for (int32_t iGapBit = 0; iGapBit < std::numeric_limits<uint16_t>::digits; iGapBit++) {
82 if (
fGapMask & (0x1 << iGapBit)) { iLastGap = iGapBit; }
93 assert(0 <= iGap && std::numeric_limits<uint16_t>::digits > iGap);
103 ss <<
"STofPoint: track ID " << fTrackID <<
", detector ID " << fDetectorID <<
"\n";
104 ss <<
" Position (" << fX <<
", " << fY <<
", " << fZ <<
") cm \n";
105 ss <<
" Momentum (" << fPx <<
", " << fPy <<
", " << fPz <<
") GeV \n";
106 ss <<
" Time " << fTime <<
" ns, Length " << fLength <<
" cm, Energy loss " << fELoss * 1.0e06 <<
" keV \n";
107 ss <<
" Number of cells " <<
fNofCells <<
", gap mask "
108 << std::bitset<std::numeric_limits<uint16_t>::digits>(
fGapMask) << endl;
ClassImp(CbmConverterManager)
Geometric intersection of a MC track with a TOFb detector.
int32_t GetFirstGap() const
Index of first traversed gap @value First gap index.
int32_t GetNGaps() const
Number of traversed gaps @value Number of traversed gaps.
uint16_t fGapMask
Number of cells traversed.
CbmTofPoint()
Default constructor.
virtual ~CbmTofPoint()
Destructor.
virtual std::string ToString() const
String representation of the object. @value String representation of the object.
int32_t GetLastGap() const
Index of last traversed gap @value Last gap index.
void SetGap(int32_t iGap)
Set a gap in the gap mask.