: TNamed("AliHLTCTPData", "HLT counters for the CTP")
, AliHLTLogging()
, fMask(0)
+ , fTriggers(0)
, fClassIds(AliHLTReadoutList::Class(), gkNCTPTriggerClasses)
, fCounters(gkNCTPTriggerClasses)
{
: TNamed("AliHLTCTPData", "HLT counters for the CTP")
, AliHLTLogging()
, fMask(0)
+ , fTriggers(0)
, fClassIds(AliHLTReadoutList::Class(), gkNCTPTriggerClasses)
, fCounters(gkNCTPTriggerClasses)
{
: TNamed(src.GetName(), src.GetTitle())
, AliHLTLogging()
, fMask(src.Mask())
+ , fTriggers(src.fTriggers)
, fClassIds(src.fClassIds)
, fCounters(src.Counters())
{
return triggerMask;
}
-bool AliHLTCTPData::EvaluateCTPTriggerClass(const char* expression, AliHLTComponentTriggerData& trigData) const
+bool AliHLTCTPData::EvaluateCTPTriggerClass(const char* expression, const AliHLTComponentTriggerData& trigData) const
{
// see header file for function documentation
if (trigData.fDataSize != sizeof(AliHLTEventTriggerData)) {
return false;
}
+ return EvaluateCTPTriggerClass(expression, triggerMask);
+}
+
+bool AliHLTCTPData::EvaluateCTPTriggerClass(const char* expression, AliHLTUInt64_t triggerMask) const
+{
+ // see header file for function documentation
+
// use a TFormula to interprete the expression
// all classname are replaced by '[n]' which means the n'th parameter in the formula
// the parameters are set to 0 or 1 depending on the bit in the trigger mask
{
// see header file for function documentation
cout << GetTitle() << endl;
+ cout << "\tactive trigger mask: 0x" << hex << fTriggers << dec << endl;
int count=0;
for (int i=0; i<gkNCTPTriggerClasses; i++) {
if (i>=Counters().GetSize()) break;