Bug fix for the AliHLTTriggerDecision class to correctly replace the readout list rather than merge it in the setter method.
AliHLTTrigger not using AliHLTTriggerDecision setter method for readout list anymore to keep previous behaviour so that it still merges the readout list.
}
+bool AliHLTReadoutList::Empty() const
+{
+ // Returns true if the readout list has no DDLs enabled.
+
+ for (int i = 0; i < sizeof(fReadoutList.fList) / sizeof(fReadoutList.fList[0]); i++)
+ {
+ if (fReadoutList.fList[i] != 0x0) return false;
+ }
+ return true;
+}
+
+
bool AliHLTReadoutList::DecodeDDLID(Int_t ddlId, Int_t& wordIndex, Int_t& bitIndex)
{
// Decodes the word index and bit index within that word for the readout list structure.
*/
virtual ~AliHLTReadoutList();
+ /**
+ * Checks if the readout list is empty, i.e. all DDLs are disabled.
+ * \returns true if the readout list is empty and false otherwise.
+ */
+ bool Empty() const;
+
/**
* Enables a specific DDL bit in the readout list.
* \param ddlId The ID number of the DDL to enable.
if (fTriggerEventResult != 0) return; // Do not do anything if a previous call failed.
AliHLTTriggerDecision triggerResult(value, GetTriggerName(), fTriggerDomain, fDescription);
- triggerResult.ReadoutList(fReadoutList); // Append the readout list if it contains anything.
+ // Append the readout list if it contains anything.
+ triggerResult.TriggerDomain().Add(fReadoutList);
fTriggerEventResult = PushBack(&triggerResult, kAliHLTDataTypeTObject|kAliHLTDataOriginOut);
if (fTriggerEventResult == 0) fDecisionMade = true;
}
*/
void ReadoutList(const AliHLTReadoutList& value)
{
- fTriggerDomain |= AliHLTTriggerDomain(value);
+ fTriggerDomain.Remove("DAQRDOUT", kAliHLTDataOriginAny);
+ fTriggerDomain.Add(value);
}
/**