Line data Source code
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 0 : 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 0 : virtual void Print(Option_t* wildcard="") const { return Print(wildcard,""); }
64 :
65 18 : ClassDef(AliMUONVTriggerStore,1) // Base class of a trigger store
66 : };
67 :
68 : #endif
|