next50 trigger mask in AliHLTGlobalEsdConverterComponent
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerStoreV1.h
1 #ifndef ALIMUONTRIGGERSTOREV1_H
2 #define ALIMUONTRIGGERSTOREV1_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice                               */
6
7 // $Id$
8
9 /// \ingroup base
10 /// \class AliMUONTriggerStoreV1
11 /// \brief Implementation of AliMUONVTriggerStore
12 /// 
13 // Author Laurent Aphecetche
14
15 #ifndef ALIMUONVTRIGGERSTORE_H
16 #  include "AliMUONVTriggerStore.h"
17 #endif
18
19 class TClonesArray;
20
21 class AliMUONTriggerStoreV1 : public AliMUONVTriggerStore
22 {
23 public:
24   AliMUONTriggerStoreV1();
25   virtual ~AliMUONTriggerStoreV1();
26   
27   /// Whether the Connect(TTree&) method is implemented
28   virtual AliMUONTriggerStoreV1* Create() const { return new AliMUONTriggerStoreV1; }
29   
30   virtual Bool_t CanConnect() const { return kTRUE; }
31   
32   using AliMUONVTriggerStore::Add;
33   virtual void Add(const AliMUONLocalTrigger& localTrigger);
34   virtual void Add(const AliMUONRegionalTrigger& regionalTrigger);
35   
36   virtual void SetGlobal(const AliMUONGlobalTrigger& globalTrigger);
37   
38   virtual TIterator* CreateLocalIterator() const;
39   virtual TIterator* CreateRegionalIterator() const;
40   
41   virtual AliMUONGlobalTrigger* Global() const;
42
43   virtual AliMUONLocalTrigger* FindLocal(Int_t boardNumber) const;
44   virtual AliMUONRegionalTrigger* FindRegional(Int_t boardNumber) const;
45
46   using AliMUONVTriggerStore::Print;
47   
48   virtual void Print(Option_t* wildcard, Option_t* opt) const;
49
50   virtual Bool_t Connect(TTree& tree, Bool_t alone=kTRUE) const;
51   
52   virtual void Clear(Option_t* opt="");
53
54   using AliMUONVStore::GetSize;
55   
56   virtual Int_t GetSize() const;
57   
58 private:
59   /// Return the address of the array of global trigger information
60   TClonesArray** GlobalPtr() const { return const_cast<TClonesArray**>(&fGlobal); }
61   /// Return the address of the array of local trigger information
62   TClonesArray** LocalPtr() const { return const_cast<TClonesArray**>(&fLocal); }
63   /// Return the address of the array of regional trigger information
64   TClonesArray** RegionalPtr() const { return const_cast<TClonesArray**>(&fRegional); }
65   
66   /// Not implemented
67   AliMUONTriggerStoreV1(const AliMUONTriggerStoreV1&);
68   /// Not implemented
69   AliMUONTriggerStoreV1& operator=(const AliMUONTriggerStoreV1&);
70   
71 private:
72   TClonesArray* fLocal; ///< internal array of local trigger information
73   TClonesArray* fRegional; ///< internal array of regional trigger information
74   TClonesArray* fGlobal; ///< internal array of global trigger information
75   mutable TClonesArray* fEmptyLocal; //!< internal array of empty local trigger
76   
77   ClassDef(AliMUONTriggerStoreV1,1) // Implementation of AliMUONVTriggerStore
78 };
79
80 #endif