2 #ifndef ALIHLTHOMERSOURCEDESC_H
3 #define ALIHLTHOMERSOURCEDESC_H
5 /* This file is property of and copyright by the ALICE HLT Project *
6 * ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice */
9 /** @file AliHLTHOMERSourceDesc.h
10 @author Jochen Thaeder
12 @brief Container for HOMER Sources
15 // see below for class documentation
17 // refer to README to build package
19 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
22 * @defgroup alihlt_homer HOMER handling for AliROOT
23 * This section describes the handling of HOMER Sources, Blocks
24 * and the HOMER Reader inside the HLT and AliROOT
31 * @class AliHLTHOMERSourceDesc
32 * This class contains the information of 1 homer source: hostname, port for the HOMER
33 * interface as well as data specifications. It used in order to fill these sources in
34 * TLists. ( It has to inherit from TObject ). Further more it knows if this source was
35 * selected for read from a user. Mainly used in the AliEVEHOMERManager, as source
38 * @ingroup alihlt_homer
40 class AliHLTHOMERSourceDesc : public TNamed {
45 AliHLTHOMERSourceDesc();
48 virtual ~AliHLTHOMERSourceDesc();
51 * ---------------------------------------------------------------------------------
53 * ---------------------------------------------------------------------------------
58 /** Set selection state
59 * @param state state, either kTRUE or kFALSE
61 void SetState( Bool_t state ) { fSelected = state; }
63 /** Checks if Source is selected to readout
64 * @return returns state, either kTRUE or kFALSE
66 Bool_t IsSelected() { return fSelected; }
68 /** Select this source */
69 void Select() { fSelected = kTRUE; }
71 /** Deselect this source */
72 void Deselect() { fSelected = kFALSE; }
75 * ---------------------------------------------------------------------------------
77 * ---------------------------------------------------------------------------------
80 /** Set Service of this source
81 * @param hostname hostname of the source
82 * @param port port of the source
83 * @param origin HLT data origin
84 * @param type HLT data type
85 * @param spec HLT data specification
87 void SetService( TString hostname, Int_t port, TString origin,
88 TString type, TString spec );
91 * ---------------------------------------------------------------------------------
93 * ---------------------------------------------------------------------------------
96 /** Get node name of this source
99 TString GetHostname() { return fHostname; }
101 /** Get node name of this source
104 Int_t GetPort() { return fPort; }
106 /** Get name of this source
109 TString GetSourceName() { return fSourceName; }
111 /** Get detector of this source
114 TString GetDetector() { return fDetector; }
116 /** Get sub detector of this source
117 * @return subdetector
119 Int_t GetSubDetector() { return fSubDetector; }
121 /** Get sub sub detector of this source
122 * @return subsubdetector
124 Int_t GetSubSubDetector() { return fSubSubDetector; }
126 /** Get HLT data type of this source
127 * @return HLT data type
129 TString GetDataType() { return fDataType; }
131 /** Get HLT specification of this source
132 * @return HLT specification
134 ULong_t GetSpecification() { return fSpecification; }
136 ///////////////////////////////////////////////////////////////////////////////////
140 /** copy constructor prohibited */
141 AliHLTHOMERSourceDesc(const AliHLTHOMERSourceDesc&);
143 /** assignment operator prohibited */
144 AliHLTHOMERSourceDesc& operator=(const AliHLTHOMERSourceDesc&);
147 * ---------------------------------------------------------------------------------
149 * ---------------------------------------------------------------------------------
152 /** is selected to read out */
153 Bool_t fSelected; // see above
155 /** Name of Source */
156 TString fSourceName; // see above
158 // -- Service Specifications --
159 // ----------------------------
161 /** Name of HOMER Node */
162 TString fHostname; // see above
164 /** Name of HOMER port */
165 Int_t fPort; // see above
167 // -- Data Specifications --
168 // -------------------------
171 TString fDataType; // see above
173 /** Detector Name, e.g. PHOS
174 * corresponds to HLT origin
176 TString fDetector; // see above
178 /** HLT Specification */
179 ULong_t fSpecification; // see above
181 /** SubDetector Name e.g. MODULE */
182 Int_t fSubDetector; // see above
184 /** SubSubDetector Name e.g. PARTITION */
185 Int_t fSubSubDetector; // see above
187 ClassDef( AliHLTHOMERSourceDesc, 0 )