Possibility to not write syswatch info to file (default)
[u/mrichter/AliRoot.git] / STEER / ESD / AliTriggerPFProtection.h
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, UInt_t* pfdef);  
37                virtual   ~AliTriggerPFProtection() {}
38
39   //  Setters
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; }
49   //  Getters
50
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 ; }
60                
61                 Bool_t   CheckInteractions(TObjArray &interactions) const;
62           virtual void   Print( const Option_t* opt ="" ) const;
63                
64 private:
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
75
76                 AliTriggerPFProtection(const AliTriggerPFProtection & inp );
77                 AliTriggerPFProtection& operator = (const AliTriggerPFProtection& inp);
78
79    ClassDef( AliTriggerPFProtection, 2 )  // Define a Trigger Past Future Protection 
80 };
81
82
83 #endif