AliRoot Core  ee782a0 (ee782a0)
AliTriggerClass.h
Go to the documentation of this file.
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 
8 // //
9 // This class represents the CTP class objects //
10 // //
11 // The Class consists of Name, index in the trigger mask counted from 1, //
12 // descriptor, cluster,past-future, mask, downscale, allrare, //
13 // time group, time window //
14 // //
15 // //
17 
18 #include <TNamed.h>
19 
22 class AliTriggerCluster;
24 class AliTriggerBCMask;
25 
26 class AliTriggerClass : public TNamed {
27 
28 public:
30  AliTriggerClass( TString & name, UChar_t index,
33  UInt_t prescaler, Bool_t allrare);
35  TString & name, UChar_t index,
36  TString &desc, TString &clus,
37  TString &pfp, TString &mask,
38  UInt_t prescaler, Bool_t allrare);
40  TString & name, UChar_t index,
41  TString &desc, TString &clus,
42  TString &pfp,
43  UInt_t prescaler, Bool_t allrare,
44  UInt_t timegroup, UInt_t timewindow);
45 
46  AliTriggerClass( const AliTriggerClass& trclass );
47  virtual ~AliTriggerClass();
48  AliTriggerClass& operator=(const AliTriggerClass& trclass);
49 
50  void Reset() { fStatus = kFALSE; }
51 
52  ULong64_t GetValue() const { return (fStatus) ? fClassMask : 0; }
53  ULong64_t GetValueNext50() const { return (fStatus) ? fClassMaskNext50 : 0; }
54  Bool_t GetStatus() const { return fStatus; }
55  ULong64_t GetMask() const { return fClassMask; }
56  ULong64_t GetMaskNext50() const { return fClassMaskNext50; }
57  Int_t GetIndex() const {return (Int_t)fIndex;}
59  AliTriggerCluster* GetCluster() const { return fCluster; }
60  AliTriggerBCMask* GetBCMask() const { return fMask[0]; }
61  UInt_t GetTimeGroup() const { return fTimeGroup; }
62  UInt_t GetTimeWindow() const { return fTimeGroup; }
63  UInt_t GetPrescaler() const { return fPrescaler; }
64  Int_t GetDownscaleFactor(Double_t &ds) const;
65 
66  Bool_t SetMasks(AliTriggerConfiguration *config,TString &mask);
67  void Trigger( const TObjArray& inputs , const TObjArray& functions);
68  void Print( const Option_t* ) const;
69 
70  Bool_t CheckClass(AliTriggerConfiguration *config) const;
71  Bool_t IsActive( const TObjArray& inputs, const TObjArray& functions) const;
72  enum {kNMaxMasks = 13}; // CTP handles up to 12 different BC masks + NONE
73 
74 private:
75  ULong64_t fClassMask; // trigger mask (1<< (index-1))
76  ULong64_t fClassMaskNext50; // trigger mask (1<< (index-1))
77  UChar_t fIndex; // position of class in mask
78  AliTriggerDescriptor* fDescriptor; // pointer to the descriptor
79  AliTriggerCluster* fCluster; // pointer to the cluster
80  AliTriggerPFProtection* fPFProtection; // pointer to the past-future protection
81  AliTriggerBCMask* fMask[kNMaxMasks]; // array of pinters pointer to bunch-crossing mask
82  UInt_t fPrescaler; // Downscaling factor
83  Bool_t fAllRare; // All or Rare trigger
84  Bool_t fStatus;
85  UInt_t fTimeGroup; // time group
86  UInt_t fTimeWindow; // the size of time window for its group
87 
88  ClassDef( AliTriggerClass, 6 ) // Define a trigger class object
89 };
90 
91 #endif
AliTriggerClass & operator=(const AliTriggerClass &trclass)
ULong64_t fClassMaskNext50
virtual ~AliTriggerClass()
AliTriggerDescriptor * GetDescriptor() const
AliTriggerBCMask * GetBCMask() const
#define TObjArray
void Print(const Option_t *) const
Bool_t IsActive(const TObjArray &inputs, const TObjArray &functions) const
Bool_t SetMasks(AliTriggerConfiguration *config, TString &mask)
ULong64_t GetMask() const
AliTriggerCluster * fCluster
UInt_t fTimeGroup
true = Condition has been satisfied after Trigger
AliTriggerPFProtection * fPFProtection
AliTriggerBCMask * fMask[kNMaxMasks]
ULong64_t fClassMask
ULong64_t GetValue() const
AliTriggerCluster * GetCluster() const
Int_t GetIndex() const
UInt_t GetPrescaler() const
ULong64_t GetMaskNext50() const
UInt_t GetTimeGroup() const
Int_t GetDownscaleFactor(Double_t &ds) const
ULong64_t GetValueNext50() const
Bool_t GetStatus() const
AliTriggerDescriptor * fDescriptor
UInt_t GetTimeWindow() const
Bool_t CheckClass(AliTriggerConfiguration *config) const
void Trigger(const TObjArray &inputs, const TObjArray &functions)