Line data Source code
1 :
2 : #ifndef ALIHEPDATAPARSER_H
3 : #define ALIHEPDATAPARSER_H
4 :
5 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 : * See cxx source for full Copyright notice */
7 :
8 : //-------------------------------------------------------------------------
9 : // Implementation of Class AliHEPDataParser
10 : //
11 : // This class is used to save the content of hisograms/graphs in the
12 : // HEP data format and viceversa
13 : // Author: Michele Floris, CERN
14 : //-------------------------------------------------------------------------
15 :
16 : #include "TObject.h"
17 : #include "TString.h"
18 :
19 : class TH1;
20 : class TGraph;
21 :
22 : class AliHEPDataParser : public TObject{
23 :
24 :
25 : public:
26 : AliHEPDataParser();
27 : AliHEPDataParser(TH1 * hStat, TH1 * hSyst);
28 : AliHEPDataParser(TGraph * grStat, TGraph * grSyst);
29 : AliHEPDataParser(const char * hepfileName);
30 :
31 : ~AliHEPDataParser();
32 :
33 0 : TH1 * GetHistoStat() { return fHistStat;}
34 0 : TH1 * GetHistoSyst() { return fHistSyst;}
35 0 : TGraph * GetGraphStat() { return fGraphStat;}
36 0 : TGraph * GetGraphSyst() { return fGraphSyst;}
37 : void SaveHEPDataFile(const char * hepfileName, Bool_t trueUseGraphFalesUseHisto = 0);
38 :
39 0 : void SetName(const char * name) { fValueName = name;}
40 0 : void SetXaxisName (TString val) {fXaxisName = val ;}
41 0 : void SetTitle(TString val) {fTitle = val;}
42 0 : void SetReaction(TString val) {fReaction = val;}
43 0 : void SetEnergy(TString val) {fEnergy = val;}
44 0 : void SetRapidityRange(TString val) {fRapidityRange = val;}
45 0 : void SetPrecision(Int_t val) {fPrecision = val;}
46 :
47 :
48 : protected:
49 :
50 : Double_t RoundToSignificantFigures(double num, int n) ;
51 : TString GetFixWidthCol(Double_t number, Int_t width) ;
52 :
53 :
54 : TH1 * fHistStat; // statistical errors (hist)
55 : TH1 * fHistSyst; // systematic errors (hist)
56 : TGraph * fGraphStat; // statistical errors (hist)
57 : TGraph * fGraphSyst; // systematic errors (hist)
58 : TObjArray * fHEPDataFileLines;// TClones array of TObjString
59 : TString fValueName; // title for the y axis on the ascii file
60 : TString fXaxisName; // title for the y axis
61 : TString fTitle; // title for the HEP DATA file
62 : TString fReaction; // Raction ,e.g. RE : Pb + Pb --> pbar + X
63 : TString fEnergy; // Raction ,e.g. sqrts : 2760 GeV
64 : TString fRapidityRange; // Rapidity ABS(YRAP) : 0.5'
65 : Int_t fPrecision; // number of significant figures for rounding
66 :
67 170 : ClassDef(AliHEPDataParser, 2);
68 :
69 : private:
70 :
71 :
72 : AliHEPDataParser(const AliHEPDataParser&);
73 : AliHEPDataParser& operator=(const AliHEPDataParser&);
74 : };
75 :
76 : #endif
|