]>
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(); | |
ce350193 | 26 | AliMUONDigitStoreV1(TRootIOCtor* dummy); |
4d3f0fd0 | 27 | AliMUONDigitStoreV1(const AliMUONDigitStoreV1& rhs); |
28 | AliMUONDigitStoreV1& operator=(const AliMUONDigitStoreV1& rhs); | |
29 | virtual ~AliMUONDigitStoreV1(); | |
30 | ||
31 | virtual void Clear(Option_t* opt=""); | |
32 | ||
33 | /// Whether the Connect(TTree&) method is implemented | |
34 | virtual Bool_t CanConnect() const { return kTRUE; } | |
35 | ||
36 | // Below are our specific methods | |
37 | ||
38 | virtual AliMUONVDigitStore* Create() const { return new AliMUONDigitStoreV1; } | |
39 | ||
40 | virtual Bool_t Connect(TTree& tree, Bool_t alone=kTRUE) const; | |
41 | ||
42 | virtual AliMUONVDigit* CreateDigit(Int_t detElemId, Int_t manuId, | |
43 | Int_t manuChannel, Int_t cathode) const; | |
44 | ||
45 | using AliMUONVDigitStore::Add; | |
46 | ||
47 | virtual AliMUONVDigit* Add(const AliMUONVDigit& digit, EReplacePolicy replace=kDeny); | |
48 | ||
49 | virtual TIterator* CreateIterator() const; | |
50 | ||
51 | virtual TIterator* CreateTrackerIterator() const; | |
52 | ||
53 | virtual TIterator* CreateTriggerIterator() const; | |
54 | ||
55 | virtual TIterator* CreateIterator(Int_t firstDetElemId, | |
56 | Int_t lastDetElemId, | |
57 | Int_t cathode=2) const; | |
58 | ||
59 | using AliMUONVDigitStore::FindObject; | |
60 | ||
61 | virtual AliMUONVDigit* FindObject(Int_t detElemId, Int_t manuId, | |
02ab99ac | 62 | Int_t manuChannel, Int_t cathode) const; |
4d3f0fd0 | 63 | |
64 | using AliMUONVDigitStore::GetSize; | |
65 | ||
66 | virtual Int_t GetSize() const; | |
67 | ||
68 | virtual AliMUONVDigit* Remove(AliMUONVDigit& digit); | |
69 | ||
91b67b6f | 70 | Bool_t HasMCInformation() const; |
71 | ||
4d3f0fd0 | 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 | ||
4d3f0fd0 | 81 | AliMUONVDigit* FindIndex(Int_t detElemId, Int_t manuId, |
02ab99ac | 82 | Int_t manuChannel, Int_t cathode, Int_t& index) const; |
4d3f0fd0 | 83 | |
84 | private: | |
85 | TObjArray* fDigits; ///< array of tclonesarray | |
86 | TClonesArray* fChamberDigits; ///< array of digits for one chamber | |
87 | ||
88 | ClassDef(AliMUONDigitStoreV1,1) // (Legacy) Implementation of AliMUONVDigitStore | |
89 | }; | |
90 | ||
91 | #endif |