CbmRoot
Loading...
Searching...
No Matches
CbmDataLinkDef.h
Go to the documentation of this file.
1/* Copyright (C) 2009-2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Florian Uhlig [committer], Volker Friese */
4
5#ifdef __CINT__
6
7#pragma link off all globals;
8#pragma link off all classes;
9#pragma link off all functions;
10
11#pragma link C++ class CbmAddress;
12#pragma link C++ class CbmTimeSlice;
13#pragma link C++ class CbmDigiBranchBase + ;
14#pragma link C++ class CbmEvent + ;
15#pragma link C++ class CbmEventTriggers + ;
16#pragma link C++ class CbmEventStore + ;
17#pragma link C++ class CbmHit + ;
18#pragma link C++ class CbmMCTrack + ;
19#pragma link C++ class CbmPixelHit + ;
20#pragma link C++ class CbmStripHit + ;
21#pragma link C++ class CbmTrack + ;
22#pragma link C++ class CbmTrackParam;
23#pragma link C++ class CbmTrackMatch + ;
24#pragma link C++ class CbmCluster + ;
25#pragma link C++ class CbmMatch + ;
26#pragma link C++ class CbmTrackMatchNew + ;
27#pragma link C++ class CbmLink + ;
28#pragma link C++ class CbmModuleList;
29#pragma link C++ class CbmErrorMessage + ;
30#pragma link C++ class CbmTsEventHeader + ;
31#pragma link C++ class std::vector < CbmErrorMessage> + ;
32#pragma link C++ class std::vector < CbmEventTriggers> + ;
33#pragma link C++ enum CbmEventTriggers::ETrigger;
34
35// ---In base
36#pragma link C++ class CbmDigiBranchBase + ;
37#pragma link C++ class CbmDigiContainer + ;
38
39#pragma link C++ class CbmMCTrack + ;
40#pragma link C++ class CbmMCEventList;
41#pragma link C++ class CbmMCEventInfo;
42
43#pragma link C++ class CbmBmonDigi + ;
44#pragma link C++ class CbmBmonDigiData + ;
45
46#pragma link C++ class CbmMvdCluster + ;
47#pragma link C++ class CbmMvdDetectorId + ;
48#pragma link C++ class CbmMvdDigi + ;
49#pragma link C++ class CbmMvdHit + ;
50#pragma link C++ class CbmMvdPoint + ;
51#pragma link C++ class CbmMvdHitMatch + ;
52
53#pragma link C++ namespace CbmStsAddress;
54#pragma link C++ class CbmStsCluster + ;
55#pragma link C++ class CbmStsDigi + ;
56#pragma link C++ class CbmStsDigiData + ;
57#pragma link C++ class CbmStsHit + ;
58#pragma link C++ class CbmStsPoint + ;
59#pragma link C++ class CbmStsTrack + ;
60#pragma link C++ enum EStsElementLevel;
61
62#pragma link C++ class CbmRichPoint + ;
63#pragma link C++ class CbmRichHit + ;
64#pragma link C++ class CbmRichRing + ;
65#pragma link C++ class CbmRichTrbDigi + ;
66#pragma link C++ class CbmRichDigi + ;
67#pragma link C++ class CbmRichDigiData + ;
68
69#pragma link C++ class CbmMuchCluster + ;
70#pragma link C++ class CbmMuchPixelHit + ;
71#pragma link C++ class CbmMuchPoint + ;
72#pragma link C++ class CbmMuchDigi + ;
73#pragma link C++ class CbmMuchDigiData + ;
74#pragma link C++ class CbmMuchBeamTimeDigi + ;
75#pragma link C++ class CbmMuchDigiMatch + ;
76#pragma link C++ class CbmMuchTrack + ;
77#pragma link C++ class CbmMuchAddress + ;
78
79#pragma link C++ class CbmTrdHit + ;
80#pragma link C++ class CbmTrdPoint + ;
81#pragma link C++ class CbmTrdTrack + ;
82#pragma link C++ class CbmTrdDigi + ;
83#pragma link C++ class CbmTrdDigiData + ;
84#pragma link C++ class CbmTrdAddress + ;
85#pragma link C++ class CbmTrdCluster + ;
86#pragma link C++ class CbmTrdRawMessageSpadic + ;
87
88#pragma link C++ class CbmTofHit + ;
89#pragma link C++ class CbmTofPoint + ;
90#pragma link C++ class CbmTofDigi + ;
91#pragma link C++ class CbmTofDigiData + ;
92#pragma link C++ class CbmTofAddress + ;
93#pragma link C++ class CbmTofTrack + ;
94#pragma link C++ class CbmTofTracklet + ;
95#pragma link C++ class CbmTofTrackletParam + ;
96
97#pragma link C++ class CbmPsdDigi + ;
98#pragma link C++ class CbmPsdDigiData + ;
99#pragma link C++ class CbmPsdDsp + ;
100#pragma link C++ class CbmPsdHit;
101#pragma link C++ class CbmPsdPoint + ;
102#pragma link C++ class CbmPsdAddress;
103#pragma link C++ class CbmPsdMCbmHit;
104
105#pragma link C++ class CbmFsdDigi + ;
106#pragma link C++ class CbmFsdDigiData + ;
107#pragma link C++ class CbmFsdHit + ;
108#pragma link C++ class CbmFsdPoint + ;
109#pragma link C++ namespace CbmFsdAddress;
110#pragma link C++ enum CbmFsdAddress::Level;
111
112// --- data/global
113#pragma link C++ class CbmGlobalTrack + ;
114#pragma link C++ class CbmVertex + ;
115#pragma link C++ class std::vector < CbmDigiEvent>;
116
117// --- data/raw
118#pragma link C++ class AccTimingEvent;
119#pragma link C++ class AccStatusTs;
120#pragma link C++ class stsxyter::Message;
121#pragma link C++ class gdpbv100::Message;
122#pragma link C++ class gdpbv100::FullMessage;
123#pragma link C++ class critof001::Message;
124#pragma link C++ class critof001::FullMessage;
125#pragma link C++ class TimesliceMetaData;
126#pragma link C++ class PsdDataV000::PsdGbtReader;
127#pragma link C++ class PsdDataV100::PsdGbtReader;
128
129#pragma link C++ class std::vector < stsxyter::Message>;
130#pragma link C++ class std::vector < gdpbv100::Message>;
131#pragma link C++ class std::vector < CbmTrdRawMessageSpadic>;
132
133#pragma link C++ enum ECbmTreeAccess;
134#pragma link C++ enum ECbmModuleId;
135#pragma link C++ enum ECbmDataType;
136
137#pragma link C++ class vector < CbmMvdDigi> + ;
138#pragma link C++ class vector < CbmStsDigi> + ;
139#pragma link C++ class vector < CbmRichDigi> + ;
140#pragma link C++ class vector < CbmMuchDigi> + ;
141#pragma link C++ class vector < CbmMuchBeamTimeDigi> + ;
142#pragma link C++ class vector < CbmTrdDigi> + ;
143#pragma link C++ class vector < CbmTofDigi> + ;
144#pragma link C++ class vector < CbmBmonDigi> + ;
145#pragma link C++ class vector < CbmPsdDigi> + ;
146#pragma link C++ class vector < CbmPsdDsp> + ;
147#pragma link C++ class vector < CbmFsdDigi> + ;
148#pragma link C++ class vector < CbmMatch> + ;
149#pragma link C++ class CbmDigiVector < CbmMvdDigi> + ;
150#pragma link C++ class CbmDigiVector < CbmStsDigi> + ;
151#pragma link C++ class CbmDigiVector < CbmRichDigi> + ;
152#pragma link C++ class CbmDigiVector < CbmMuchDigi> + ;
153#pragma link C++ class CbmDigiVector < CbmMuchBeamTimeDigi> + ;
154#pragma link C++ class CbmDigiVector < CbmTrdDigi> + ;
155#pragma link C++ class CbmDigiVector < CbmTofDigi> + ;
156#pragma link C++ class CbmDigiVector < CbmPsdDigi> + ;
157#pragma link C++ class CbmDigiVector < CbmPsdDsp> + ;
158#pragma link C++ class CbmDigiVector < CbmFsdDigi> + ;
159#pragma link C++ class vector < CbmEventStore> + ;
160
161#pragma link C++ class std::vector < CbmEvent> + ;
162#pragma link C++ class CbmDigiData + ;
163#pragma link C++ class CbmDigiEvent + ;
164#pragma link C++ class std::vector < CbmDigiEvent> + ;
165#pragma link C++ class CbmDigiTimeslice + ;
166
167/* clang-format off */
168#pragma read sourceClass="CbmStsDigi" version="[7]" targetClass="CbmStsDigi" \
169 source="int64_t fTime; int32_t fAddress; uint16_t fChannel; uint16_t fCharge" \
170 target="" \
171 include="Logger.h" \
172 code="{ newObj->SetAddressAndTime(onfile.fAddress, onfile.fTime); \
173 newObj->SetChannelAndCharge(onfile.fChannel, onfile.fCharge); \
174 }"
175
176#pragma read sourceClass = "CbmTofDigi" version = "[1-2]" targetClass = "CbmTofDigi" source = \
177 "uint32_t fuAddress" target = "fuAddress" include = "Logger.h" code = \
178 "{ uint32_t system = (onfile.fuAddress >> 0) & ((1 << 4) - 1); \
179 uint32_t smId = (onfile.fuAddress >> 4) & ((1 << 8) - 1); \
180 uint32_t smType = (onfile.fuAddress >> 12) & ((1 << 4) - 1); \
181 uint32_t rpcId = (onfile.fuAddress >> 16) & ((1 << 7) - 1); \
182 uint32_t chSide = (onfile.fuAddress >> 23) & ((1 << 1) - 1); \
183 uint32_t chId = (onfile.fuAddress >> 24) & ((1 << 8) - 1); \
184 if ( smId > 127 || rpcId > 63 || chId > 63 ) { \
185 LOG(error) << \"You are trying to read an outdated version of CbmTofDigi\"; \
186 LOG(error) << \"where the unique tof address can't be converted\"; \
187 LOG(error) << \"automatically to the new tof addressing scheme.\"; \
188 LOG(fatal) << \"Stop execution.\"; \
189 } \
190 uint32_t rpcType = 0; \
191 fuAddress = (system & ((1 << 4) - 1)) \
192 + ((smId & ((1 << 7) - 1)) << 4) \
193 + ((smType & ((1 << 4) - 1)) << 11) \
194 + ((chSide & ((1 << 1) - 1)) << 21) \
195 + ((rpcId & ((1 << 6) - 1)) << 15) \
196 + ((chId & ((1 << 6) - 1)) << 22) \
197 + ((rpcType & ((1 << 4) - 1)) << 28); \
198 }"
199/* clang-format on */
200
201
202#pragma read sourceClass = "CbmTofHit" version = "[1-4]" targetClass = "CbmTofHit" source = "" target = "" include = \
203 "Logger.h" code = "{ \
204 LOG(error); \
205 LOG(error) << \"You are trying to read an outdated version of CbmTofHit\"; \
206 LOG(error) << \"where the unique tof address can't be converted\"; \
207 LOG(error) << \"automatically to the new tof addressing scheme.\"; \
208 LOG(error); \
209 LOG(fatal) << \"Stop execution.\"; \
210 }"
211
212#pragma read sourceClass = "CbmTofPoint" version = "[1-3]" targetClass = "CbmTofPoint" source = "" target = \
213 "" include = "Logger.h" code = "{ \
214 LOG(error); \
215 LOG(error) << \"You are trying to read an outdated version of CbmTofPoint\"; \
216 LOG(error) << \"where the unique tof address can't be converted\"; \
217 LOG(error) << \"automatically to the new tof addressing scheme.\"; \
218 LOG(error); \
219 LOG(fatal) << \"Stop execution.\"; \
220 }"
221
222#pragma read sourceClass = "CbmRichPoint" version = "[1]" targetClass = "CbmRichPoint" source = "" target = \
223 "" include = "Logger.h" code = "{ \
224 LOG(error); \
225 LOG(error) << \"You are trying to read an outdated version of CbmRichPoint\"; \
226 LOG(error) << \"where the unique pmt pixel addresses are not stored into CbmRichPoint.\"; \
227 LOG(error) << \"To fix this rerun transport.\"; \
228 LOG(error); \
229 LOG(fatal) << \"Stop execution.\"; \
230 }"
231#endif