#ifndef ALIHLTTRIGGERDOMAIN_H
#define ALIHLTTRIGGERDOMAIN_H
#include "TObject.h"
#include "TClonesArray.h"
#include "AliHLTDataTypes.h"
class AliHLTDomainEntry;
class AliHLTReadoutList;
class AliHLTTriggerDomain : public TObject
{
public:
AliHLTTriggerDomain();
AliHLTTriggerDomain(const char* list);
AliHLTTriggerDomain(const AliHLTReadoutList& list);
AliHLTTriggerDomain(const AliHLTTriggerDomain& domain);
virtual ~AliHLTTriggerDomain();
void Add(const AliHLTReadoutList& list);
void Add(const AliHLTDomainEntry& entry);
void Add(const AliHLTComponentDataType& datatype);
void Add(const char* blocktype, const char* origin);
void Add(const AliHLTComponentDataType& datatype, UInt_t spec);
void Add(const char* blocktype, const char* origin, UInt_t spec);
void Remove(const AliHLTReadoutList& list);
void Remove(const AliHLTDomainEntry& entry);
void Remove(const AliHLTComponentDataType& datatype);
void Remove(const char* blocktype, const char* origin);
void Remove(const AliHLTComponentDataType& datatype, UInt_t spec);
void Remove(const char* blocktype, const char* origin, UInt_t spec);
bool Contains(const AliHLTDomainEntry& entry) const;
bool IncludeInReadout(const AliHLTComponentBlockData* block) const;
bool ExcludeFromReadout(const AliHLTComponentBlockData* block) const
{
return ! IncludeInReadout(block);
}
virtual void Clear(Option_t* option = "C");
virtual void Print(Option_t* option = "") const;
AliHLTTriggerDomain& operator = (const AliHLTTriggerDomain& domain);
AliHLTTriggerDomain& operator |= (const AliHLTTriggerDomain& domain);
AliHLTTriggerDomain& operator ^= (const AliHLTTriggerDomain& domain);
AliHLTTriggerDomain& operator &= (const AliHLTTriggerDomain& domain)
{
return this->operator = (*this & domain);
}
AliHLTTriggerDomain& operator -= (const AliHLTTriggerDomain& domain);
AliHLTTriggerDomain operator ~ () const;
AliHLTTriggerDomain operator | (const AliHLTTriggerDomain& domain) const
{
AliHLTTriggerDomain result = *this;
return result.operator |= (domain);
}
AliHLTTriggerDomain operator ^ (const AliHLTTriggerDomain& domain) const
{
AliHLTTriggerDomain result = *this;
return result.operator ^= (domain);
}
AliHLTTriggerDomain operator & (const AliHLTTriggerDomain& domain) const;
AliHLTTriggerDomain operator - (const AliHLTTriggerDomain& domain) const
{
AliHLTTriggerDomain result = *this;
return result.operator -= (domain);
}
bool operator == (const AliHLTTriggerDomain& domain) const;
bool operator != (const AliHLTTriggerDomain& domain) const { return not this->operator==(domain); }
operator AliHLTReadoutList () const;
const AliHLTDomainEntry& operator[](int index) const;
int GetNofEntries()const {return fEntries.GetEntriesFast();}
private:
void MergeEntries(
const bool* removeThisEntry, Int_t entriesCount,
const bool* removeDomainEntry, Int_t startOfIntersects,
const AliHLTTriggerDomain& domain
);
void MarkForDeletionSubsetsOf(const AliHLTDomainEntry& entry, Int_t min);
void RemoveMarkedEntries();
void Optimise();
TClonesArray fEntries;
ClassDef(AliHLTTriggerDomain, 1)
};
#endif // ALIHLTTRIGGERDOMAIN_H
AliHLTTriggerDomain.h:100 AliHLTTriggerDomain.h:101 AliHLTTriggerDomain.h:102 AliHLTTriggerDomain.h:103 AliHLTTriggerDomain.h:104 AliHLTTriggerDomain.h:105 AliHLTTriggerDomain.h:106 AliHLTTriggerDomain.h:107 AliHLTTriggerDomain.h:108 AliHLTTriggerDomain.h:109 AliHLTTriggerDomain.h:110 AliHLTTriggerDomain.h:111 AliHLTTriggerDomain.h:112 AliHLTTriggerDomain.h:113 AliHLTTriggerDomain.h:114 AliHLTTriggerDomain.h:115 AliHLTTriggerDomain.h:116 AliHLTTriggerDomain.h:117 AliHLTTriggerDomain.h:118 AliHLTTriggerDomain.h:119 AliHLTTriggerDomain.h:120 AliHLTTriggerDomain.h:121 AliHLTTriggerDomain.h:122 AliHLTTriggerDomain.h:123 AliHLTTriggerDomain.h:124 AliHLTTriggerDomain.h:125 AliHLTTriggerDomain.h:126 AliHLTTriggerDomain.h:127 AliHLTTriggerDomain.h:128 AliHLTTriggerDomain.h:129 AliHLTTriggerDomain.h:130 AliHLTTriggerDomain.h:131 AliHLTTriggerDomain.h:132 AliHLTTriggerDomain.h:133 AliHLTTriggerDomain.h:134 AliHLTTriggerDomain.h:135 AliHLTTriggerDomain.h:136 AliHLTTriggerDomain.h:137 AliHLTTriggerDomain.h:138 AliHLTTriggerDomain.h:139 AliHLTTriggerDomain.h:140 AliHLTTriggerDomain.h:141 AliHLTTriggerDomain.h:142 AliHLTTriggerDomain.h:143 AliHLTTriggerDomain.h:144 AliHLTTriggerDomain.h:145 AliHLTTriggerDomain.h:146 AliHLTTriggerDomain.h:147 AliHLTTriggerDomain.h:148 AliHLTTriggerDomain.h:149 AliHLTTriggerDomain.h:150 AliHLTTriggerDomain.h:151 AliHLTTriggerDomain.h:152 AliHLTTriggerDomain.h:153 AliHLTTriggerDomain.h:154 AliHLTTriggerDomain.h:155 AliHLTTriggerDomain.h:156 AliHLTTriggerDomain.h:157 AliHLTTriggerDomain.h:158 AliHLTTriggerDomain.h:159 AliHLTTriggerDomain.h:160 AliHLTTriggerDomain.h:161 AliHLTTriggerDomain.h:162 AliHLTTriggerDomain.h:163 AliHLTTriggerDomain.h:164 AliHLTTriggerDomain.h:165 AliHLTTriggerDomain.h:166 AliHLTTriggerDomain.h:167 AliHLTTriggerDomain.h:168 AliHLTTriggerDomain.h:169 AliHLTTriggerDomain.h:170 AliHLTTriggerDomain.h:171 AliHLTTriggerDomain.h:172 AliHLTTriggerDomain.h:173 AliHLTTriggerDomain.h:174 AliHLTTriggerDomain.h:175 AliHLTTriggerDomain.h:176 AliHLTTriggerDomain.h:177 AliHLTTriggerDomain.h:178 AliHLTTriggerDomain.h:179 AliHLTTriggerDomain.h:180 AliHLTTriggerDomain.h:181 AliHLTTriggerDomain.h:182 AliHLTTriggerDomain.h:183 AliHLTTriggerDomain.h:184 AliHLTTriggerDomain.h:185 AliHLTTriggerDomain.h:186 AliHLTTriggerDomain.h:187 AliHLTTriggerDomain.h:188 AliHLTTriggerDomain.h:189 AliHLTTriggerDomain.h:190 AliHLTTriggerDomain.h:191 AliHLTTriggerDomain.h:192 AliHLTTriggerDomain.h:193 AliHLTTriggerDomain.h:194 AliHLTTriggerDomain.h:195 AliHLTTriggerDomain.h:196 AliHLTTriggerDomain.h:197 AliHLTTriggerDomain.h:198 AliHLTTriggerDomain.h:199 AliHLTTriggerDomain.h:200 AliHLTTriggerDomain.h:201 AliHLTTriggerDomain.h:202 AliHLTTriggerDomain.h:203 AliHLTTriggerDomain.h:204 AliHLTTriggerDomain.h:205 AliHLTTriggerDomain.h:206 AliHLTTriggerDomain.h:207 AliHLTTriggerDomain.h:208 AliHLTTriggerDomain.h:209 AliHLTTriggerDomain.h:210 AliHLTTriggerDomain.h:211 AliHLTTriggerDomain.h:212 AliHLTTriggerDomain.h:213 AliHLTTriggerDomain.h:214 AliHLTTriggerDomain.h:215 AliHLTTriggerDomain.h:216 AliHLTTriggerDomain.h:217 AliHLTTriggerDomain.h:218 AliHLTTriggerDomain.h:219 AliHLTTriggerDomain.h:220 AliHLTTriggerDomain.h:221 AliHLTTriggerDomain.h:222 AliHLTTriggerDomain.h:223 AliHLTTriggerDomain.h:224 AliHLTTriggerDomain.h:225 AliHLTTriggerDomain.h:226 AliHLTTriggerDomain.h:227 AliHLTTriggerDomain.h:228 AliHLTTriggerDomain.h:229 AliHLTTriggerDomain.h:230 AliHLTTriggerDomain.h:231 AliHLTTriggerDomain.h:232 AliHLTTriggerDomain.h:233 AliHLTTriggerDomain.h:234 AliHLTTriggerDomain.h:235 AliHLTTriggerDomain.h:236 AliHLTTriggerDomain.h:237 AliHLTTriggerDomain.h:238 AliHLTTriggerDomain.h:239 AliHLTTriggerDomain.h:240 AliHLTTriggerDomain.h:241 AliHLTTriggerDomain.h:242 AliHLTTriggerDomain.h:243 AliHLTTriggerDomain.h:244 AliHLTTriggerDomain.h:245 AliHLTTriggerDomain.h:246 AliHLTTriggerDomain.h:247 AliHLTTriggerDomain.h:248 AliHLTTriggerDomain.h:249 AliHLTTriggerDomain.h:250 AliHLTTriggerDomain.h:251 AliHLTTriggerDomain.h:252 AliHLTTriggerDomain.h:253 AliHLTTriggerDomain.h:254 AliHLTTriggerDomain.h:255 AliHLTTriggerDomain.h:256 AliHLTTriggerDomain.h:257 AliHLTTriggerDomain.h:258 AliHLTTriggerDomain.h:259 AliHLTTriggerDomain.h:260 AliHLTTriggerDomain.h:261 AliHLTTriggerDomain.h:262 AliHLTTriggerDomain.h:263 AliHLTTriggerDomain.h:264 AliHLTTriggerDomain.h:265 AliHLTTriggerDomain.h:266 AliHLTTriggerDomain.h:267 AliHLTTriggerDomain.h:268 AliHLTTriggerDomain.h:269 AliHLTTriggerDomain.h:270 AliHLTTriggerDomain.h:271 AliHLTTriggerDomain.h:272 AliHLTTriggerDomain.h:273 AliHLTTriggerDomain.h:274 AliHLTTriggerDomain.h:275 AliHLTTriggerDomain.h:276 AliHLTTriggerDomain.h:277 AliHLTTriggerDomain.h:278 AliHLTTriggerDomain.h:279 AliHLTTriggerDomain.h:280 AliHLTTriggerDomain.h:281 AliHLTTriggerDomain.h:282 AliHLTTriggerDomain.h:283 AliHLTTriggerDomain.h:284 AliHLTTriggerDomain.h:285 AliHLTTriggerDomain.h:286 AliHLTTriggerDomain.h:287 AliHLTTriggerDomain.h:288 AliHLTTriggerDomain.h:289 AliHLTTriggerDomain.h:290 AliHLTTriggerDomain.h:291 AliHLTTriggerDomain.h:292 AliHLTTriggerDomain.h:293 AliHLTTriggerDomain.h:294 AliHLTTriggerDomain.h:295 AliHLTTriggerDomain.h:296 AliHLTTriggerDomain.h:297 AliHLTTriggerDomain.h:298 AliHLTTriggerDomain.h:299 AliHLTTriggerDomain.h:300 AliHLTTriggerDomain.h:301 AliHLTTriggerDomain.h:302 AliHLTTriggerDomain.h:303 AliHLTTriggerDomain.h:304 AliHLTTriggerDomain.h:305 AliHLTTriggerDomain.h:306 AliHLTTriggerDomain.h:307 AliHLTTriggerDomain.h:308 AliHLTTriggerDomain.h:309 AliHLTTriggerDomain.h:310 AliHLTTriggerDomain.h:311 AliHLTTriggerDomain.h:312 AliHLTTriggerDomain.h:313 AliHLTTriggerDomain.h:314 AliHLTTriggerDomain.h:315 AliHLTTriggerDomain.h:316 AliHLTTriggerDomain.h:317 AliHLTTriggerDomain.h:318 AliHLTTriggerDomain.h:319 AliHLTTriggerDomain.h:320 AliHLTTriggerDomain.h:321 AliHLTTriggerDomain.h:322 AliHLTTriggerDomain.h:323 AliHLTTriggerDomain.h:324 AliHLTTriggerDomain.h:325 AliHLTTriggerDomain.h:326 AliHLTTriggerDomain.h:327 AliHLTTriggerDomain.h:328 AliHLTTriggerDomain.h:329 AliHLTTriggerDomain.h:330 AliHLTTriggerDomain.h:331 AliHLTTriggerDomain.h:332 AliHLTTriggerDomain.h:333 AliHLTTriggerDomain.h:334 AliHLTTriggerDomain.h:335 AliHLTTriggerDomain.h:336 AliHLTTriggerDomain.h:337 AliHLTTriggerDomain.h:338 AliHLTTriggerDomain.h:339 AliHLTTriggerDomain.h:340 AliHLTTriggerDomain.h:341 AliHLTTriggerDomain.h:342 AliHLTTriggerDomain.h:343 AliHLTTriggerDomain.h:344 AliHLTTriggerDomain.h:345 AliHLTTriggerDomain.h:346 AliHLTTriggerDomain.h:347 AliHLTTriggerDomain.h:348 AliHLTTriggerDomain.h:349 AliHLTTriggerDomain.h:350 AliHLTTriggerDomain.h:351 AliHLTTriggerDomain.h:352 AliHLTTriggerDomain.h:353 AliHLTTriggerDomain.h:354 AliHLTTriggerDomain.h:355 AliHLTTriggerDomain.h:356 AliHLTTriggerDomain.h:357 AliHLTTriggerDomain.h:358 AliHLTTriggerDomain.h:359 AliHLTTriggerDomain.h:360 AliHLTTriggerDomain.h:361 AliHLTTriggerDomain.h:362 AliHLTTriggerDomain.h:363 AliHLTTriggerDomain.h:364 AliHLTTriggerDomain.h:365 AliHLTTriggerDomain.h:366 AliHLTTriggerDomain.h:367 AliHLTTriggerDomain.h:368 AliHLTTriggerDomain.h:369 AliHLTTriggerDomain.h:370 AliHLTTriggerDomain.h:371 AliHLTTriggerDomain.h:372 AliHLTTriggerDomain.h:373 AliHLTTriggerDomain.h:374 AliHLTTriggerDomain.h:375 AliHLTTriggerDomain.h:376 AliHLTTriggerDomain.h:377 AliHLTTriggerDomain.h:378 AliHLTTriggerDomain.h:379 AliHLTTriggerDomain.h:380 AliHLTTriggerDomain.h:381 AliHLTTriggerDomain.h:382 AliHLTTriggerDomain.h:383 AliHLTTriggerDomain.h:384 AliHLTTriggerDomain.h:385 AliHLTTriggerDomain.h:386 AliHLTTriggerDomain.h:387 AliHLTTriggerDomain.h:388 AliHLTTriggerDomain.h:389 AliHLTTriggerDomain.h:390 AliHLTTriggerDomain.h:391 AliHLTTriggerDomain.h:392 AliHLTTriggerDomain.h:393 AliHLTTriggerDomain.h:394 AliHLTTriggerDomain.h:395 AliHLTTriggerDomain.h:396 AliHLTTriggerDomain.h:397 AliHLTTriggerDomain.h:398 AliHLTTriggerDomain.h:399 AliHLTTriggerDomain.h:400 AliHLTTriggerDomain.h:401 AliHLTTriggerDomain.h:402 AliHLTTriggerDomain.h:403 AliHLTTriggerDomain.h:404 AliHLTTriggerDomain.h:405 AliHLTTriggerDomain.h:406 AliHLTTriggerDomain.h:407 AliHLTTriggerDomain.h:408 AliHLTTriggerDomain.h:409 AliHLTTriggerDomain.h:410 AliHLTTriggerDomain.h:411 AliHLTTriggerDomain.h:412 AliHLTTriggerDomain.h:413 AliHLTTriggerDomain.h:414 AliHLTTriggerDomain.h:415 AliHLTTriggerDomain.h:416 AliHLTTriggerDomain.h:417 AliHLTTriggerDomain.h:418 AliHLTTriggerDomain.h:419 AliHLTTriggerDomain.h:420 AliHLTTriggerDomain.h:421 AliHLTTriggerDomain.h:422 AliHLTTriggerDomain.h:423 AliHLTTriggerDomain.h:424 AliHLTTriggerDomain.h:425 AliHLTTriggerDomain.h:426 AliHLTTriggerDomain.h:427 AliHLTTriggerDomain.h:428 AliHLTTriggerDomain.h:429 AliHLTTriggerDomain.h:430 AliHLTTriggerDomain.h:431 AliHLTTriggerDomain.h:432 AliHLTTriggerDomain.h:433 AliHLTTriggerDomain.h:434 AliHLTTriggerDomain.h:435 AliHLTTriggerDomain.h:436 AliHLTTriggerDomain.h:437 AliHLTTriggerDomain.h:438 AliHLTTriggerDomain.h:439 AliHLTTriggerDomain.h:440 AliHLTTriggerDomain.h:441 AliHLTTriggerDomain.h:442 AliHLTTriggerDomain.h:443 AliHLTTriggerDomain.h:444 AliHLTTriggerDomain.h:445 AliHLTTriggerDomain.h:446 AliHLTTriggerDomain.h:447 AliHLTTriggerDomain.h:448 AliHLTTriggerDomain.h:449 AliHLTTriggerDomain.h:450 AliHLTTriggerDomain.h:451 AliHLTTriggerDomain.h:452 AliHLTTriggerDomain.h:453 AliHLTTriggerDomain.h:454 AliHLTTriggerDomain.h:455 AliHLTTriggerDomain.h:456 AliHLTTriggerDomain.h:457 AliHLTTriggerDomain.h:458 AliHLTTriggerDomain.h:459