- Adding check and flagging for HG present
[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();
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 71private:
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
83private:
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