next50 trigger mask in AliHLTGlobalEsdConverterComponent
[u/mrichter/AliRoot.git] / MUON / AliMUONVTriggerStore.h
1 #ifndef ALIMUONVTRIGGERSTORE_H
2 #define ALIMUONVTRIGGERSTORE_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 AliMUONVTriggerStore
11 /// \brief Base class of a trigger information store
12 /// 
13 // Author Laurent Aphecetche, Subatech
14
15 #ifndef ALIMUONVSTORE_H
16 #  include "AliMUONVStore.h"
17 #endif
18
19 class AliMUONLocalTrigger;
20 class AliMUONGlobalTrigger;
21 class AliMUONRegionalTrigger;
22
23 class AliMUONVTriggerStore : public AliMUONVStore
24 {
25 public:
26   AliMUONVTriggerStore();
27   virtual ~AliMUONVTriggerStore();
28
29   /// Add an object, if of the right type
30   virtual Bool_t Add(TObject* object);
31   
32   /// Add local trigger
33   virtual void Add(const AliMUONLocalTrigger& localTrigger) = 0;
34   /// Set global trigger
35   virtual void SetGlobal(const AliMUONGlobalTrigger& globalTrigger) = 0;
36   /// Add regional trigger
37   virtual void Add(const AliMUONRegionalTrigger& regionalTrigger) = 0;
38   
39   using AliMUONVStore::Create;
40   
41   /// Create a store from the tree (if possible).
42   static AliMUONVTriggerStore* Create(TTree& tree);
43   
44   /// Create iterator (on local card)
45   virtual TIterator* CreateIterator() const;
46   
47   /// Create iterator on local trigger
48   virtual TIterator* CreateLocalIterator() const = 0;
49   /// Create iterator on regional trigger
50   virtual TIterator* CreateRegionalIterator() const = 0;
51   
52   /// Return global trigger
53   virtual AliMUONGlobalTrigger* Global() const = 0;
54   
55   /// Find a local trigger by the board number (not an index, it is a number really)
56   virtual AliMUONLocalTrigger* FindLocal(Int_t boardNumber) const = 0;
57   
58   /// Find a regional trigger by the board number (not an index, it is a number really)
59   virtual AliMUONRegionalTrigger* FindRegional(Int_t boardNumber) const = 0;
60   
61   using AliMUONVStore::Print;
62   
63   virtual void Print(Option_t* wildcard="") const { return Print(wildcard,""); }
64
65   ClassDef(AliMUONVTriggerStore,1) // Base class of a trigger store
66 };
67
68 #endif