1 #ifndef ALITRIGGERCONDITION_H
2 #define ALITRIGGERCONDITION_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 ///////////////////////////////////////////////////////////////////////////////
11 // Class to define a Trigger Condition
13 // A Trigger condition is defined from logical combination of trigger
14 // inputs names (boolean expression)
16 ///////////////////////////////////////////////////////////////////////////////
22 class AliTriggerCondition : public TNamed {
25 AliTriggerCondition();
26 AliTriggerCondition( const AliTriggerCondition &cond );
27 AliTriggerCondition( TString & condition, TString & name,
28 TString & description, ULong64_t mask );
29 virtual ~AliTriggerCondition() {}
30 AliTriggerCondition& operator=(const AliTriggerCondition& rhs);
32 void Trigger( TObjArray & inputs );
33 Bool_t CheckInputs( TObjArray & inputs );
35 void Reset() { fStatus = kFALSE; }
37 ULong64_t GetValue() const { return (fStatus) ? fClassMask : 0; }
38 ULong64_t GetMask() const { return fClassMask; }
39 Bool_t GetStatus() const { return fStatus; }
40 virtual void Print( const Option_t* opt ="" ) const;
42 ULong64_t fClassMask; // UID "class mask" should set only 1 bit from the position 0 to 50
43 TString fCondition; // Definition of the condition
44 Bool_t fStatus; // true = Condition has been satisfied after Trigger
46 ClassDef( AliTriggerCondition, 2 ) // Define a Trigger Condition