3 #ifndef ALIHLTHOMERSOURCEDESC_H
4 #define ALIHLTHOMERSOURCEDESC_H
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 */
10 /** @file AliHLTHOMERSourceDesc.h
11 @author Jochen Thaeder
13 @brief Container for HOMER Sources
16 // see below for class documentation
18 // refer to README to build package
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
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
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
39 * @ingroup alihlt_homer
41 class AliHLTHOMERSourceDesc : public TNamed {
46 AliHLTHOMERSourceDesc();
49 virtual ~AliHLTHOMERSourceDesc();
52 * ---------------------------------------------------------------------------------
54 * ---------------------------------------------------------------------------------
59 /** Set selection state
60 * @param state state, either kTRUE or kFALSE
62 void SetState( Bool_t state ) { fSelected = state; }
64 /** Checks if Source is selected to readout
65 * @return returns state, either kTRUE or kFALSE
67 Bool_t IsSelected() { return fSelected; }
69 /** Select this source */
70 void Select() { fSelected = kTRUE; }
72 /** Deselect this source */
73 void Deselect() { fSelected = kFALSE; }
76 * ---------------------------------------------------------------------------------
78 * ---------------------------------------------------------------------------------
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
88 void SetService( TString hostname, Int_t port, TString origin,
89 TString type, TString spec );
92 * ---------------------------------------------------------------------------------
94 * ---------------------------------------------------------------------------------
97 /** Get node name of this source
100 TString GetHostname() { return fHostname; }
102 /** Get node name of this source
105 Int_t GetPort() { return fPort; }
107 /** Get name of this source
110 TString GetSourceName() { return fSourceName; }
112 /** Get detector of this source
115 TString GetDetector() { return fDetector; }
117 /** Get sub detector of this source
118 * @return subdetector
120 Int_t GetSubDetector() { return fSubDetector; }
122 /** Get sub sub detector of this source
123 * @return subsubdetector
125 Int_t GetSubSubDetector() { return fSubSubDetector; }
127 /** Get HLT data type of this source
128 * @return HLT data type
130 TString GetDataType() { return fDataType; }
132 /** Get HLT specification of this source
133 * @return HLT specification
135 ULong_t GetSpecification() { return fSpecification; }
137 ///////////////////////////////////////////////////////////////////////////////////
141 /** copy constructor prohibited */
142 AliHLTHOMERSourceDesc(const AliHLTHOMERSourceDesc&);
144 /** assignment operator prohibited */
145 AliHLTHOMERSourceDesc& operator=(const AliHLTHOMERSourceDesc&);
148 * ---------------------------------------------------------------------------------
150 * ---------------------------------------------------------------------------------
153 /** is selected to read out */
154 Bool_t fSelected; // see above
156 /** Name of Source */
157 TString fSourceName; // see above
159 // -- Service Specifications --
160 // ----------------------------
162 /** Name of HOMER Node */
163 TString fHostname; // see above
165 /** Name of HOMER port */
166 Int_t fPort; // see above
168 // -- Data Specifications --
169 // -------------------------
172 TString fDataType; // see above
174 /** Detector Name, e.g. PHOS
175 * corresponds to HLT origin
177 TString fDetector; // see above
179 /** HLT Specification */
180 ULong_t fSpecification; // see above
182 /** SubDetector Name e.g. MODULE */
183 Int_t fSubDetector; // see above
185 /** SubSubDetector Name e.g. PARTITION */
186 Int_t fSubSubDetector; // see above
188 ClassDef( AliHLTHOMERSourceDesc, 0 )