ROOT logo
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

// $Id$

/// \ingroup basic
/// \class AliMpDataProcessor
/// \brief Class for converting ASCII data files in the map of string
///
/// \author Ivana Hrivnacova, IPN Orsay

#ifndef ALI_MP_DATA_PROCESSOR_H
#define ALI_MP_DATA_PROCESSOR_H

#include <TObject.h>
#include <TString.h>

#include <fstream>

using std::ofstream;

class AliMpDataMap;

class AliMpDataProcessor : public TObject
{
  public:
    AliMpDataProcessor();
    virtual ~AliMpDataProcessor();
    
    // methods
    AliMpDataMap* CreateDataMap(const TString& dataDir = "data" );
    Bool_t        GenerateData(AliMpDataMap* dataMap,
                               const TString& outputDataDir = "data_new" );
    Bool_t        GenerateCode(AliMpDataMap* dataMap);
    
  private:
    // static methods
    static const TString& GetHeaderFileName();
    static const TString& GetImplFileName();  
 
    // methods  
    void ProcessDirectory(const TString& path, AliMpDataMap* map);
    void ProcessFile(const TString& path, AliMpDataMap* map );
    void GenerateFunction(const TString& path, const TString& data);
    void GenerateFileCode(const TString& path);
    void GenerateFill();

    // data
    Int_t     fCounter;    ///< data files counter
    ofstream  fHeaderFile; ///< header file
    ofstream  fImplFile;   ///< implementation file
 
  ClassDef(AliMpDataProcessor,0)  // Helper class for sorted integer array
};

#endif //ALI_MP_DATA_PROCESSOR_H

 AliMpDataProcessor.h:1
 AliMpDataProcessor.h:2
 AliMpDataProcessor.h:3
 AliMpDataProcessor.h:4
 AliMpDataProcessor.h:5
 AliMpDataProcessor.h:6
 AliMpDataProcessor.h:7
 AliMpDataProcessor.h:8
 AliMpDataProcessor.h:9
 AliMpDataProcessor.h:10
 AliMpDataProcessor.h:11
 AliMpDataProcessor.h:12
 AliMpDataProcessor.h:13
 AliMpDataProcessor.h:14
 AliMpDataProcessor.h:15
 AliMpDataProcessor.h:16
 AliMpDataProcessor.h:17
 AliMpDataProcessor.h:18
 AliMpDataProcessor.h:19
 AliMpDataProcessor.h:20
 AliMpDataProcessor.h:21
 AliMpDataProcessor.h:22
 AliMpDataProcessor.h:23
 AliMpDataProcessor.h:24
 AliMpDataProcessor.h:25
 AliMpDataProcessor.h:26
 AliMpDataProcessor.h:27
 AliMpDataProcessor.h:28
 AliMpDataProcessor.h:29
 AliMpDataProcessor.h:30
 AliMpDataProcessor.h:31
 AliMpDataProcessor.h:32
 AliMpDataProcessor.h:33
 AliMpDataProcessor.h:34
 AliMpDataProcessor.h:35
 AliMpDataProcessor.h:36
 AliMpDataProcessor.h:37
 AliMpDataProcessor.h:38
 AliMpDataProcessor.h:39
 AliMpDataProcessor.h:40
 AliMpDataProcessor.h:41
 AliMpDataProcessor.h:42
 AliMpDataProcessor.h:43
 AliMpDataProcessor.h:44
 AliMpDataProcessor.h:45
 AliMpDataProcessor.h:46
 AliMpDataProcessor.h:47
 AliMpDataProcessor.h:48
 AliMpDataProcessor.h:49
 AliMpDataProcessor.h:50
 AliMpDataProcessor.h:51
 AliMpDataProcessor.h:52
 AliMpDataProcessor.h:53
 AliMpDataProcessor.h:54
 AliMpDataProcessor.h:55
 AliMpDataProcessor.h:56
 AliMpDataProcessor.h:57