1 #ifndef ALITRIGGERINPUT_H
2 #define ALITRIGGERINPUT_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 Input from an specific detector //
14 // name description id mask
16 // AliTriggerInput( "V0_MB_L0", "VO minimum bias", 0x01 );
17 // AliTriggerInput( "V0_SC_L0", "VO semi central", 0x02 );
18 // AliTriggerInput( "V0_C_L0", "VO central", 0x04 );
20 // The name must be globaly unique. Spaces are not allowed.
21 // As convention should start with detector name then an id
22 // and the trigger level (L0, L1, L2)
24 // A maximun of 60 inputs trigger are allow.
25 // So, the id mask should set only bit from the position 1 to 60.
27 ///////////////////////////////////////////////////////////////////////////////
33 class AliTriggerInput : public TNamed {
36 AliTriggerInput(): TNamed(),
39 AliTriggerInput( TString name, TString description, Long_t mask )
40 : TNamed( name.Data(), description.Data() ),
43 AliTriggerInput( AliTriggerInput & inp )
46 fValue( inp.fValue ) {}
47 virtual ~AliTriggerInput() {}
50 virtual void Set() { fValue = fMask; }
51 virtual void Reset() { fValue = 0; }
54 Bool_t Status() const { return (Bool_t)fValue; }
55 Long_t GetValue() const { return fValue; }
56 Int_t GetMask() const { return fMask; }
57 // ULong_t Hash() const { return TMath::Hash( GetName().Data() ); };
59 virtual void Print( const Option_t* opt ="" ) const;
62 Long_t fMask; // Trigger ID mask (1 bit)
63 Long_t fValue; // Trigger Signal (0 = false, > 1 = true = fMask )
64 // Int_t fLevel; // Trigger Level (L0, L1, L2)
66 ClassDef( AliTriggerInput, 1 ) // Define a Trigger Input