bugfix: correct range of DDL for specified detector
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTHOMERSourceDesc.h
CommitLineData
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 41class AliHLTHOMERSourceDesc : public TNamed {
155ff173 42
43public:
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 */
c22940f3 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 */
c22940f3 110 TString& GetSourceName() { return fSourceName; }
155ff173 111
155ff173 112 /** Get detector of this source
113 * @return detector
114 */
c22940f3 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 */
c22940f3 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
139private:
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