New MUON data container AliMUONData implementation
[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 AliMUONHitMapA1;
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) const;
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() const {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;
42     TClonesArray* fPadHits;
43     AliMUONHitMapA1 **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     Int_t fCounter;                 //! nr. of AliMUONTransientDigit
48     Bool_t fSignal;                 //! kTRUE if signal file is processed
49     Int_t fMask;                    //! mask dependent on input file
50     Int_t fDigits[6];               //! array with digits
51     Int_t fDebug;                   //! debug level
52
53     ClassDef(AliMUONDigitizer,1)  // MUON merging/digitization
54 };    
55 #endif
56