]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONDigitStoreV1.h
ALIROOT-5420 Changes for CDH v3
[u/mrichter/AliRoot.git] / MUON / AliMUONDigitStoreV1.h
CommitLineData
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
19class TObjArray;
20class TClonesArray;
21
22class AliMUONDigitStoreV1 : public AliMUONVDigitStore
23{
24public:
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 72private:
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
84private:
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