]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALITRDDIGITIZER_H | |
2 | #define ALITRDDIGITIZER_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | #include "AliDigitizer.h" | |
9 | ||
10 | class TFile; | |
11 | class TF1; | |
12 | ||
13 | class AliRunDigitizer; | |
14 | ||
15 | class AliTRD; | |
16 | class AliTRDdigitsManager; | |
17 | class AliTRDgeometry; | |
18 | class AliTRDparameter; | |
19 | ||
20 | /////////////////////////////////////////////////////// | |
21 | // Produces digits from the hits information // | |
22 | /////////////////////////////////////////////////////// | |
23 | ||
24 | class AliTRDdigitizer : public AliDigitizer { | |
25 | ||
26 | public: | |
27 | ||
28 | AliTRDdigitizer(); | |
29 | AliTRDdigitizer(const Text_t* name, const Text_t* title); | |
30 | AliTRDdigitizer(AliRunDigitizer *manager, const Text_t* name, const Text_t* title); | |
31 | AliTRDdigitizer(AliRunDigitizer *manager); | |
32 | AliTRDdigitizer(const AliTRDdigitizer &d); | |
33 | virtual ~AliTRDdigitizer(); | |
34 | AliTRDdigitizer &operator=(const AliTRDdigitizer &d); | |
35 | ||
36 | virtual void Copy(TObject &d); | |
37 | virtual Bool_t InitDetector(); | |
38 | virtual void Exec(Option_t* option = 0); | |
39 | virtual Bool_t Open(const Char_t *file, Int_t nEvent = 0); | |
40 | virtual Bool_t MakeBranch(const Char_t *file = 0); | |
41 | virtual Bool_t MakeDigits(); | |
42 | virtual void AddSDigitsManager(AliTRDdigitsManager *manager); | |
43 | virtual void DeleteSDigitsManager(); | |
44 | virtual Bool_t ConvertSDigits(); | |
45 | virtual Bool_t MergeSDigits(); | |
46 | virtual Bool_t SDigits2Digits(); | |
47 | virtual Bool_t WriteDigits(); | |
48 | ||
49 | virtual void SetCompress(Int_t c = 1) { fCompress = c; }; | |
50 | virtual void SetDebug(Int_t v = 1) { fDebug = v; }; | |
51 | virtual void SetSDigits(Int_t v = 1) { fSDigits = v; }; | |
52 | virtual void SetSDigitsScale(Float_t s) { fSDigitsScale = s; }; | |
53 | virtual void SetEvent(Int_t v = 0) { fEvent = v; }; | |
54 | virtual void SetManager(AliTRDdigitsManager *man) { fDigitsManager = man; }; | |
55 | virtual void SetGeometry(AliTRDgeometry *geo) { fGeo = geo; }; | |
56 | virtual void SetParameter(AliTRDparameter *par) { fPar = par; }; | |
57 | virtual void SetMergeSignalOnly(Bool_t m = kTRUE) { fMergeSignalOnly = m; }; | |
58 | ||
59 | AliTRDdigitsManager *Digits() const { return fDigitsManager; }; | |
60 | ||
61 | Bool_t GetCompress() const { return fCompress; }; | |
62 | Bool_t GetSDigits() const { return fSDigits; }; | |
63 | Float_t GetSDigitsScale() const { return fSDigitsScale; }; | |
64 | AliTRDparameter *GetParameter() const { return fPar; }; | |
65 | ||
66 | protected: | |
67 | ||
68 | TFile *fInputFile; //! ALIROOT-file | |
69 | AliTRDdigitsManager *fDigitsManager; //! Manager for the output digits | |
70 | AliTRDdigitsManager *fSDigitsManager; //! Manager for the summed input s-digits | |
71 | TList *fSDigitsManagerList; //! List of managers of input s-digits | |
72 | AliTRD *fTRD; //! TRD detector class | |
73 | AliTRDgeometry *fGeo; //! TRD geometry | |
74 | AliTRDparameter *fPar; // TRD digitization parameter object | |
75 | Int_t fEvent; //! Event number | |
76 | Int_t *fMasks; //! Masks for the merging | |
77 | Bool_t fCompress; // Switch to keep only compressed data in memory | |
78 | Int_t fDebug; // Sets the debug level | |
79 | Bool_t fSDigits; // Switch for the summable digits | |
80 | Float_t fSDigitsScale; // Scale factor for the summable digits | |
81 | Bool_t fMergeSignalOnly; // Merge only detectors that contain a signal | |
82 | ||
83 | private: | |
84 | ||
85 | virtual void DeConvExp(Double_t *source, Double_t *target, Int_t n, Int_t nexp); | |
86 | virtual Bool_t CheckDetector(Int_t plane, Int_t chamber, Int_t sector); | |
87 | ||
88 | ClassDef(AliTRDdigitizer,7) // Produces TRD-Digits | |
89 | ||
90 | }; | |
91 | ||
92 | #endif |