]>
Commit | Line | Data |
---|---|---|
26a4668d | 1 | #ifndef ALIHLTMUONCONSTANTS_H |
2 | #define ALIHLTMUONCONSTANTS_H | |
3 | /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | /** | |
9 | * @file AliHLTMUONConstants.h | |
10 | * @author Indranil Das <indra.das@saha.ac.in>, | |
11 | * Artur Szostak <artursz@iafrica.com> | |
12 | * @date | |
13 | * @brief Class containing various dimuon HLT constants used in the system. | |
14 | */ | |
15 | ||
b12fe461 | 16 | // Forward declare structures. |
17 | extern "C" { | |
18 | struct AliHLTComponentDataType; | |
19 | struct AliHLTMUONTriggerRecordStruct; | |
20 | struct AliHLTMUONTrigRecInfoStruct; | |
21 | struct AliHLTMUONTriggerChannelStruct; | |
22 | struct AliHLTMUONRecHitStruct; | |
23 | struct AliHLTMUONChannelStruct; | |
24 | struct AliHLTMUONClusterStruct; | |
25 | struct AliHLTMUONMansoTrackStruct; | |
26 | struct AliHLTMUONMansoRoIStruct; | |
27 | struct AliHLTMUONMansoCandidateStruct; | |
28 | struct AliHLTMUONTrackDecisionStruct; | |
29 | struct AliHLTMUONPairDecisionStruct; | |
30 | } // extern "C" | |
26a4668d | 31 | |
32 | /** | |
33 | * AliHLTMUONConstants contains a list of global dimuon HLT specific constants | |
34 | * and constant structures used in the system. | |
35 | * Static methods are provided to access these values. | |
36 | */ | |
37 | class AliHLTMUONConstants | |
38 | { | |
39 | public: | |
40 | ||
c8ec7c7e | 41 | static const AliHLTMUONTriggerRecordStruct& NilTriggerRecordStruct() |
42 | { | |
43 | return fgkNilTriggerRecordStruct; | |
44 | } | |
45 | ||
46 | static const AliHLTMUONTrigRecInfoStruct& NilTrigRecInfoStruct() | |
47 | { | |
48 | return fgkNilTrigRecInfoStruct; | |
49 | } | |
50 | ||
51 | static const AliHLTMUONTriggerChannelStruct& NilTriggerChannelStruct() | |
52 | { | |
53 | return fgkNilTriggerChannelStruct; | |
54 | } | |
55 | ||
26a4668d | 56 | static const AliHLTMUONRecHitStruct& NilRecHitStruct() |
57 | { | |
58 | return fgkNilRecHitStruct; | |
59 | } | |
60 | ||
910807dd | 61 | static const AliHLTMUONChannelStruct& NilChannelStruct() |
26a4668d | 62 | { |
910807dd | 63 | return fgkNilChannelStruct; |
26a4668d | 64 | } |
65 | ||
910807dd | 66 | static const AliHLTMUONClusterStruct& NilClusterStruct() |
26a4668d | 67 | { |
910807dd | 68 | return fgkNilClusterStruct; |
26a4668d | 69 | } |
70 | ||
90a74d7a | 71 | static const AliHLTMUONMansoTrackStruct& NilMansoTrackStruct() |
72 | { | |
73 | return fgkNilMansoTrackStruct; | |
74 | } | |
75 | ||
76 | static const AliHLTMUONMansoRoIStruct& NilMansoRoIStruct() | |
77 | { | |
78 | return fgkNilMansoRoIStruct; | |
79 | } | |
80 | ||
81 | static const AliHLTMUONMansoCandidateStruct& NilMansoCandidateStruct() | |
82 | { | |
83 | return fgkNilMansoCandidateStruct; | |
84 | } | |
85 | ||
86 | static const AliHLTMUONTrackDecisionStruct& NilTrackDecisionStruct() | |
87 | { | |
88 | return fgkNilTrackDecisionStruct; | |
89 | } | |
90 | ||
91 | static const AliHLTMUONPairDecisionStruct& NilPairDecisionStruct() | |
92 | { | |
93 | return fgkNilPairDecisionStruct; | |
94 | } | |
95 | ||
b12fe461 | 96 | static const AliHLTComponentDataType& TriggerDDLRawDataType() |
26a4668d | 97 | { |
b12fe461 | 98 | return fgkTriggerDDLRawDataType; |
26a4668d | 99 | } |
100 | ||
b12fe461 | 101 | static const AliHLTComponentDataType& TrackingDDLRawDataType() |
26a4668d | 102 | { |
b12fe461 | 103 | return fgkTrackingDDLRawDataType; |
26a4668d | 104 | } |
105 | ||
910807dd | 106 | static const AliHLTComponentDataType& TriggerRecordsBlockDataType() |
26a4668d | 107 | { |
910807dd | 108 | return fgkTriggerRecordsBlockDataType; |
26a4668d | 109 | } |
110 | ||
910807dd | 111 | static const AliHLTComponentDataType& TrigRecsDebugBlockDataType() |
26a4668d | 112 | { |
910807dd | 113 | return fgkTrigRecsDebugBlockDataType; |
26a4668d | 114 | } |
115 | ||
910807dd | 116 | static const AliHLTComponentDataType& TriggerChannelBlockDataType() |
26a4668d | 117 | { |
910807dd | 118 | return fgkTriggerChannelBlockDataType; |
119 | } | |
120 | ||
121 | static const AliHLTComponentDataType& RecHitsBlockDataType() | |
122 | { | |
123 | return fgkRecHitsBlockDataType; | |
124 | } | |
125 | ||
126 | static const AliHLTComponentDataType& ClusterBlockDataType() | |
127 | { | |
128 | return fgkClusterBlockDataType; | |
26a4668d | 129 | } |
130 | ||
910807dd | 131 | static const AliHLTComponentDataType& ChannelBlockDataType() |
26a4668d | 132 | { |
910807dd | 133 | return fgkChannelBlockDataType; |
26a4668d | 134 | } |
135 | ||
136 | static const AliHLTComponentDataType& MansoTracksBlockDataType() | |
137 | { | |
138 | return fgkMansoTracksBlockDataType; | |
139 | } | |
140 | ||
90a74d7a | 141 | static const AliHLTComponentDataType& MansoCandidatesBlockDataType() |
26a4668d | 142 | { |
90a74d7a | 143 | return fgkMansoCandidatesBlockDataType; |
910807dd | 144 | } |
145 | ||
90a74d7a | 146 | static const AliHLTComponentDataType& SinglesDecisionBlockDataType() |
910807dd | 147 | { |
90a74d7a | 148 | return fgkSinglesDecisionBlockDataType; |
26a4668d | 149 | } |
150 | ||
90a74d7a | 151 | static const AliHLTComponentDataType& PairsDecisionBlockDataType() |
26a4668d | 152 | { |
90a74d7a | 153 | return fgkPairsDecisionBlockDataType; |
26a4668d | 154 | } |
b12fe461 | 155 | |
156 | static const char* RecHitsSourceId() | |
157 | { | |
158 | return fgkRecHitsSourceId; | |
159 | } | |
6cde4e61 | 160 | |
161 | static const char* MansoTrackerFSMId() | |
162 | { | |
163 | return fgkMansoTrackerFSMId; | |
164 | } | |
26a4668d | 165 | |
166 | private: | |
90a74d7a | 167 | |
b12fe461 | 168 | // Should never have to create, destroy or copy this object. |
26a4668d | 169 | AliHLTMUONConstants(); |
b12fe461 | 170 | AliHLTMUONConstants(const AliHLTMUONConstants& obj); |
26a4668d | 171 | ~AliHLTMUONConstants(); |
b12fe461 | 172 | AliHLTMUONConstants& operator = (const AliHLTMUONConstants& obj); |
c8ec7c7e | 173 | |
b12fe461 | 174 | // The following are null/nil structures that can also be used as sentinels: |
175 | static const AliHLTMUONTriggerRecordStruct fgkNilTriggerRecordStruct; // Nil trigger record. | |
176 | static const AliHLTMUONTrigRecInfoStruct fgkNilTrigRecInfoStruct; // Nil trigger record debug information. | |
177 | static const AliHLTMUONTriggerChannelStruct fgkNilTriggerChannelStruct; // Nil trigger chamber channel. | |
178 | static const AliHLTMUONRecHitStruct fgkNilRecHitStruct; // Nil reconstructed hit. | |
179 | static const AliHLTMUONChannelStruct fgkNilChannelStruct; // Nil tracking chamber channel. | |
180 | static const AliHLTMUONClusterStruct fgkNilClusterStruct; // Nil tracking chamber cluster. | |
181 | static const AliHLTMUONMansoTrackStruct fgkNilMansoTrackStruct; // Nil manso track. | |
182 | static const AliHLTMUONMansoRoIStruct fgkNilMansoRoIStruct; // Nil manso region of interest. | |
183 | static const AliHLTMUONMansoCandidateStruct fgkNilMansoCandidateStruct; // Nil manso candidate track. | |
184 | static const AliHLTMUONTrackDecisionStruct fgkNilTrackDecisionStruct; // Nil decision for single track. | |
185 | static const AliHLTMUONPairDecisionStruct fgkNilPairDecisionStruct; // Nil decision for track pair. | |
186 | ||
187 | // HLT component input and output data block types: | |
188 | static const AliHLTComponentDataType fgkTriggerDDLRawDataType; // DDL packed data block type from dimuon trigger stations. | |
189 | static const AliHLTComponentDataType fgkTrackingDDLRawDataType; // DDL packed data block type from dimuon tracking stations. | |
190 | static const AliHLTComponentDataType fgkTriggerRecordsBlockDataType; // Trigger records block type generated by trigger DDL translation components. | |
191 | static const AliHLTComponentDataType fgkTrigRecsDebugBlockDataType; // Debugging information block type generated by trigger DDL translation components. | |
192 | static const AliHLTComponentDataType fgkTriggerChannelBlockDataType; // Debugging information about the channels from the hardware trigger. | |
193 | static const AliHLTComponentDataType fgkRecHitsBlockDataType; // Reconstructed hits block type generated by hit reconstruction components. | |
194 | static const AliHLTComponentDataType fgkClusterBlockDataType; // Debugging information block type for reconstructed hit clusters. | |
195 | static const AliHLTComponentDataType fgkChannelBlockDataType; // Debugging information block type for channels corresponding to clusters. | |
196 | static const AliHLTComponentDataType fgkMansoTracksBlockDataType; // Manso tracks block type generated by Manso tracker components. | |
197 | static const AliHLTComponentDataType fgkMansoCandidatesBlockDataType; // Debugging information about a track candidate generated by the Manso algorithm. | |
198 | static const AliHLTComponentDataType fgkSinglesDecisionBlockDataType; // Trigger decision block type for single track decisions. | |
199 | static const AliHLTComponentDataType fgkPairsDecisionBlockDataType; // Trigger decision block type for pairs of particles. | |
200 | ||
201 | // Component ID names: | |
202 | static const char* fgkRecHitsSourceId; // Reconstructed hit component name. | |
6cde4e61 | 203 | static const char* fgkMansoTrackerFSMId; // Manso tracker FSM implementation component name. |
26a4668d | 204 | }; |
205 | ||
206 | #endif // ALIHLTMUONCONSTANTS_H |