]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PHOS/AliPHOSRawDigiProducer.h
Fast ALTRO fit (A.Pavlinov)
[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 ;
30331de9 14class AliPHOSGeometry ;
39569d36 15class AliPHOSPulseGenerator;
30331de9 16#include "TObject.h"
88fb5e50 17
30331de9 18class AliPHOSRawDigiProducer: public TObject {
88fb5e50 19
20public:
21
30331de9 22 AliPHOSRawDigiProducer() ;
30331de9 23 AliPHOSRawDigiProducer(const AliPHOSRawDigiProducer &dp);
24 AliPHOSRawDigiProducer& operator= (const AliPHOSRawDigiProducer &dp);
25
39569d36 26 virtual ~AliPHOSRawDigiProducer();
88fb5e50 27
7bc140a5 28 void MakeDigits(TClonesArray *digits, AliPHOSRawDecoder* decoder);
88fb5e50 29
8be3a30a 30 void SetEmcMinAmp(Float_t emcMin) { fEmcMinE=emcMin; }
31 void SetCpvMinAmp(Float_t cpvMin) { fCpvMinE=cpvMin; }
32 void SetSampleQualityCut(Float_t qcut) { fSampleQualityCut=qcut; }
33
30331de9 34protected:
35
36 void GetCalibrationParameters() ; //Extract calibration parameters from DB
37 void CleanDigits(TClonesArray* digits) ; //remove digits below threshold and bad ones
38
39 Bool_t IsInEMC(AliPHOSDigit* digit) const ; //tests if digit belongs to EMC
40 Bool_t IsInCPV(AliPHOSDigit* digit) const ;
41
42 Double_t CalibrateE(Double_t amp, Int_t* relId, Bool_t isLowGain) ; //calibrate energy
43 Double_t CalibrateT(Double_t amp, Int_t* relId, Bool_t isLowGain) ; //calibrate time
44
45private:
8be3a30a 46 Float_t fEmcMinE ; // minimum energy of digit (ADC)
47 Float_t fCpvMinE ; // minimum energy of digit (ADC)
70d93620 48 Float_t fSampleQualityCut; // Cut on sample shapes: 0: no samples; 1: default parameterization; 999: accept even obviously bad
7e88424f 49 Int_t fEmcCrystals ; // number of EMC crystals
30331de9 50 AliPHOSGeometry * fGeom ; //! PHOS geometry
7e88424f 51 static AliPHOSCalibData * fgCalibData ; //! Calibration database if avalable
52 AliPHOSPulseGenerator * fPulseGenerator ; //! Class with pulse shape parameters
30331de9 53
8be3a30a 54 ClassDef(AliPHOSRawDigiProducer,5)
88fb5e50 55};
56
57#endif