ROOT logo
#ifndef ALITRIGGERPFPROTECTION_H
#define ALITRIGGERPFPROTECTION_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

///////////////////////////////////////////////////////////////////////////////
//
//  Class to define a Trigger Past Future Protection
//
//                              name      description         INT1  INT2
//    Ej:
//  AliTriggerPFProtection sc( "BARREL", "BARREL DET Pb-Pb",  "SC","PE" );
//  sc.SetINTa("PE");  // Peripheral
//  sc.SetINTb("SC");  // Semicentral
//  sc.SetINT("PE");
//  sc.SetNa1( 5 );
//  sc.SetNa2( 5 );
//  sc.SetTa( 88 );
//  sc.SetNb1( 1 );
//  sc.SetNb2( 0 );
//  sc.SetTb( 88 );
//
///////////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TNamed
#include <TNamed.h>
#endif

class AliTriggerPFProtection : public TNamed {

public:
                          AliTriggerPFProtection();
                          AliTriggerPFProtection( TString & name);
                          AliTriggerPFProtection( TString & name,TString & inta, TString & intb, TString & interaction );
			  AliTriggerPFProtection(TString& name, UInt_t* pfdef);  
               virtual   ~AliTriggerPFProtection() {}

  //  Setters
                  void   SetINTa( TString& inta ) { fINTa = inta; }
                  void   SetINTb( TString& intb ) { fINTb = intb; }
                  void   SetINT ( TString& inti ) { fINT = inti; }
                  void   SetNa1 ( UInt_t n )    { fNa1 = n; }
                  void   SetNa2 ( UInt_t n )    { fNa2 = n; }
                  void   SetTa  ( UInt_t n )    { fTa  = n; }
                  void   SetNb1 ( UInt_t n )    { fNb1 = n; }
                  void   SetNb2 ( UInt_t n )    { fNb2 = n; }
                  void   SetTb  ( UInt_t n )    { fTb  = n; }
  //  Getters

        const  TString&  GetINTa() const { return fINTa; }
        const  TString&  GetINTb() const { return fINTb; }
        const  TString&  GetINT () const { return fINT; }
                UInt_t   GetNa1 () const { return fNa1; }
                UInt_t   GetNa2 () const { return fNa2; }
                UInt_t   GetTa  () const { return fTa ; }
                UInt_t   GetNb1 () const { return fNb1; }
                UInt_t   GetNb2 () const { return fNb2; }
                UInt_t   GetTb  () const { return fTb ; }
               
                Bool_t   CheckInteractions(TObjArray &interactions) const;
	  virtual void   Print( const Option_t* opt ="" ) const;
               
private:
                TString     fINTa;                // Logical function of INT1 and INT2;
                TString     fINTb;                // Logical function of INT1 and INT2;
                TString     fINT;                 // Logical function of INT1 and INT2;
                 UInt_t     fNa1;                 // Max number of INTa for the event of type INT 
                 UInt_t     fNa2;                 // max number of INTa for the event of type NOT INT
                 UInt_t     fTa;                  // mprotection interval for INTa 
                 UInt_t     fNb1;                 // mmax number of INTb   for  the event of type INT 
                 UInt_t     fNb2;                 // mmax number of INTb for the event of  type NOT INT
                 UInt_t     fTb;                  // mprotection interval for INTb
		 UInt_t     fPFdef[12];            // 12 words=3 levels * 4; pfcommon,pfblocka,pfblockb,pflut

		AliTriggerPFProtection(const AliTriggerPFProtection & inp );
		AliTriggerPFProtection& operator = (const AliTriggerPFProtection& inp);

   ClassDef( AliTriggerPFProtection, 2 )  // Define a Trigger Past Future Protection 
};


#endif
 AliTriggerPFProtection.h:1
 AliTriggerPFProtection.h:2
 AliTriggerPFProtection.h:3
 AliTriggerPFProtection.h:4
 AliTriggerPFProtection.h:5
 AliTriggerPFProtection.h:6
 AliTriggerPFProtection.h:7
 AliTriggerPFProtection.h:8
 AliTriggerPFProtection.h:9
 AliTriggerPFProtection.h:10
 AliTriggerPFProtection.h:11
 AliTriggerPFProtection.h:12
 AliTriggerPFProtection.h:13
 AliTriggerPFProtection.h:14
 AliTriggerPFProtection.h:15
 AliTriggerPFProtection.h:16
 AliTriggerPFProtection.h:17
 AliTriggerPFProtection.h:18
 AliTriggerPFProtection.h:19
 AliTriggerPFProtection.h:20
 AliTriggerPFProtection.h:21
 AliTriggerPFProtection.h:22
 AliTriggerPFProtection.h:23
 AliTriggerPFProtection.h:24
 AliTriggerPFProtection.h:25
 AliTriggerPFProtection.h:26
 AliTriggerPFProtection.h:27
 AliTriggerPFProtection.h:28
 AliTriggerPFProtection.h:29
 AliTriggerPFProtection.h:30
 AliTriggerPFProtection.h:31
 AliTriggerPFProtection.h:32
 AliTriggerPFProtection.h:33
 AliTriggerPFProtection.h:34
 AliTriggerPFProtection.h:35
 AliTriggerPFProtection.h:36
 AliTriggerPFProtection.h:37
 AliTriggerPFProtection.h:38
 AliTriggerPFProtection.h:39
 AliTriggerPFProtection.h:40
 AliTriggerPFProtection.h:41
 AliTriggerPFProtection.h:42
 AliTriggerPFProtection.h:43
 AliTriggerPFProtection.h:44
 AliTriggerPFProtection.h:45
 AliTriggerPFProtection.h:46
 AliTriggerPFProtection.h:47
 AliTriggerPFProtection.h:48
 AliTriggerPFProtection.h:49
 AliTriggerPFProtection.h:50
 AliTriggerPFProtection.h:51
 AliTriggerPFProtection.h:52
 AliTriggerPFProtection.h:53
 AliTriggerPFProtection.h:54
 AliTriggerPFProtection.h:55
 AliTriggerPFProtection.h:56
 AliTriggerPFProtection.h:57
 AliTriggerPFProtection.h:58
 AliTriggerPFProtection.h:59
 AliTriggerPFProtection.h:60
 AliTriggerPFProtection.h:61
 AliTriggerPFProtection.h:62
 AliTriggerPFProtection.h:63
 AliTriggerPFProtection.h:64
 AliTriggerPFProtection.h:65
 AliTriggerPFProtection.h:66
 AliTriggerPFProtection.h:67
 AliTriggerPFProtection.h:68
 AliTriggerPFProtection.h:69
 AliTriggerPFProtection.h:70
 AliTriggerPFProtection.h:71
 AliTriggerPFProtection.h:72
 AliTriggerPFProtection.h:73
 AliTriggerPFProtection.h:74
 AliTriggerPFProtection.h:75
 AliTriggerPFProtection.h:76
 AliTriggerPFProtection.h:77
 AliTriggerPFProtection.h:78
 AliTriggerPFProtection.h:79
 AliTriggerPFProtection.h:80
 AliTriggerPFProtection.h:81
 AliTriggerPFProtection.h:82
 AliTriggerPFProtection.h:83