GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
TXXXCalibPar.h
Go to the documentation of this file.
1 // $Id: TXXXCalibPar.h 478 2009-10-29 12:26:09Z linev $
2 //-----------------------------------------------------------------------
3 // The GSI Online Offline Object Oriented (Go4) Project
4 // Experiment Data Processing at EE department, GSI
5 //-----------------------------------------------------------------------
6 // Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7 // Planckstr. 1, 64291 Darmstadt, Germany
8 // Contact: http://go4.gsi.de
9 //-----------------------------------------------------------------------
10 // This software can be used under the license agreements as stated
11 // in Go4License.txt file which is part of the distribution.
12 //-----------------------------------------------------------------------
13 
14 #ifndef TXXXCalibPar_H
15 #define TXXXCalibPar_H
16 
17 #include "TGo4Parameter.h"
18 
19 #define __LINESNUMBER__ 20
20 #define __TEXTMAX__ 256
21 #define __POLORDER__ 4
22 #define __DATANAME__ "data1"
23 #define __GRAPHNAME__ "graph1"
24 
25 class TGraph;
26 class TH1;
27 class TGo4Fitter;
28 
29 class TXXXCalibPar : public TGo4Parameter {
30  public:
31  TXXXCalibPar();
32  TXXXCalibPar(const char *name, TH1 *spectrum, TGraph *curve);
33  virtual ~TXXXCalibPar();
34 
35  Bool_t UpdateFrom(TGo4Parameter *) override;
36 
38  void ReadDatabase();
39 
41  void SetCalibSpectrum(TH1 *h1);
42 
44  Double_t Energy(Int_t channel);
45 
47  Double_t fdA[__POLORDER__]; // Calibration polynom coeff
49  Bool_t fbRecalibrate{kFALSE}; // Set to kTRUE to make calibration fit in update from
51  Bool_t fbReadDatabase{kFALSE}; // Set to kTRUE to re-read energies from external ascii file
53  TString fxDatabase; // Filename for ascii file with linesname - energy
55  Int_t fiLinesChannel[__LINESNUMBER__]; // Centroid channel numbers for fitted lines
57  Float_t ffLinesEnergy[__LINESNUMBER__]; // Database energies of calibration lines
59  TString fxLinesNames[__LINESNUMBER__]; // Database names of calibration lines.
60 
62  TGo4Fitter *fxLinesFinder{nullptr}; // Fitter to search lines
63 
65  TGo4Fitter *fxCalibrator{nullptr}; // Fitter for calibration of channel/energies with polynom
66 
68  TGraph *fxCalibCurve{nullptr};
69 
70  TString fxGraphName; // Name of the graph to contain the calibration points
71 
73  TH1 *fxCalibSpectrum{nullptr};
74 
76  TString fxSpectrumName; //Name of the calibration spectrum histogram
77 
78  ClassDefOverride(TXXXCalibPar,1)
79 };
80 
81 #endif
TString fxGraphName
Reference to graph containing the calibration points.
Definition: TXXXCalibPar.h:70
Double_t fdA[__POLORDER__]
Definition: TXXXCalibPar.h:47
#define __LINESNUMBER__
Definition: TXXXCalibPar.h:19
TString fxLinesNames[__LINESNUMBER__]
Definition: TXXXCalibPar.h:59
TH1 * fxCalibSpectrum
Definition: TXXXCalibPar.h:73
Bool_t fbReadDatabase
Definition: TXXXCalibPar.h:51
Double_t Energy(Int_t channel)
#define __POLORDER__
Definition: TXXXCalibPar.h:21
Int_t fiLinesChannel[__LINESNUMBER__]
Definition: TXXXCalibPar.h:55
void ReadDatabase()
void SetCalibSpectrum(TH1 *h1)
Bool_t fbRecalibrate
Definition: TXXXCalibPar.h:49
TGo4Fitter * fxLinesFinder
Definition: TXXXCalibPar.h:62
TGraph * fxCalibCurve
Definition: TXXXCalibPar.h:68
TGo4Fitter * fxCalibrator
Definition: TXXXCalibPar.h:65
virtual ~TXXXCalibPar()
Bool_t UpdateFrom(TGo4Parameter *) override
TString fxDatabase
Definition: TXXXCalibPar.h:53
TString fxSpectrumName
Reference to histogram containing the calibration spectrum.
Definition: TXXXCalibPar.h:76
Float_t ffLinesEnergy[__LINESNUMBER__]
Definition: TXXXCalibPar.h:57