]>
Commit | Line | Data |
---|---|---|
51f6d619 | 1 | #ifndef ALITRIGGERCLASS_H |
2 | #define ALITRIGGERCLASS_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /////////////////////////////////////////////////////////////////////////////// | |
8 | // // | |
9 | // This class represents the CTP class objects // | |
10 | // // | |
11 | // The Class consists of Name, descriptor, mask, protection, index in the // | |
12 | // trigger mask // | |
13 | // // | |
14 | // // | |
15 | /////////////////////////////////////////////////////////////////////////////// | |
16 | ||
17 | #include <TNamed.h> | |
18 | ||
19 | class AliTriggerConfiguration; | |
20 | class AliTriggerDescriptor; | |
21 | class AliTriggerCluster; | |
22 | class AliTriggerPFProtection; | |
23 | class AliTriggerBCMask; | |
24 | ||
25 | class AliTriggerClass : public TNamed { | |
26 | ||
27 | public: | |
28 | AliTriggerClass(); | |
29 | AliTriggerClass( TString & name, UChar_t index, | |
30 | AliTriggerDescriptor *desc, AliTriggerCluster *clus, | |
31 | AliTriggerPFProtection *pfp, AliTriggerBCMask *mask, | |
32 | UInt_t prescaler, Bool_t allrare); | |
33 | AliTriggerClass( AliTriggerConfiguration *config, | |
34 | TString & name, UChar_t index, | |
35 | TString &desc, TString &clus, | |
36 | TString &pfp, TString &mask, | |
37 | UInt_t prescaler, Bool_t allrare); | |
38 | ||
39 | AliTriggerClass( const AliTriggerClass& trclass ); | |
40 | virtual ~AliTriggerClass(); | |
41 | AliTriggerClass& operator=(const AliTriggerClass& trclass); | |
42 | ||
43 | void Reset() { fStatus = kFALSE; } | |
44 | ||
45 | ULong64_t GetValue() const { return (fStatus) ? fClassMask : 0; } | |
46 | Bool_t GetStatus() const { return fStatus; } | |
47 | ULong64_t GetMask() const { return fClassMask; } | |
48 | AliTriggerDescriptor* GetDescriptor() const { return fDescriptor; } | |
49 | AliTriggerCluster* GetCluster() const { return fCluster; } | |
fc24735b | 50 | AliTriggerBCMask* GetBCMask() const { return fMask; } |
51f6d619 | 51 | |
52 | void Trigger( const TObjArray& inputs , const TObjArray& functions); | |
53 | void Print( const Option_t* ) const; | |
54 | ||
55 | Bool_t CheckClass(AliTriggerConfiguration *config) const; | |
56 | Bool_t IsActive( const TObjArray& inputs, const TObjArray& functions) const; | |
57 | private: | |
38482a3b | 58 | ULong64_t fClassMask; // trigger mask (1<< (index-1)) |
59 | UChar_t fIndex; // position of class in mask | |
51f6d619 | 60 | AliTriggerDescriptor* fDescriptor; // pointer to the descriptor |
61 | AliTriggerCluster* fCluster; // pointer to the cluster | |
62 | AliTriggerPFProtection* fPFProtection; // pointer to the past-future protection | |
63 | AliTriggerBCMask* fMask; // pointer to bunch-crossing mask | |
64 | UInt_t fPrescaler; // Downscaling factor | |
65 | Bool_t fAllRare; // All or Rare trigger | |
66 | Bool_t fStatus; //! true = Condition has been satisfied after Trigger | |
67 | ||
fc24735b | 68 | ClassDef( AliTriggerClass, 3 ) // Define a trigger class object |
51f6d619 | 69 | }; |
70 | ||
71 | #endif |