1 #ifndef ALITRIGGERPFPROTECTION_H
2 #define ALITRIGGERPFPROTECTION_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 ///////////////////////////////////////////////////////////////////////////////
9 // Class to define a Trigger Past Future Protection
11 // name description INT1 INT2
13 // AliTriggerPFProtection sc( "BARREL", "BARREL DET Pb-Pb", "SC","PE" );
14 // sc.SetINTa("PE"); // Peripheral
15 // sc.SetINTb("SC"); // Semicentral
24 ///////////////////////////////////////////////////////////////////////////////
30 class AliTriggerPFProtection : public TNamed {
33 AliTriggerPFProtection();
34 AliTriggerPFProtection( TString & name);
35 AliTriggerPFProtection( TString & name,TString & inta, TString & intb, TString & interaction );
36 AliTriggerPFProtection(TString& name, UInt_t* pfdef);
37 virtual ~AliTriggerPFProtection() {}
40 void SetINTa( TString& inta ) { fINTa = inta; }
41 void SetINTb( TString& intb ) { fINTb = intb; }
42 void SetINT ( TString& inti ) { fINT = inti; }
43 void SetNa1 ( UInt_t n ) { fNa1 = n; }
44 void SetNa2 ( UInt_t n ) { fNa2 = n; }
45 void SetTa ( UInt_t n ) { fTa = n; }
46 void SetNb1 ( UInt_t n ) { fNb1 = n; }
47 void SetNb2 ( UInt_t n ) { fNb2 = n; }
48 void SetTb ( UInt_t n ) { fTb = n; }
51 const TString& GetINTa() const { return fINTa; }
52 const TString& GetINTb() const { return fINTb; }
53 const TString& GetINT () const { return fINT; }
54 UInt_t GetNa1 () const { return fNa1; }
55 UInt_t GetNa2 () const { return fNa2; }
56 UInt_t GetTa () const { return fTa ; }
57 UInt_t GetNb1 () const { return fNb1; }
58 UInt_t GetNb2 () const { return fNb2; }
59 UInt_t GetTb () const { return fTb ; }
61 Bool_t CheckInteractions(TObjArray &interactions) const;
62 virtual void Print( const Option_t* opt ="" ) const;
65 TString fINTa; // Logical function of INT1 and INT2;
66 TString fINTb; // Logical function of INT1 and INT2;
67 TString fINT; // Logical function of INT1 and INT2;
68 UInt_t fNa1; // Max number of INTa for the event of type INT
69 UInt_t fNa2; // max number of INTa for the event of type NOT INT
70 UInt_t fTa; // mprotection interval for INTa
71 UInt_t fNb1; // mmax number of INTb for the event of type INT
72 UInt_t fNb2; // mmax number of INTb for the event of type NOT INT
73 UInt_t fTb; // mprotection interval for INTb
74 UInt_t fPFdef[12]; // 12 words=3 levels * 4; pfcommon,pfblocka,pfblockb,pflut
76 AliTriggerPFProtection(const AliTriggerPFProtection & inp );
77 AliTriggerPFProtection& operator = (const AliTriggerPFProtection& inp);
79 ClassDef( AliTriggerPFProtection, 2 ) // Define a Trigger Past Future Protection