CbmRoot
Loading...
Searching...
No Matches
CbmL1DetectorID.h
Go to the documentation of this file.
1/* Copyright (C) 2022-2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Sergei Zharko [committer] */
4
9
10#pragma once
11
12//#include "CaDefs.h"
13#include "CbmDefs.h"
14#include "CbmEnumArray.h"
15
16#include <string>
17
21
22class CbmMvdPoint;
23class CbmStsPoint;
24class CbmMuchPoint;
25class CbmTrdPoint;
26class CbmTofPoint;
27
28class CbmMvdHit;
29class CbmStsHit;
30class CbmMuchPixelHit;
31class CbmTrdHit;
32class CbmTofHit;
33
34namespace cbm::ca
35{
36 namespace ca = cbm::algo::ca;
37
40 template<typename T>
42
44
53 template<class... Types>
55 template<ca::EDetectorID DetID>
56 using at = std::tuple_element_t<static_cast<std::size_t>(DetID), std::tuple<Types...>>;
57 static constexpr std::size_t size = sizeof...(Types);
58 };
59
63 constexpr DetIdArr_t<const char*> kDetName = {{"MVD", "STS", "MUCH", "TRD", "TOF"}};
64
66 constexpr DetIdArr_t<const char*> kDetHitBrName = {{"MvdHit", "StsHit", "MuchPixelHit", "TrdHit", "TofHit"}};
67
69 constexpr DetIdArr_t<const char*> kDetPointBrName = {{"MvdPoint", "StsPoint", "MuchPoint", "TrdPoint", "TofPoint"}};
70
72 /* clang-format off */
81 /* clang-format on */
82
86
88
91
94
95} // namespace cbm::ca
96
99{
100 kSTS,
101 kMCBM
102};
@ kMvd
Micro-Vertex Detector.
@ kTrd
Transition Radiation Detector.
@ kTof
Time-of-flight Detector.
@ kSts
Silicon Tracking System.
@ kMuch
Muon detection system.
ECbmCaTrackingMode
Enumeration for different tracking running modes.
@ kMCBM
Global tracking in mCBM (STS, MuCh, TRD, TOF), results stored to GlobalTrack branch.
@ kSTS
Local tracking in CBM (STS + MVD), results stored to the StsTrack branch.
data class for a reconstructed 3-d hit in the STS
Definition CbmStsHit.h:35
Geometric intersection of a MC track with a TOFb detector.
Definition CbmTofPoint.h:44
data class for a reconstructed Energy-4D measurement in the TRD
Definition CbmTrdHit.h:40
TODO: SZh 8.11.2022: add selection of parameterisation.
Definition CaBranch.h:14
constexpr DetIdArr_t< ECbmDataType > kCbmHitType
Data type of hits (for CbmEvent)
constexpr DetIdArr_t< ECbmModuleId > kCbmModuleId
Conversion map from ca::EDetectorID to ECbmModuleId.
constexpr DetIdArr_t< const char * > kDetPointBrName
Name of point branches for each detector.
constexpr DetIdArr_t< const char * > kDetName
Names of detector subsystems.
constexpr DetIdArr_t< const char * > kDetHitBrName
Name of hit branches for each detector.
static constexpr std::size_t size
std::tuple_element_t< static_cast< std::size_t >(DetID), std::tuple< Types... > > at