]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PHOS/AliPHOSRawDigiProducer.h
Create the rec-point branch even in the case of no digits. Please review and fix...
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRawDigiProducer.h
CommitLineData
88fb5e50 1#ifndef ALIPHOSRAWDIGIPRODUCER_H
2#define ALIPHOSRAWDIGIPRODUCER_H
7bc140a5 3/* Copyright(c) 2007, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8//This class produces PHOS digits of one event
9//using AliPHOSRawDecoder. See cxx source for use case.
88fb5e50 10
11class AliPHOSRawDecoder;
30331de9 12class AliPHOSCalibData ;
13class AliPHOSDigit ;
14class AliPHOSRecoParam ;
15class AliPHOSGeometry ;
39569d36 16class AliPHOSPulseGenerator;
30331de9 17#include "TObject.h"
88fb5e50 18
30331de9 19class AliPHOSRawDigiProducer: public TObject {
88fb5e50 20
21public:
22
30331de9 23 AliPHOSRawDigiProducer() ;
24 AliPHOSRawDigiProducer(const AliPHOSRecoParam* parEmc, const AliPHOSRecoParam* parCpv) ;
25 AliPHOSRawDigiProducer(const AliPHOSRawDigiProducer &dp);
26 AliPHOSRawDigiProducer& operator= (const AliPHOSRawDigiProducer &dp);
27
39569d36 28 virtual ~AliPHOSRawDigiProducer();
88fb5e50 29
7bc140a5 30 void MakeDigits(TClonesArray *digits, AliPHOSRawDecoder* decoder);
88fb5e50 31
30331de9 32protected:
33
34 void GetCalibrationParameters() ; //Extract calibration parameters from DB
35 void CleanDigits(TClonesArray* digits) ; //remove digits below threshold and bad ones
36
37 Bool_t IsInEMC(AliPHOSDigit* digit) const ; //tests if digit belongs to EMC
38 Bool_t IsInCPV(AliPHOSDigit* digit) const ;
39
40 Double_t CalibrateE(Double_t amp, Int_t* relId, Bool_t isLowGain) ; //calibrate energy
41 Double_t CalibrateT(Double_t amp, Int_t* relId, Bool_t isLowGain) ; //calibrate time
42
43private:
44 Float_t fEmcMinE ; // minimum energy of digit to be included into cluster
45 Float_t fCpvMinE ; // minimum energy of digit to be included into cluster
70d93620 46 Float_t fSampleQualityCut; // Cut on sample shapes: 0: no samples; 1: default parameterization; 999: accept even obviously bad
30331de9 47
48 Int_t fEmcCrystals ; // number of EMC crystalls
49 AliPHOSGeometry * fGeom ; //! PHOS geometry
50 static AliPHOSCalibData * fgCalibData ; //! Calibration database if aval.
39569d36 51 AliPHOSPulseGenerator * fPulseGenerator ; //! Class with pulse parameters
30331de9 52
53 ClassDef(AliPHOSRawDigiProducer,2)
88fb5e50 54};
55
56#endif