1 #ifndef ALIMUONDIGITSTOREV1_H
2 #define ALIMUONDIGITSTOREV1_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONDigitStoreV1
11 /// \brief (Legacy) implementation of AliMUONVDigitStore
13 // Author Laurent Aphecetche
15 #ifndef ALIMUONVDIGITSTORE_H
16 # include "AliMUONVDigitStore.h"
22 class AliMUONDigitStoreV1 : public AliMUONVDigitStore
25 AliMUONDigitStoreV1();
26 AliMUONDigitStoreV1(TRootIOCtor* dummy);
27 AliMUONDigitStoreV1(const AliMUONDigitStoreV1& rhs);
28 AliMUONDigitStoreV1& operator=(const AliMUONDigitStoreV1& rhs);
29 virtual ~AliMUONDigitStoreV1();
31 virtual void Clear(Option_t* opt="");
33 /// Whether the Connect(TTree&) method is implemented
34 virtual Bool_t CanConnect() const { return kTRUE; }
36 // Below are our specific methods
38 virtual AliMUONVDigitStore* Create() const { return new AliMUONDigitStoreV1; }
40 virtual Bool_t Connect(TTree& tree, Bool_t alone=kTRUE) const;
42 virtual AliMUONVDigit* CreateDigit(Int_t detElemId, Int_t manuId,
43 Int_t manuChannel, Int_t cathode) const;
45 using AliMUONVDigitStore::Add;
47 virtual AliMUONVDigit* Add(const AliMUONVDigit& digit, EReplacePolicy replace=kDeny);
49 virtual TIterator* CreateIterator() const;
51 virtual TIterator* CreateTrackerIterator() const;
53 virtual TIterator* CreateTriggerIterator() const;
55 virtual TIterator* CreateIterator(Int_t firstDetElemId,
57 Int_t cathode=2) const;
59 using AliMUONVDigitStore::FindObject;
61 virtual AliMUONVDigit* FindObject(Int_t detElemId, Int_t manuId,
62 Int_t manuChannel, Int_t cathode) const;
64 using AliMUONVDigitStore::GetSize;
66 virtual Int_t GetSize() const;
68 virtual AliMUONVDigit* Remove(AliMUONVDigit& digit);
70 Bool_t HasMCInformation() const;
74 TObject** ChamberDigitsPtr(Int_t chamberId) const;
76 TClonesArray* ChamberDigits(Int_t chamberId);
77 const TClonesArray* ChamberDigits(Int_t chamberId) const;
79 AliMUONVDigit* Find(const AliMUONVDigit& digit, Int_t& index) const;
81 AliMUONVDigit* FindIndex(Int_t detElemId, Int_t manuId,
82 Int_t manuChannel, Int_t cathode, Int_t& index) const;
85 TObjArray* fDigits; ///< array of tclonesarray
86 TClonesArray* fChamberDigits; ///< array of digits for one chamber
88 ClassDef(AliMUONDigitStoreV1,1) // (Legacy) Implementation of AliMUONVDigitStore