Line data Source code
1 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 : * See cxx source for full Copyright notice */
3 :
4 : // $Id$
5 :
6 : /// \ingroup basic
7 : /// \class AliMpDataProcessor
8 : /// \brief Class for converting ASCII data files in the map of string
9 : ///
10 : /// \author Ivana Hrivnacova, IPN Orsay
11 :
12 : #ifndef ALI_MP_DATA_PROCESSOR_H
13 : #define ALI_MP_DATA_PROCESSOR_H
14 :
15 : #include <TObject.h>
16 : #include <TString.h>
17 :
18 : #include <fstream>
19 :
20 : using std::ofstream;
21 :
22 : class AliMpDataMap;
23 :
24 : class AliMpDataProcessor : public TObject
25 : {
26 : public:
27 : AliMpDataProcessor();
28 : virtual ~AliMpDataProcessor();
29 :
30 : // methods
31 : AliMpDataMap* CreateDataMap(const TString& dataDir = "data" );
32 : Bool_t GenerateData(AliMpDataMap* dataMap,
33 : const TString& outputDataDir = "data_new" );
34 : Bool_t GenerateCode(AliMpDataMap* dataMap);
35 :
36 : private:
37 : // static methods
38 : static const TString& GetHeaderFileName();
39 : static const TString& GetImplFileName();
40 :
41 : // methods
42 : void ProcessDirectory(const TString& path, AliMpDataMap* map);
43 : void ProcessFile(const TString& path, AliMpDataMap* map );
44 : void GenerateFunction(const TString& path, const TString& data);
45 : void GenerateFileCode(const TString& path);
46 : void GenerateFill();
47 :
48 : // data
49 : Int_t fCounter; ///< data files counter
50 : ofstream fHeaderFile; ///< header file
51 : ofstream fImplFile; ///< implementation file
52 :
53 18 : ClassDef(AliMpDataProcessor,0) // Helper class for sorted integer array
54 : };
55 :
56 : #endif //ALI_MP_DATA_PROCESSOR_H
57 :
|