changes for TTask implementation, some other small editing
[u/mrichter/AliRoot.git] / MUON / AliMUONDigitizer.h
1 #ifndef ALIMUONDIGITIZER_H
2 #define ALIMUONDIGITIZER_H
3 /* Copyright(c) 1998-2001, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7 #include "AliDigitizer.h"
8
9 class AliRunDigitizer;
10 class AliMUONPadHit;
11 class AliHitMap;
12
13 class AliMUONDigitizer : public AliDigitizer {
14  public:
15     
16     AliMUONDigitizer();
17     AliMUONDigitizer(AliRunDigitizer * manager);
18     virtual ~AliMUONDigitizer();
19
20     // Compare pad hits
21     virtual Bool_t Exists(const AliMUONPadHit * sdigit);
22     // Update a pad hit
23     virtual  void Update(AliMUONPadHit *sdigit);
24     // Create a new hit
25     virtual  void CreateNew(AliMUONPadHit *sdigit);
26
27     // Initialize merging and digitization
28     virtual Bool_t Init();
29
30     // Do the main work
31     virtual void Exec(Option_t* option=0);
32     
33     Int_t GetDebug() {return fDebug;}             // get debug level
34     void SetDebug(Int_t level){fDebug = level;}   // set debug level    
35     enum {kBgTag = -1};
36     
37  private:    
38     void SortTracks(Int_t *tracks,Int_t *charges,Int_t ntr);
39     
40  private:
41     TClonesArray *fHits;            //! List of hits for one track only
42     TClonesArray *fPadHits;         //! List of clusters for one track only
43     AliHitMap **fHitMap;            //! pointer to array of pointers to hitmaps
44     Int_t fNch;                     //! chamber nr (loop variable)
45     Int_t fTrack;                   //! track nr (loop variable)
46     TObjArray *fTDList;             //! list of AliMUONTransientDigits
47     TObjArray *fTrList;             //! list of tracks
48     TClonesArray *fAddress;         //! pointer to TClonesArray of TVectors with trackinfo
49     Int_t fCounter;                 //! nr. of AliMUONTransientDigit
50     Int_t fCountadr;                //! counter for trinfo
51     Int_t fDigits[6];               //! array with digits
52     Int_t fDebug;                   //! debug level
53     ClassDef(AliMUONDigitizer,1)
54 };    
55 #endif
56