Line data Source code
1 : #ifndef ALITRIGGERPFPROTECTION_H
2 : #define ALITRIGGERPFPROTECTION_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 : // Class to define a Trigger Past Future Protection
10 : //
11 : // name description INT1 INT2
12 : // Ej:
13 : // AliTriggerPFProtection sc( "BARREL", "BARREL DET Pb-Pb", "SC","PE" );
14 : // sc.SetINTa("PE"); // Peripheral
15 : // sc.SetINTb("SC"); // Semicentral
16 : // sc.SetINT("PE");
17 : // sc.SetNa1( 5 );
18 : // sc.SetNa2( 5 );
19 : // sc.SetTa( 88 );
20 : // sc.SetNb1( 1 );
21 : // sc.SetNb2( 0 );
22 : // sc.SetTb( 88 );
23 : //
24 : ///////////////////////////////////////////////////////////////////////////////
25 :
26 : #ifndef ROOT_TNamed
27 : #include <TNamed.h>
28 : #endif
29 :
30 : class AliTriggerPFProtection : public TNamed {
31 :
32 : public:
33 : AliTriggerPFProtection();
34 : AliTriggerPFProtection( TString & name);
35 : AliTriggerPFProtection( TString & name,TString & inta, TString & intb, TString & interaction );
36 : AliTriggerPFProtection( TString & name,TString & inter, TString & bcm,UInt_t PBefore,UInt_t PAfter,UInt_t NBefore,UInt_t NAfter,UInt_t OBefore,UInt_t OAfter);
37 : AliTriggerPFProtection(TString& name, UInt_t* pfdef);
38 72 : virtual ~AliTriggerPFProtection() {}
39 :
40 : // Setters
41 0 : void SetINTa( TString& inta ) { fINTa = inta; }
42 0 : void SetINTb( TString& intb ) { fINTb = intb; }
43 0 : void SetINT ( TString& inti ) { fINT = inti; }
44 4 : void SetNa1 ( UInt_t n ) { fNa1 = n; }
45 4 : void SetNa2 ( UInt_t n ) { fNa2 = n; }
46 4 : void SetTa ( UInt_t n ) { fTa = n; }
47 4 : void SetNb1 ( UInt_t n ) { fNb1 = n; }
48 4 : void SetNb2 ( UInt_t n ) { fNb2 = n; }
49 4 : void SetTb ( UInt_t n ) { fTb = n; }
50 : // Getters
51 :
52 0 : const TString& GetINTa() const { return fINTa; }
53 0 : const TString& GetINTb() const { return fINTb; }
54 0 : const TString& GetINT () const { return fINT; }
55 0 : UInt_t GetNa1 () const { return fNa1; }
56 0 : UInt_t GetNa2 () const { return fNa2; }
57 0 : UInt_t GetTa () const { return fTa ; }
58 0 : UInt_t GetNb1 () const { return fNb1; }
59 0 : UInt_t GetNb2 () const { return fNb2; }
60 0 : UInt_t GetTb () const { return fTb ; }
61 :
62 : Bool_t CheckInteractions(TObjArray &interactions) const;
63 : virtual void Print( const Option_t* opt ="" ) const;
64 :
65 : private:
66 : TString fINTa; // Logical function of INT1 and INT2;
67 : // ver>7: bcmask
68 : TString fINTb; // Logical function of INT1 and INT2;
69 : // ver>7: interaction
70 : TString fINT; // Logical function of INT1 and INT2;
71 : //ver>7: not used
72 : UInt_t fNa1; // Max number of INTa for the event of type INT
73 : // ver>7: NintAfter
74 : UInt_t fNa2; // max number of INTa for the event of type NOT INT
75 : // ver>7:OffsetAfter
76 : UInt_t fTa; // mprotection interval for INTa
77 : // ver>7: PeriodAfter
78 : UInt_t fNb1; // mmax number of INTb for the event of type INT
79 : // ver>7: NintBefore
80 : UInt_t fNb2; // mmax number of INTb for the event of type NOT INT
81 : // ver>7:OffsetBefore
82 : UInt_t fTb; // mprotection interval for INTb
83 : // ver>7: PeriodBefore
84 : UInt_t fPFdef[12]; // 12 words=3 levels * 4; pfcommon,pfblocka,pfblockb,pflut
85 : // LML0 PF protection
86 : UInt_t fInter; // 1=INT1, 2=INT2
87 : UInt_t fBCmask; // 12 bit BCmask applied to interaction
88 : UInt_t fVersion; // 7=12 hexa words, 8= human interface
89 :
90 : AliTriggerPFProtection(const AliTriggerPFProtection & inp );
91 : AliTriggerPFProtection& operator = (const AliTriggerPFProtection& inp);
92 :
93 256 : ClassDef( AliTriggerPFProtection, 3 ) // Define a Trigger Past Future Protection
94 : };
95 :
96 :
97 : #endif
|