]>
Commit | Line | Data |
---|---|---|
4d3f0fd0 | 1 | #ifndef ALIMUONDIGITSTOREV1_H |
2 | #define ALIMUONDIGITSTOREV1_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 AliMUONDigitStoreV1 | |
11 | /// \brief (Legacy) implementation of AliMUONVDigitStore | |
12 | /// | |
13 | // Author Laurent Aphecetche | |
14 | ||
15 | #ifndef ALIMUONVDIGITSTORE_H | |
16 | # include "AliMUONVDigitStore.h" | |
17 | #endif | |
18 | ||
19 | class TObjArray; | |
20 | class TClonesArray; | |
21 | ||
22 | class AliMUONDigitStoreV1 : public AliMUONVDigitStore | |
23 | { | |
24 | public: | |
25 | AliMUONDigitStoreV1(); | |
26 | AliMUONDigitStoreV1(const AliMUONDigitStoreV1& rhs); | |
27 | AliMUONDigitStoreV1& operator=(const AliMUONDigitStoreV1& rhs); | |
28 | virtual ~AliMUONDigitStoreV1(); | |
29 | ||
30 | virtual void Clear(Option_t* opt=""); | |
31 | ||
32 | /// Whether the Connect(TTree&) method is implemented | |
33 | virtual Bool_t CanConnect() const { return kTRUE; } | |
34 | ||
35 | // Below are our specific methods | |
36 | ||
37 | virtual AliMUONVDigitStore* Create() const { return new AliMUONDigitStoreV1; } | |
38 | ||
39 | virtual Bool_t Connect(TTree& tree, Bool_t alone=kTRUE) const; | |
40 | ||
41 | virtual AliMUONVDigit* CreateDigit(Int_t detElemId, Int_t manuId, | |
42 | Int_t manuChannel, Int_t cathode) const; | |
43 | ||
44 | using AliMUONVDigitStore::Add; | |
45 | ||
46 | virtual AliMUONVDigit* Add(const AliMUONVDigit& digit, EReplacePolicy replace=kDeny); | |
47 | ||
48 | virtual TIterator* CreateIterator() const; | |
49 | ||
50 | virtual TIterator* CreateTrackerIterator() const; | |
51 | ||
52 | virtual TIterator* CreateTriggerIterator() const; | |
53 | ||
54 | virtual TIterator* CreateIterator(Int_t firstDetElemId, | |
55 | Int_t lastDetElemId, | |
56 | Int_t cathode=2) const; | |
57 | ||
58 | using AliMUONVDigitStore::FindObject; | |
59 | ||
60 | virtual AliMUONVDigit* FindObject(Int_t detElemId, Int_t manuId, | |
61 | Int_t manuChannel) const; | |
62 | ||
63 | virtual AliMUONVDigit* FindObject(Int_t detElemId, Int_t localBoardId, | |
64 | Int_t localBoardChannel, Int_t cathode) const; | |
65 | ||
66 | using AliMUONVDigitStore::GetSize; | |
67 | ||
68 | virtual Int_t GetSize() const; | |
69 | ||
70 | virtual AliMUONVDigit* Remove(AliMUONVDigit& digit); | |
71 | ||
72 | private: | |
73 | ||
74 | TObject** ChamberDigitsPtr(Int_t chamberId) const; | |
75 | ||
76 | TClonesArray* ChamberDigits(Int_t chamberId); | |
77 | const TClonesArray* ChamberDigits(Int_t chamberId) const; | |
78 | ||
79 | AliMUONVDigit* Find(const AliMUONVDigit& digit, Int_t& index) const; | |
80 | ||
81 | AliMUONVDigit* FindIndex(Int_t detElemId, Int_t localBoardId, | |
82 | Int_t localBoardChannel, Int_t cathode, | |
83 | Int_t& index) const; | |
84 | ||
85 | AliMUONVDigit* FindIndex(Int_t detElemId, Int_t manuId, | |
86 | Int_t manuChannel, Int_t& index) const; | |
87 | ||
88 | private: | |
89 | TObjArray* fDigits; ///< array of tclonesarray | |
90 | TClonesArray* fChamberDigits; ///< array of digits for one chamber | |
91 | ||
92 | ClassDef(AliMUONDigitStoreV1,1) // (Legacy) Implementation of AliMUONVDigitStore | |
93 | }; | |
94 | ||
95 | #endif |