ROOT logo
#ifndef ALI_MP_CDB_H
#define ALI_MP_CDB_H

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

// $Id$ 

/// \ingroup management
/// \class AliMpCDB
/// \brief Manager class for mapping CDB IO
///
/// The mapping can be loaded in two ways:
/// - from mapping objects stored in the CDB folders Mapping, DDLStore
///   (old way)
/// - from mapping data store in a form of string map in the CDB 
///   folder MappingData (new way, now default)
///
/// To switch between these two ways:
/// - AliMpCDB::SetLoadFromData(Bool_t);
/// 
/// Now it is also possible to regenerate mapping ASCII data
/// from the string map:
/// - AliMpCDB::GenerateMpData();
///
/// \author Ivana Hrivnacova, IPN Orsay

#ifndef ROOT_TObject
#  include <TObject.h>
#endif

class AliMpSegmentation;
class AliMpDDLStore;

class AliMpCDB : public  TObject {

  public:
    // static methods
    //

    static Bool_t LoadMpSegmentation(Bool_t warn = false);
    static Bool_t LoadDDLStore(Bool_t warn = false);
    static Bool_t LoadManuStore(Bool_t warn = false);
    static Bool_t LoadAll(Bool_t warn = false);
  
    static Bool_t LoadMpSegmentation2(
                    const char* cdbpath = "local://$ALICE_ROOT/OCDB",
                    Int_t runNumber = 0,
                    Bool_t warn = false);
    static Bool_t LoadDDLStore2(
                    const char* cdbpath = "local://$ALICE_ROOT/OCDB",
                    Int_t runNumber = 0,
                    Bool_t warn = false);
    static Bool_t LoadManuStore2(
                    const char* cdbpath = "local://$ALICE_ROOT/OCDB",
                    Int_t runNumber = 0,
                    Bool_t warn = false);
    static Bool_t LoadAll2(const char* cdbpath = "local://$ALICE_ROOT/OCDB",
                    Int_t runNumber = 0,
                    Bool_t warn = false);
  
    static Bool_t WriteMpData();
    static Bool_t WriteMpRunData();
    static Bool_t WriteMpSegmentation(Bool_t readData = true);
    static Bool_t WriteDDLStore(Bool_t readData= true);
    static Bool_t WriteManuStore(Bool_t readData= true);
    
    static Bool_t GenerateMpData(
                    const char* cdbpath = "local://$ALICE_ROOT/OCDB",
                    Int_t runNumber = 0);
    static Bool_t GenerateMpRunData(
                    const char* cdbpath = "local://$ALICE_ROOT/OCDB",
                    Int_t runNumber = 0);

    // Switch loading
    static void SetLoadFromData(Bool_t loadFromData);
     
  // Unload mapping
  
  static void UnloadAll(); 
  
  private:
    /// Not implemented
    AliMpCDB();
    /// Not implemented
    AliMpCDB(const AliMpCDB& rhs);
    /// Not implemented
    AliMpCDB& operator=(const AliMpCDB& rhs);
    

    static TObject*  GetCDBEntryObject(const char* dataPath);
    static TObject*  GetCDBEntryObject(const char* dataPath, 
                                       const char* cdbpath, 
                                       Int_t runNumber);
                                       
    static Bool_t fgLoadFromData; ///< option for loading from CDB mapping data or from CDB mapping objects 
    
  ClassDef(AliMpCDB,0)  // The factory for building mapping segmentations
};

// inline functions

inline void AliMpCDB::SetLoadFromData(Bool_t loadFromData)
{
/// Set option for loading from CDB mapping data or from CDB mapping objects

  fgLoadFromData = loadFromData;
}  
   
#endif //ALI_MP_CDB_H















 AliMpCDB.h:1
 AliMpCDB.h:2
 AliMpCDB.h:3
 AliMpCDB.h:4
 AliMpCDB.h:5
 AliMpCDB.h:6
 AliMpCDB.h:7
 AliMpCDB.h:8
 AliMpCDB.h:9
 AliMpCDB.h:10
 AliMpCDB.h:11
 AliMpCDB.h:12
 AliMpCDB.h:13
 AliMpCDB.h:14
 AliMpCDB.h:15
 AliMpCDB.h:16
 AliMpCDB.h:17
 AliMpCDB.h:18
 AliMpCDB.h:19
 AliMpCDB.h:20
 AliMpCDB.h:21
 AliMpCDB.h:22
 AliMpCDB.h:23
 AliMpCDB.h:24
 AliMpCDB.h:25
 AliMpCDB.h:26
 AliMpCDB.h:27
 AliMpCDB.h:28
 AliMpCDB.h:29
 AliMpCDB.h:30
 AliMpCDB.h:31
 AliMpCDB.h:32
 AliMpCDB.h:33
 AliMpCDB.h:34
 AliMpCDB.h:35
 AliMpCDB.h:36
 AliMpCDB.h:37
 AliMpCDB.h:38
 AliMpCDB.h:39
 AliMpCDB.h:40
 AliMpCDB.h:41
 AliMpCDB.h:42
 AliMpCDB.h:43
 AliMpCDB.h:44
 AliMpCDB.h:45
 AliMpCDB.h:46
 AliMpCDB.h:47
 AliMpCDB.h:48
 AliMpCDB.h:49
 AliMpCDB.h:50
 AliMpCDB.h:51
 AliMpCDB.h:52
 AliMpCDB.h:53
 AliMpCDB.h:54
 AliMpCDB.h:55
 AliMpCDB.h:56
 AliMpCDB.h:57
 AliMpCDB.h:58
 AliMpCDB.h:59
 AliMpCDB.h:60
 AliMpCDB.h:61
 AliMpCDB.h:62
 AliMpCDB.h:63
 AliMpCDB.h:64
 AliMpCDB.h:65
 AliMpCDB.h:66
 AliMpCDB.h:67
 AliMpCDB.h:68
 AliMpCDB.h:69
 AliMpCDB.h:70
 AliMpCDB.h:71
 AliMpCDB.h:72
 AliMpCDB.h:73
 AliMpCDB.h:74
 AliMpCDB.h:75
 AliMpCDB.h:76
 AliMpCDB.h:77
 AliMpCDB.h:78
 AliMpCDB.h:79
 AliMpCDB.h:80
 AliMpCDB.h:81
 AliMpCDB.h:82
 AliMpCDB.h:83
 AliMpCDB.h:84
 AliMpCDB.h:85
 AliMpCDB.h:86
 AliMpCDB.h:87
 AliMpCDB.h:88
 AliMpCDB.h:89
 AliMpCDB.h:90
 AliMpCDB.h:91
 AliMpCDB.h:92
 AliMpCDB.h:93
 AliMpCDB.h:94
 AliMpCDB.h:95
 AliMpCDB.h:96
 AliMpCDB.h:97
 AliMpCDB.h:98
 AliMpCDB.h:99
 AliMpCDB.h:100
 AliMpCDB.h:101
 AliMpCDB.h:102
 AliMpCDB.h:103
 AliMpCDB.h:104
 AliMpCDB.h:105
 AliMpCDB.h:106
 AliMpCDB.h:107
 AliMpCDB.h:108
 AliMpCDB.h:109
 AliMpCDB.h:110
 AliMpCDB.h:111
 AliMpCDB.h:112
 AliMpCDB.h:113
 AliMpCDB.h:114
 AliMpCDB.h:115
 AliMpCDB.h:116
 AliMpCDB.h:117
 AliMpCDB.h:118
 AliMpCDB.h:119
 AliMpCDB.h:120
 AliMpCDB.h:121
 AliMpCDB.h:122
 AliMpCDB.h:123
 AliMpCDB.h:124
 AliMpCDB.h:125