]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpDataProcessor.h
Fixing coding conventions (RC22)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpDataProcessor.h
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 class AliMpDataMap;
21
22 class AliMpDataProcessor : public TObject
23 {
24   public:
25     AliMpDataProcessor();
26     virtual ~AliMpDataProcessor();
27     
28     // methods
29     AliMpDataMap* CreateDataMap(const TString& dataDir = "data" );
30     Bool_t        GenerateData(AliMpDataMap* dataMap,
31                                const TString& outputDataDir = "data_new" );
32     Bool_t        GenerateCode(AliMpDataMap* dataMap);
33     
34   private:
35     // static methods
36     static const TString& GetHeaderFileName();
37     static const TString& GetImplFileName();  
38  
39     // methods  
40     void ProcessDirectory(const TString& path, AliMpDataMap* map);
41     void ProcessFile(const TString& path, AliMpDataMap* map );
42     void GenerateFunction(const TString& path, const TString& data);
43     void GenerateFileCode(const TString& path);
44     void GenerateFill();
45
46     // data
47     Int_t     fCounter;    ///< data files counter
48     ofstream  fHeaderFile; ///< header file
49     ofstream  fImplFile;   ///< implementation file
50  
51   ClassDef(AliMpDataProcessor,0)  // Helper class for sorted integer array
52 };
53
54 #endif //ALI_MP_DATA_PROCESSOR_H
55