]>
Commit | Line | Data |
---|---|---|
155ff173 | 1 | //-*- Mode: C++ -*- |
6fe8cb30 | 2 | // $Id$ |
155ff173 | 3 | #ifndef ALIHLTHOMERSOURCEDESC_H |
4 | #define ALIHLTHOMERSOURCEDESC_H | |
5 | ||
6 | /* This file is property of and copyright by the ALICE HLT Project * | |
7 | * ALICE Experiment at CERN, All rights reserved. * | |
8 | * See cxx source for full Copyright notice */ | |
9 | ||
10 | /** @file AliHLTHOMERSourceDesc.h | |
11 | @author Jochen Thaeder | |
12 | @date | |
13 | @brief Container for HOMER Sources | |
14 | */ | |
15 | ||
16 | // see below for class documentation | |
17 | // or | |
18 | // refer to README to build package | |
19 | // or | |
20 | // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt | |
21 | ||
2ff24e4c | 22 | /** |
23 | * @defgroup alihlt_homer HOMER handling for AliROOT | |
24 | * This section describes the handling of HOMER Sources, Blocks | |
25 | * and the HOMER Reader inside the HLT and AliROOT | |
26 | */ | |
27 | ||
155ff173 | 28 | #include "TString.h" |
1a04dcde | 29 | #include "TNamed.h" |
155ff173 | 30 | |
31 | /** | |
32 | * @class AliHLTHOMERSourceDesc | |
33 | * This class contains the information of 1 homer source: hostname, port for the HOMER | |
34 | * interface as well as data specifications. It used in order to fill these sources in | |
35 | * TLists. ( It has to inherit from TObject ). Further more it knows if this source was | |
36 | * selected for read from a user. Mainly used in the AliEVEHOMERManager, as source | |
37 | * objects for AliEVE. | |
38 | * | |
39 | * @ingroup alihlt_homer | |
40 | */ | |
1a04dcde | 41 | class AliHLTHOMERSourceDesc : public TNamed { |
155ff173 | 42 | |
43 | public: | |
44 | ||
06272c83 | 45 | /** constructor */ |
155ff173 | 46 | AliHLTHOMERSourceDesc(); |
47 | ||
155ff173 | 48 | /** destructor */ |
49 | virtual ~AliHLTHOMERSourceDesc(); | |
50 | ||
06272c83 | 51 | /* |
52 | * --------------------------------------------------------------------------------- | |
53 | * Selection - public | |
54 | * --------------------------------------------------------------------------------- | |
55 | */ | |
56 | ||
155ff173 | 57 | // -- SELECTION -- |
58 | ||
59 | /** Set selection state | |
60 | * @param state state, either kTRUE or kFALSE | |
61 | */ | |
62 | void SetState( Bool_t state ) { fSelected = state; } | |
63 | ||
64 | /** Checks if Source is selected to readout | |
65 | * @return returns state, either kTRUE or kFALSE | |
06272c83 | 66 | */ |
2ff24e4c | 67 | Bool_t IsSelected() { return fSelected; } |
155ff173 | 68 | |
69 | /** Select this source */ | |
2ff24e4c | 70 | void Select() { fSelected = kTRUE; } |
06272c83 | 71 | |
155ff173 | 72 | /** Deselect this source */ |
2ff24e4c | 73 | void Deselect() { fSelected = kFALSE; } |
155ff173 | 74 | |
06272c83 | 75 | /* |
76 | * --------------------------------------------------------------------------------- | |
77 | * Setter - public | |
78 | * --------------------------------------------------------------------------------- | |
155ff173 | 79 | */ |
155ff173 | 80 | |
06272c83 | 81 | /** Set Service of this source |
82 | * @param hostname hostname of the source | |
83 | * @param port port of the source | |
84 | * @param origin HLT data origin | |
85 | * @param type HLT data type | |
86 | * @param spec HLT data specification | |
155ff173 | 87 | */ |
06272c83 | 88 | void SetService( TString hostname, Int_t port, TString origin, |
89 | TString type, TString spec ); | |
155ff173 | 90 | |
06272c83 | 91 | /* |
92 | * --------------------------------------------------------------------------------- | |
93 | * Getter - public | |
94 | * --------------------------------------------------------------------------------- | |
155ff173 | 95 | */ |
155ff173 | 96 | |
97 | /** Get node name of this source | |
98 | * @return hostname | |
99 | */ | |
2ff24e4c | 100 | TString GetHostname() { return fHostname; } |
155ff173 | 101 | |
102 | /** Get node name of this source | |
103 | * @return port | |
104 | */ | |
06272c83 | 105 | Int_t GetPort() { return fPort; } |
155ff173 | 106 | |
107 | /** Get name of this source | |
60dd5042 | 108 | * @return name |
155ff173 | 109 | */ |
2ff24e4c | 110 | TString GetSourceName() { return fSourceName; } |
155ff173 | 111 | |
155ff173 | 112 | /** Get detector of this source |
113 | * @return detector | |
114 | */ | |
2ff24e4c | 115 | TString GetDetector() { return fDetector; } |
155ff173 | 116 | |
117 | /** Get sub detector of this source | |
118 | * @return subdetector | |
119 | */ | |
06272c83 | 120 | Int_t GetSubDetector() { return fSubDetector; } |
155ff173 | 121 | |
122 | /** Get sub sub detector of this source | |
123 | * @return subsubdetector | |
124 | */ | |
06272c83 | 125 | Int_t GetSubSubDetector() { return fSubSubDetector; } |
155ff173 | 126 | |
127 | /** Get HLT data type of this source | |
128 | * @return HLT data type | |
129 | */ | |
2ff24e4c | 130 | TString GetDataType() { return fDataType; } |
155ff173 | 131 | |
132 | /** Get HLT specification of this source | |
133 | * @return HLT specification | |
134 | */ | |
2ff24e4c | 135 | ULong_t GetSpecification() { return fSpecification; } |
155ff173 | 136 | |
06272c83 | 137 | /////////////////////////////////////////////////////////////////////////////////// |
155ff173 | 138 | |
139 | private: | |
06272c83 | 140 | |
155ff173 | 141 | /** copy constructor prohibited */ |
142 | AliHLTHOMERSourceDesc(const AliHLTHOMERSourceDesc&); | |
143 | ||
144 | /** assignment operator prohibited */ | |
145 | AliHLTHOMERSourceDesc& operator=(const AliHLTHOMERSourceDesc&); | |
146 | ||
06272c83 | 147 | /* |
148 | * --------------------------------------------------------------------------------- | |
149 | * Members - private | |
150 | * --------------------------------------------------------------------------------- | |
151 | */ | |
152 | ||
155ff173 | 153 | /** is selected to read out */ |
154 | Bool_t fSelected; // see above | |
155 | ||
06272c83 | 156 | /** Name of Source */ |
157 | TString fSourceName; // see above | |
158 | ||
159 | // -- Service Specifications -- | |
160 | // ---------------------------- | |
161 | ||
155ff173 | 162 | /** Name of HOMER Node */ |
163 | TString fHostname; // see above | |
164 | ||
165 | /** Name of HOMER port */ | |
166 | Int_t fPort; // see above | |
167 | ||
06272c83 | 168 | // -- Data Specifications -- |
169 | // ------------------------- | |
155ff173 | 170 | |
06272c83 | 171 | /** HLT DataType */ |
172 | TString fDataType; // see above | |
155ff173 | 173 | |
174 | /** Detector Name, e.g. PHOS | |
175 | * corresponds to HLT origin | |
176 | */ | |
177 | TString fDetector; // see above | |
178 | ||
155ff173 | 179 | /** HLT Specification */ |
180 | ULong_t fSpecification; // see above | |
181 | ||
06272c83 | 182 | /** SubDetector Name e.g. MODULE */ |
183 | Int_t fSubDetector; // see above | |
184 | ||
185 | /** SubSubDetector Name e.g. PARTITION */ | |
186 | Int_t fSubSubDetector; // see above | |
155ff173 | 187 | |
188 | ClassDef( AliHLTHOMERSourceDesc, 0 ) | |
189 | }; | |
190 | ||
191 | #endif |