]>
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, | |
02ab99ac | 61 | Int_t manuChannel, Int_t cathode) const; |
4d3f0fd0 | 62 | |
63 | using AliMUONVDigitStore::GetSize; | |
64 | ||
65 | virtual Int_t GetSize() const; | |
66 | ||
67 | virtual AliMUONVDigit* Remove(AliMUONVDigit& digit); | |
68 | ||
91b67b6f | 69 | Bool_t HasMCInformation() const; |
70 | ||
4d3f0fd0 | 71 | private: |
72 | ||
73 | TObject** ChamberDigitsPtr(Int_t chamberId) const; | |
74 | ||
75 | TClonesArray* ChamberDigits(Int_t chamberId); | |
76 | const TClonesArray* ChamberDigits(Int_t chamberId) const; | |
77 | ||
78 | AliMUONVDigit* Find(const AliMUONVDigit& digit, Int_t& index) const; | |
79 | ||
4d3f0fd0 | 80 | AliMUONVDigit* FindIndex(Int_t detElemId, Int_t manuId, |
02ab99ac | 81 | Int_t manuChannel, Int_t cathode, Int_t& index) const; |
4d3f0fd0 | 82 | |
83 | private: | |
84 | TObjArray* fDigits; ///< array of tclonesarray | |
85 | TClonesArray* fChamberDigits; ///< array of digits for one chamber | |
86 | ||
87 | ClassDef(AliMUONDigitStoreV1,1) // (Legacy) Implementation of AliMUONVDigitStore | |
88 | }; | |
89 | ||
90 | #endif |