]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/MUON/AliHLTMUONConstants.h
Removing ClassDef and ClassImp since this class should never be used within the AliRo...
[u/mrichter/AliRoot.git] / HLT / MUON / AliHLTMUONConstants.h
CommitLineData
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.
17extern "C" {
18struct AliHLTComponentDataType;
19struct AliHLTMUONTriggerRecordStruct;
20struct AliHLTMUONTrigRecInfoStruct;
21struct AliHLTMUONTriggerChannelStruct;
22struct AliHLTMUONRecHitStruct;
23struct AliHLTMUONChannelStruct;
24struct AliHLTMUONClusterStruct;
25struct AliHLTMUONMansoTrackStruct;
26struct AliHLTMUONMansoRoIStruct;
27struct AliHLTMUONMansoCandidateStruct;
28struct AliHLTMUONTrackDecisionStruct;
29struct 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 */
37class AliHLTMUONConstants
38{
39public:
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
166private:
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