Corrected Doxygen warnings:
[u/mrichter/AliRoot.git] / MUON / AliMUONDigitizerV3.h
CommitLineData
92aeef15 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2* See cxx source for full Copyright notice */
3
4// $Id$
5
6/// \ingroup sim
7/// \class AliMUONDigitizerV3
05314992 8/// \brief Digitizer (from SDigit to Digit), performing digit de-calibration.
9///
78649106 10// Author Laurent Aphecetche
92aeef15 11
12#ifndef ALIMUONDIGITIZERV3_H
13#define ALIMUONDIGITIZERV3_H
14
15#ifndef ALIDIGITIZER_H
16#include "AliDigitizer.h"
17#endif
18
4ce497c4 19#ifndef ROOT_TStopwatch
20# include "TStopwatch.h"
21#endif
22
92aeef15 23class AliMUONCalibrationData;
24class AliMUONData;
25class AliMUONDigit;
ad26d4f6 26class AliMUONLogger;
4ce497c4 27class AliMUONTriggerEfficiencyCells;
92aeef15 28class TClonesArray;
4ce497c4 29class TF1;
92aeef15 30class TString;
31
32class AliMUONDigitizerV3 : public AliDigitizer
33{
34public:
92aeef15 35 AliMUONDigitizerV3(AliRunDigitizer* manager=0,
4ce497c4 36 Bool_t generateNoisyDigits=kTRUE);
92aeef15 37 virtual ~AliMUONDigitizerV3();
38
39 virtual void Exec(Option_t* opt="");
40
41 virtual Bool_t Init();
42
43private:
44
4ce497c4 45 AliMUONDigitizerV3(const AliMUONDigitizerV3& other);
46 AliMUONDigitizerV3& operator=(const AliMUONDigitizerV3& other);
47
92aeef15 48 void AddOrUpdateDigit(TClonesArray& array,
49 const AliMUONDigit& digit);
50
51 void ApplyResponse();
52
4ce497c4 53 void ApplyResponseToTrackerDigit(AliMUONDigit& digit, Bool_t addNoise);
ad26d4f6 54 void ApplyResponseToTriggerDigit(AliMUONDigit& digit);
92aeef15 55
4ce497c4 56private:
ad26d4f6 57 AliMUONDigit* FindCorrespondingDigit(AliMUONDigit& digit) const;
4ce497c4 58
59 Int_t FindDigitIndex(TClonesArray& array, const AliMUONDigit& digit) const;
60
61 void GenerateNoisyDigits();
62 void GenerateNoisyDigitsForOneCathode(Int_t detElemId, Int_t cathode);
92aeef15 63
64 AliMUONData* GetDataAccess(const TString& folderName);
65
66 Bool_t MergeDigits(const AliMUONDigit& src, AliMUONDigit& srcAndDest);
67
05314992 68 void MergeWithSDigits(AliMUONData& outputData, const AliMUONData& inputData,
69 Int_t mask);
92aeef15 70
71private:
829425a5 72 Bool_t fIsInitialized; ///< are we initialized ?
73 AliMUONData* fOutputData; //!< pointer to access digits
74 AliMUONCalibrationData* fCalibrationData; //!< pointer to access calib parameters
75 TTask* fTriggerProcessor; ///< pointer to the trigger part of the job
829425a5 76 AliMUONTriggerEfficiencyCells* fTriggerEfficiency; ///< trigger efficiency map
77 mutable TStopwatch fFindDigitIndexTimer; //!< counting time spent in FindDigitIndex
78 TStopwatch fGenerateNoisyDigitsTimer; //!< counting time spent in GenerateNoisyDigits()
79 TStopwatch fExecTimer; //!< couting time spent in Exec()
80 TF1* fNoiseFunction; //!< function to randomly get signal above n*sigma_ped
81 Bool_t fGenerateNoisyDigits; //!< whether or not we should generate noise-only digits for tracker
82 static const Double_t fgkNSigmas; ///< \brief number of sigmas above ped to use
83 /// for noise-only digit generation and zero-suppression
ad26d4f6 84 AliMUONLogger* fLogger; ///<! to keep track of messages
85
4ce497c4 86 ClassDef(AliMUONDigitizerV3,3) // MUON Digitizer V3-3
92aeef15 87};
88
89#endif