Line data Source code
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 0 : virtual AliMUONTriggerStoreV1* Create() const { return new AliMUONTriggerStoreV1; }
29 :
30 0 : 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 64 : TClonesArray** GlobalPtr() const { return const_cast<TClonesArray**>(&fGlobal); }
61 : /// Return the address of the array of local trigger information
62 64 : TClonesArray** LocalPtr() const { return const_cast<TClonesArray**>(&fLocal); }
63 : /// Return the address of the array of regional trigger information
64 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 92 : ClassDef(AliMUONTriggerStoreV1,1) // Implementation of AliMUONVTriggerStore
78 : };
79 :
80 : #endif
|