]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONMerger.h
Implementation of ITS tracking for HLT. The tracking is based on the off-line AliITSt...
[u/mrichter/AliRoot.git] / MUON / AliMUONMerger.h
CommitLineData
66f93042 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 */
5
6/* $Id$ */
30178c30 7// Revision of includes 07/05/2004
66f93042 8
0693bbb3 9class TClonesArray;
30178c30 10class TTree;
66f93042 11
12class AliMUONPadHit;
13class AliHitMap;
14
15typedef enum {kDigitize=0, kMerge = 1} MergeMode_t;
16
17class AliMUONMerger {
18 public:
19
20 AliMUONMerger();
21 virtual ~AliMUONMerger();
22
23 // Compare pad hits
c7955c78 24 virtual Bool_t Exists(const AliMUONPadHit * sdigit) const;
66f93042 25 // Update a pad hit
26 virtual void Update(AliMUONPadHit *sdigit);
27 // Create a new hit
28 virtual void CreateNew(AliMUONPadHit *sdigit);
29
30 // Initialize merging and digitisation
31 virtual void Init();
32
33 // Do the main work
34 void Digitise() ;
35
36 // Setters -> Later Communication with gAlice
37 void SetSignalEventNumber(Int_t i) {fEvNrSig = i;}
38 void SetBackgroundEventNumber(Int_t i) {fEvNrBgr = i;}
39 void SetBackgroundFileName(char* file) {fFnBgr = file;}
40 void SetMode(MergeMode_t mode) {fMerge = mode;}
ba030c0e 41 void SetDebug(Int_t debug) {fDebug = debug;}
66f93042 42
43 enum {kBgTag = -1};
11ca64ac 44
45 protected:
46 AliMUONMerger(const AliMUONMerger& rhs);
47 AliMUONMerger& operator=(const AliMUONMerger& rhs);
48
66f93042 49 private:
50 // Open the bgr file
51 TFile *InitBgr();
30178c30 52 void SortTracks(Int_t *tracks,Int_t *charges,Int_t ntr) const;
a3f472a9 53
66f93042 54 private:
8f36c696 55 TTree *fTrH1; //! Hits Tree for background event
56 TClonesArray *fHitsBgr; //! List of hits for one track only
57 TClonesArray *fPadHitsBgr; //! List of clusters for one track only
58 AliHitMap **fHitMap; //! pointer to array of pointers to hitmaps
59 Int_t fNch; //! chamber nr (loop variable)
60 Int_t fTrack; //! track nr (loop variable)
61 Int_t fCharge; //! charge generated by fTrack
62 Bool_t fSignal; //! kTRUE if signal file is processed
63 TObjArray *fList; //! list of AliMUONTransientDigit
64 Int_t fCounter; //! nr. of AliMUONTransientDigit
65 Int_t fDigits[6]; //! array with digits
66f93042 66 Int_t fEvNrSig; // signal event number
67 Int_t fEvNrBgr; // background event number
68 MergeMode_t fMerge; // merging type kDigitize, kMerge
69 char *fFnBgr; // background file name
70 TFile *fBgrFile; // Pointer to background file
ba030c0e 71 Int_t fDebug; // level of debug printing
66f93042 72
73 ClassDef(AliMUONMerger,0)
74};
75#endif
76