1 #ifndef ALIMUONVTRIGGERSTORE_H
2 #define ALIMUONVTRIGGERSTORE_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONVTriggerStore
11 /// \brief Base class of a trigger information store
13 // Author Laurent Aphecetche, Subatech
15 #ifndef ALIMUONVSTORE_H
16 # include "AliMUONVStore.h"
19 class AliMUONLocalTrigger;
20 class AliMUONGlobalTrigger;
21 class AliMUONRegionalTrigger;
23 class AliMUONVTriggerStore : public AliMUONVStore
26 AliMUONVTriggerStore();
27 virtual ~AliMUONVTriggerStore();
29 /// Add an object, if of the right type
30 virtual Bool_t Add(TObject* object);
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;
39 using AliMUONVStore::Create;
41 /// Create a store from the tree (if possible).
42 static AliMUONVTriggerStore* Create(TTree& tree);
44 /// Create iterator (on local card)
45 virtual TIterator* CreateIterator() const;
47 /// Create iterator on local trigger
48 virtual TIterator* CreateLocalIterator() const = 0;
49 /// Create iterator on regional trigger
50 virtual TIterator* CreateRegionalIterator() const = 0;
52 /// Return global trigger
53 virtual AliMUONGlobalTrigger* Global() const = 0;
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;
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;
61 using AliMUONVStore::Print;
63 virtual void Print(Option_t* wildcard="") const { return Print(wildcard,""); }
65 ClassDef(AliMUONVTriggerStore,1) // Base class of a trigger store