]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONMerger.h
Add input file name as a parameter, default is galice.root
[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$ */
7
8// #include "AliMerger.h"
9// #include "AliMergable.h"
10
11class AliMUONPadHit;
12class AliHitMap;
13
14typedef enum {kDigitize=0, kMerge = 1} MergeMode_t;
15
16class AliMUONMerger {
17 public:
18
19 AliMUONMerger();
20 virtual ~AliMUONMerger();
21
22 // Compare pad hits
23 virtual Bool_t Exists(const AliMUONPadHit * sdigit);
24 // Update a pad hit
25 virtual void Update(AliMUONPadHit *sdigit);
26 // Create a new hit
27 virtual void CreateNew(AliMUONPadHit *sdigit);
28
29 // Initialize merging and digitisation
30 virtual void Init();
31
32 // Do the main work
33 void Digitise() ;
34
35 // Setters -> Later Communication with gAlice
36 void SetSignalEventNumber(Int_t i) {fEvNrSig = i;}
37 void SetBackgroundEventNumber(Int_t i) {fEvNrBgr = i;}
38 void SetBackgroundFileName(char* file) {fFnBgr = file;}
39 void SetMode(MergeMode_t mode) {fMerge = mode;}
40
41 enum {kBgTag = -1};
42
43 private:
44 // Open the bgr file
45 TFile *InitBgr();
a3f472a9 46 void SortTracks(Int_t *tracks,Int_t *charges,Int_t ntr);
47
66f93042 48 private:
49 TTree *fTrH1; // ! Hits Tree for background event
50 TClonesArray *fHitsBgr; // ! List of hits for one track only
51 TClonesArray *fPadHitsBgr; // ! List of clusters for one track only
52 AliHitMap **fHitMap; // ! pointer to array of pointers to hitmaps
53 Int_t fNch; // ! chamber nr (loop variable)
54 Int_t fTrack; // ! track nr (loop variable)
55 TObjArray *fList; // ! list of AliMUONTransientDigit
56 TObjArray *fTrList; // ! list of tracks
57 TClonesArray *fAddress; // ! pointer to TClonesArray of TVectors with trackinfo
58 Int_t fCounter; // ! nr. of AliMUONTransientDigit
59 Int_t fCountadr; // ! counter for trinfo
60 Int_t fDigits[6]; // ! array with digits
61 Int_t fEvNrSig; // signal event number
62 Int_t fEvNrBgr; // background event number
63 MergeMode_t fMerge; // merging type kDigitize, kMerge
64 char *fFnBgr; // background file name
65 TFile *fBgrFile; // Pointer to background file
66
67 ClassDef(AliMUONMerger,0)
68};
69#endif
70