1 #ifndef ALIMUONMERGER_H
2 #define ALIMUONMERGER_H
3 /* Copyright(c) 1998-2000, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 // Revision of includes 07/05/2004
16 typedef enum {kDigitize=0, kMerge = 1} MergeMode_t;
18 class AliMUONMerger : public TObject{
22 virtual ~AliMUONMerger();
25 virtual Bool_t Exists(const AliMUONPadHit * sdigit) const;
27 virtual void Update(AliMUONPadHit *sdigit);
29 virtual void CreateNew(AliMUONPadHit *sdigit);
31 // Initialize merging and digitisation
37 // Setters -> Later Communication with gAlice
38 void SetSignalEventNumber(Int_t i) {fEvNrSig = i;}
39 void SetBackgroundEventNumber(Int_t i) {fEvNrBgr = i;}
40 void SetBackgroundFileName(char* file) {fFnBgr = file;}
41 void SetMode(MergeMode_t mode) {fMerge = mode;}
42 void SetDebug(Int_t debug) {fDebug = debug;}
47 AliMUONMerger(const AliMUONMerger& rhs);
48 AliMUONMerger& operator=(const AliMUONMerger& rhs);
53 void SortTracks(Int_t *tracks,Int_t *charges,Int_t ntr) const;
56 TTree *fTrH1; //! Hits Tree for background event
57 TClonesArray *fHitsBgr; //! List of hits for one track only
58 TClonesArray *fPadHitsBgr; //! List of clusters for one track only
59 AliHitMap **fHitMap; //! pointer to array of pointers to hitmaps
60 Int_t fNch; //! chamber nr (loop variable)
61 Int_t fTrack; //! track nr (loop variable)
62 Int_t fCharge; //! charge generated by fTrack
63 Bool_t fSignal; //! kTRUE if signal file is processed
64 TObjArray *fList; //! list of AliMUONTransientDigit
65 Int_t fCounter; //! nr. of AliMUONTransientDigit
66 Int_t fDigits[6]; //! array with digits
67 Int_t fEvNrSig; // signal event number
68 Int_t fEvNrBgr; // background event number
69 MergeMode_t fMerge; // merging type kDigitize, kMerge
70 char *fFnBgr; // background file name
71 TFile *fBgrFile; // Pointer to background file
72 Int_t fDebug; // level of debug printing
74 ClassDef(AliMUONMerger,0)