* Adding explicit priority settings for the global trigger menu items.
authoraszostak <aszostak@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 29 Oct 2009 22:26:51 +0000 (22:26 +0000)
committeraszostak <aszostak@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 29 Oct 2009 22:26:51 +0000 (22:26 +0000)
commit81d62bb496cb308f0efd28da3ff8165a2144feff
tree17323878792e0492f4888b6453ccf5edd378ba94
parent389a42fdef951b7975d0009e4760e9dc99f50e56
* Adding explicit priority settings for the global trigger menu items.
  This allows one to form priority groups which allows trigger menus to be operated in 3 modes:
  1) The trigger menu is evaluated until the first entry matches the trigger condition and further evaluation is stopped.
  2) All entries in the trigger menu are evaluated.
  3) A mixture of the above two extremes.
  A default merging operator for the trigger condition and domain merging expressions can now be specified in the trigger menu.
  In addition, one can add trailing operators to the trigger condition and domain merging expressions,
  which are used implicitly to concatenate sub-expressions from each trigger menu for case 2 and 3 above.
  This gives more flexibility than just having a default merging operator.
* Had to significantly change how the generated trigger logic is loaded, in particular to be able to use CINT to interpret the code.
  Got rid of the class factory concept in AliHLTGlobalTrigger and simplified the class.
  This was necessary because the factory concept did not want to work with CINT.
  Had to add the AliHLTGlobalTriggerWrapper class which interfaces between compiled code and an interpreted AliHLTGlobalTrigger class.
* Interpreting of trigger menu logic rather than on the fly compilation now works (however compilation is default for speed).
* Adding proper unit tests for the global trigger component in testGlobalTriggerComponent.C
* Added a comparison operator to the AliHLTTriggerDomain that can be used to compare if two domains are equivalent.
* Also improved the class documentation.
26 files changed:
HLT/BASE/AliHLTDomainEntry.h
HLT/BASE/AliHLTGlobalTriggerDecision.cxx
HLT/BASE/AliHLTGlobalTriggerDecision.h
HLT/BASE/AliHLTTriggerDecision.cxx
HLT/BASE/AliHLTTriggerDecision.h
HLT/BASE/AliHLTTriggerDomain.cxx
HLT/BASE/AliHLTTriggerDomain.h
HLT/BASE/AliHLTTriggerMenu.cxx
HLT/BASE/AliHLTTriggerMenu.h
HLT/BASE/AliHLTTriggerMenuItem.cxx
HLT/BASE/AliHLTTriggerMenuItem.h
HLT/BASE/AliHLTTriggerMenuSymbol.cxx
HLT/BASE/AliHLTTriggerMenuSymbol.h
HLT/libAliHLTTrigger.pkg
HLT/trigger/AliHLTGlobalTrigger.cxx
HLT/trigger/AliHLTGlobalTrigger.h
HLT/trigger/AliHLTGlobalTriggerComponent.cxx
HLT/trigger/AliHLTGlobalTriggerComponent.h
HLT/trigger/AliHLTGlobalTriggerConfig.cxx
HLT/trigger/AliHLTGlobalTriggerConfig.h
HLT/trigger/AliHLTGlobalTriggerWrapper.cxx [new file with mode: 0644]
HLT/trigger/AliHLTGlobalTriggerWrapper.h [new file with mode: 0644]
HLT/trigger/AliHLTTriggerLinkDef.h
HLT/trigger/test/Makefile.am
HLT/trigger/test/TriggerConfig.C
HLT/trigger/test/testGlobalTriggerComponent.C