]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/ESD/AliTriggerClass.h
Time Group sharing info added to AliTriggerClass
[u/mrichter/AliRoot.git] / STEER / ESD / AliTriggerClass.h
CommitLineData
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// //
342b8153 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 //
51f6d619 14// //
15// //
16///////////////////////////////////////////////////////////////////////////////
17
18#include <TNamed.h>
19
20class AliTriggerConfiguration;
21class AliTriggerDescriptor;
22class AliTriggerCluster;
23class AliTriggerPFProtection;
24class AliTriggerBCMask;
25
26class AliTriggerClass : public TNamed {
27
28public:
29 AliTriggerClass();
30 AliTriggerClass( TString & name, UChar_t index,
31 AliTriggerDescriptor *desc, AliTriggerCluster *clus,
32 AliTriggerPFProtection *pfp, AliTriggerBCMask *mask,
33 UInt_t prescaler, Bool_t allrare);
34 AliTriggerClass( AliTriggerConfiguration *config,
35 TString & name, UChar_t index,
36 TString &desc, TString &clus,
37 TString &pfp, TString &mask,
38 UInt_t prescaler, Bool_t allrare);
342b8153 39 AliTriggerClass( AliTriggerConfiguration *config,
40 TString & name, UChar_t index,
41 TString &desc, TString &clus,
42 TString &pfp, TString &mask,
43 UInt_t prescaler, Bool_t allrare,
44 UInt_t timegroup, UInt_t timewindow);
51f6d619 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 Bool_t GetStatus() const { return fStatus; }
54 ULong64_t GetMask() const { return fClassMask; }
55 AliTriggerDescriptor* GetDescriptor() const { return fDescriptor; }
56 AliTriggerCluster* GetCluster() const { return fCluster; }
fc24735b 57 AliTriggerBCMask* GetBCMask() const { return fMask; }
342b8153 58 UInt_t GetTimeGroup() const { return fTimeGroup; }
59 UInt_t GetTimeWindow() const { return fTimeGroup; }
51f6d619 60
61 void Trigger( const TObjArray& inputs , const TObjArray& functions);
62 void Print( const Option_t* ) const;
63
64 Bool_t CheckClass(AliTriggerConfiguration *config) const;
65 Bool_t IsActive( const TObjArray& inputs, const TObjArray& functions) const;
66private:
38482a3b 67 ULong64_t fClassMask; // trigger mask (1<< (index-1))
68 UChar_t fIndex; // position of class in mask
51f6d619 69 AliTriggerDescriptor* fDescriptor; // pointer to the descriptor
70 AliTriggerCluster* fCluster; // pointer to the cluster
71 AliTriggerPFProtection* fPFProtection; // pointer to the past-future protection
72 AliTriggerBCMask* fMask; // pointer to bunch-crossing mask
73 UInt_t fPrescaler; // Downscaling factor
74 Bool_t fAllRare; // All or Rare trigger
75 Bool_t fStatus; //! true = Condition has been satisfied after Trigger
342b8153 76 UInt_t fTimeGroup; // time group
77 UInt_t fTimeWindow; // the size of time window for its group
51f6d619 78
342b8153 79 ClassDef( AliTriggerClass, 4 ) // Define a trigger class object
51f6d619 80};
81
82#endif