ROOT logo
#ifndef ALITRIGGERBCMASK_H
#define ALITRIGGERBCMASK_H

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

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// This class represents the CTP bunch-crossing mask                         //
//                                                                           //
// The Mask contains name and 3564 bits for each bunch-crossing in an orbit  //
//                                                                           //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include <TNamed.h>
#include <TBits.h>

class AliTriggerBCMask : public TNamed {

public:
                          AliTriggerBCMask();
                          AliTriggerBCMask( TString & name);
                          AliTriggerBCMask( TString & name, TString & mask );
                          AliTriggerBCMask( const char* name, const char* mask );
                          AliTriggerBCMask( const AliTriggerBCMask& mask );
               virtual   ~AliTriggerBCMask();
  AliTriggerBCMask&   operator=(const AliTriggerBCMask& mask);

           const UChar_t* GetFullMask () const {return fBCMask; }
		  Bool_t  GetMask(UShort_t index) const;
		    void  Print( const Option_t* opt) const;
		UShort_t  GetNUnmaskedBCs() const;
		  Bool_t  SetMask (const char *mask);
  
  enum {kNBytesPerBCMask = 446,  // Number of bytes to store the 3564 bits of BC mask
	kNBits = 3564            // BC mask contains 3564 bits
  };

private:
                Bool_t    CreateMask(TString &mask);
		Bool_t    Bcm2Bits(TObjArray *tokens, Int_t &index, TBits &bits, Int_t &ibit, Int_t &level) const;

                UChar_t   fBCMask[kNBytesPerBCMask];         // Bunch cross mask (3564 bits)

   ClassDef( AliTriggerBCMask, 2 )  // Define a trigger bunch-crossing mask
};

#endif
 AliTriggerBCMask.h:1
 AliTriggerBCMask.h:2
 AliTriggerBCMask.h:3
 AliTriggerBCMask.h:4
 AliTriggerBCMask.h:5
 AliTriggerBCMask.h:6
 AliTriggerBCMask.h:7
 AliTriggerBCMask.h:8
 AliTriggerBCMask.h:9
 AliTriggerBCMask.h:10
 AliTriggerBCMask.h:11
 AliTriggerBCMask.h:12
 AliTriggerBCMask.h:13
 AliTriggerBCMask.h:14
 AliTriggerBCMask.h:15
 AliTriggerBCMask.h:16
 AliTriggerBCMask.h:17
 AliTriggerBCMask.h:18
 AliTriggerBCMask.h:19
 AliTriggerBCMask.h:20
 AliTriggerBCMask.h:21
 AliTriggerBCMask.h:22
 AliTriggerBCMask.h:23
 AliTriggerBCMask.h:24
 AliTriggerBCMask.h:25
 AliTriggerBCMask.h:26
 AliTriggerBCMask.h:27
 AliTriggerBCMask.h:28
 AliTriggerBCMask.h:29
 AliTriggerBCMask.h:30
 AliTriggerBCMask.h:31
 AliTriggerBCMask.h:32
 AliTriggerBCMask.h:33
 AliTriggerBCMask.h:34
 AliTriggerBCMask.h:35
 AliTriggerBCMask.h:36
 AliTriggerBCMask.h:37
 AliTriggerBCMask.h:38
 AliTriggerBCMask.h:39
 AliTriggerBCMask.h:40
 AliTriggerBCMask.h:41
 AliTriggerBCMask.h:42
 AliTriggerBCMask.h:43
 AliTriggerBCMask.h:44
 AliTriggerBCMask.h:45
 AliTriggerBCMask.h:46
 AliTriggerBCMask.h:47
 AliTriggerBCMask.h:48
 AliTriggerBCMask.h:49