340ac53182ef6d1a6657ffe435566c1389cf9264
[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 "../STEER/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     void Digitize() ;
32     
33     enum {kBgTag = -1};
34     
35  private:    
36     void SortTracks(Int_t *tracks,Int_t *charges,Int_t ntr);
37     
38  private:
39     AliRunDigitizer *fManager;      // ! pointer to the AliRunDigitizer object
40     TTree *fTrH1;                   // ! Hits Tree
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 fEvNrSig;                 // signal     event number
53     Int_t fEvNrBgr;                 // background event number    
54     TClonesArray * fHeaderFiles ;   // Names of files with headers to merge
55     Bool_t fInitialized;            // if first file already read
56     
57     ClassDef(AliMUONDigitizer,1)
58 };    
59 #endif
60