]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/ESD/AliTriggerBCMask.h
Reverting the full pools implementation
[u/mrichter/AliRoot.git] / STEER / ESD / AliTriggerBCMask.h
CommitLineData
202e63df 1#ifndef ALITRIGGERBCMASK_H
2#define ALITRIGGERBCMASK_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// This class represents the CTP bunch-crossing mask //
10// //
710035a8 11// The Mask contains name and 3564 bits for each bunch-crossing in an orbit //
202e63df 12// //
13// //
14///////////////////////////////////////////////////////////////////////////////
15
51f6d619 16#include <TNamed.h>
710035a8 17#include <TBits.h>
202e63df 18
19class AliTriggerBCMask : public TNamed {
20
21public:
22 AliTriggerBCMask();
51f6d619 23 AliTriggerBCMask( TString & name);
24 AliTriggerBCMask( TString & name, TString & mask );
56f3f4a4 25 AliTriggerBCMask( const char* name, const char* mask );
202e63df 26 AliTriggerBCMask( const AliTriggerBCMask& mask );
27 virtual ~AliTriggerBCMask();
28 AliTriggerBCMask& operator=(const AliTriggerBCMask& mask);
29
51f6d619 30 const UChar_t* GetFullMask () const {return fBCMask; }
202e63df 31 Bool_t GetMask(UShort_t index) const;
710035a8 32 void Print( const Option_t* opt) const;
0b674c8e 33 UShort_t GetNUnmaskedBCs() const;
cfb266f2 34 Bool_t SetMask (const char *mask);
202e63df 35
710035a8 36 enum {kNBytesPerBCMask = 446, // Number of bytes to store the 3564 bits of BC mask
37 kNBits = 3564 // BC mask contains 3564 bits
38 };
202e63df 39
40private:
710035a8 41 Bool_t CreateMask(TString &mask);
42 Bool_t Bcm2Bits(TObjArray *tokens, Int_t &index, TBits &bits, Int_t &ibit, Int_t &level) const;
51f6d619 43
710035a8 44 UChar_t fBCMask[kNBytesPerBCMask]; // Bunch cross mask (3564 bits)
202e63df 45
710035a8 46 ClassDef( AliTriggerBCMask, 2 ) // Define a trigger bunch-crossing mask
202e63df 47};
48
49#endif