Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / MUON / AliMUONGain.h
1 #ifndef ALIMUONGAIN_H
2 #define ALIMUONGAIN_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 /// \ingroup calib
9 /// \class AliMUONGain
10 /// \brief Implementation of the pedestal and gain computing
11 /// 
12 //  Author: Alberto Baldisseri, JL Charvet (05/05/2009)
13
14 #include "AliMUONPedestal.h"
15
16 class AliMUONGain : public AliMUONPedestal
17 {
18   public:
19     AliMUONGain();
20     virtual ~AliMUONGain();
21
22     TString WriteGainData(Int_t bp, Int_t manu, Int_t ch, Double_t p1, Double_t p2, Int_t threshold, Int_t q);
23     TString WriteGainHeader(Int_t nInit, Int_t nEntries, Int_t nbpf2, Int_t *numrun, Double_t *injCharge);
24     /// Store Pedmean and sigma in pedestal-like ascii file
25     void MakePedStoreForGain(TString flatfile);
26     /// Computes gain parameters and store in an ascii file
27     void MakeGainStore(TString flatfile); 
28     /// Set filename of root file containing pedmean and sigma values for each DAC value
29   void SetAliRootDataFileName(const char* name="MUONTRKGAINda_data.root") { fRootDataFileName=name; }
30     /// Get filename of root file containing pedmean and sigma values
31     const char* GetRootDataFileName() const {return fRootDataFileName.Data();}
32     /// Write Header in Dummy ascii file 
33     TString WriteDummyHeader();
34     /// Set InjCharge = DAC value
35     void SetAliInjCharge(Int_t charge) {fInjCharge = charge;}
36     /// Set PrintLevel
37     void SetAliPrintLevel(Int_t pri) {fPrintLevel = pri;}
38     /// Set fnInit (=1: first DAC=0 removed to compute the fit)
39     void SetAliInit(Int_t ini) {fnInit = ini;}
40     /// Set nEntries = Nb of DAC values
41     void SetAliEntries(Int_t ent) {fnEntries = ent;}
42     /// Set Nbpf1 = nb of DAC values for the linear fit
43     void SetAliNbpf1(Int_t nf1) {fnbpf1 = nf1;}
44     /// Set PlotLevel
45     void SetAliPlotLevel(Int_t plo) {fPlotLevel = plo;}
46
47   private:
48     Int_t fInjCharge; ///< DAC value
49     TString fRootDataFileName; ///< Root data file name
50     Int_t fnInit; ///< fnInit (for expert)
51     Int_t fnEntries; ///< Nb of DAC values
52     Int_t fnbpf1; ///< nb  of DAC values for linear fit (for expert)
53     Int_t fPrintLevel; ///< Print level
54     Int_t fPlotLevel; ///< Plot level
55         
56   ClassDef(AliMUONGain,2) // 
57 };
58
59 #endif