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(const AliMUONDigitStoreV1& rhs);
27 AliMUONDigitStoreV1& operator=(const AliMUONDigitStoreV1& rhs);
28 virtual ~AliMUONDigitStoreV1();
30 virtual void Clear(Option_t* opt="");
32 /// Whether the Connect(TTree&) method is implemented
33 virtual Bool_t CanConnect() const { return kTRUE; }
35 // Below are our specific methods
37 virtual AliMUONVDigitStore* Create() const { return new AliMUONDigitStoreV1; }
39 virtual Bool_t Connect(TTree& tree, Bool_t alone=kTRUE) const;
41 virtual AliMUONVDigit* CreateDigit(Int_t detElemId, Int_t manuId,
42 Int_t manuChannel, Int_t cathode) const;
44 using AliMUONVDigitStore::Add;
46 virtual AliMUONVDigit* Add(const AliMUONVDigit& digit, EReplacePolicy replace=kDeny);
48 virtual TIterator* CreateIterator() const;
50 virtual TIterator* CreateTrackerIterator() const;
52 virtual TIterator* CreateTriggerIterator() const;
54 virtual TIterator* CreateIterator(Int_t firstDetElemId,
56 Int_t cathode=2) const;
58 using AliMUONVDigitStore::FindObject;
60 virtual AliMUONVDigit* FindObject(Int_t detElemId, Int_t manuId,
61 Int_t manuChannel, Int_t cathode) const;
63 using AliMUONVDigitStore::GetSize;
65 virtual Int_t GetSize() const;
67 virtual AliMUONVDigit* Remove(AliMUONVDigit& digit);
69 Bool_t HasMCInformation() const;
73 TObject** ChamberDigitsPtr(Int_t chamberId) const;
75 TClonesArray* ChamberDigits(Int_t chamberId);
76 const TClonesArray* ChamberDigits(Int_t chamberId) const;
78 AliMUONVDigit* Find(const AliMUONVDigit& digit, Int_t& index) const;
80 AliMUONVDigit* FindIndex(Int_t detElemId, Int_t manuId,
81 Int_t manuChannel, Int_t cathode, Int_t& index) const;
84 TObjArray* fDigits; ///< array of tclonesarray
85 TClonesArray* fChamberDigits; ///< array of digits for one chamber
87 ClassDef(AliMUONDigitStoreV1,1) // (Legacy) Implementation of AliMUONVDigitStore