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

// $Id$
// $MpId: AliMpFiles.h,v 1.10 2006/05/24 13:58:07 ivana Exp $

/// \ingroup basic
/// \class AliMpFiles
/// \brief Class for generating file names and paths.
///
/// The input files:
/// - zones.dat, zones_special.dat - sector description
/// - motif*.dat   - motif description (generated from Exceed)
/// - padPos*.dat  - pad positions in motif
///
/// \author David Guez, Ivana Hrivnacova; IPN Orsay

#ifndef ALI_MP_FILES_H
#define ALI_MP_FILES_H

#include <TObject.h>

#include "AliMpStationType.h"
#include "AliMpStation12Type.h"
#include "AliMpPlaneType.h"

#include <TString.h>

class AliMpFiles : public TObject
{
  public:
    // --> protected
    //AliMpFiles();
    //AliMpFiles(const AliMpFiles& right);
    virtual ~AliMpFiles();
  
    //
    // methods
    //
    
    static TString PlaneDataDir(AliMp::StationType station, 
                                AliMq::Station12Type station12Type,
                                AliMp::PlaneType plane);
    static TString StationDataDir(AliMp::StationType station,
                                AliMq::Station12Type station12Type);
  
    // bus patch
    //
    static TString BusPatchFilePath(); 
    static TString BusPatchInfoFilePath(); 
    static TString BusPatchSpecialFilePath(); 

    // de names
    //
    static TString DENamesFilePath(AliMp::StationType stationType,
                                   AliMq::Station12Type station12Type);

    // trigger
    //
    static TString LocalTriggerBoardMapping();
    static TString GlobalTriggerBoardMapping();
    
    // slats
    //
    static TString SlatFilePath(AliMp::StationType stationType, 
                                const char* slatType, AliMp::PlaneType plane);
    static TString SlatPCBFilePath(AliMp::StationType stationType, 
                                const char* pcbType);
    // sectors
    //
    static TString SectorFilePath(AliMq::Station12Type station, 
                                  AliMp::PlaneType plane);
    static TString SectorSpecialFilePath(AliMq::Station12Type station, 
                                  AliMp::PlaneType plane);
    static TString SectorSpecialFilePath2(AliMq::Station12Type station, 
                                  AliMp::PlaneType plane);
    // motifs
    //
    static TString MotifFilePath(AliMp::StationType station, 
                                 AliMq::Station12Type station12Type,
                                 AliMp::PlaneType plane, 
                                 const TString& motifTypeID);
    static TString MotifFileName(const TString& motifTypeID);
    static TString MotifSpecialFilePath(AliMp::StationType station,
                                 AliMq::Station12Type station12Type,
                                 AliMp::PlaneType plane, const TString& motifID);
    static TString MotifSpecialFileName(const TString& motifID);
    static TString PadPosFilePath(AliMp::StationType station, 
                                 AliMq::Station12Type station12Type,
                                 AliMp::PlaneType plane, const TString& motifTypeID);
    static TString PadPosFileName(const TString& motifTypeID);

    static TString BergToGCFilePath(AliMp::StationType station,
                                 AliMq::Station12Type station12Type);

    static TString ManuToSerialPath(const TString& deName, 
                                 AliMp::StationType station,
                                 AliMq::Station12Type station12Type);

    static TString SerialToBinFilePath();

    // set methods
    static void SetTopPath(const TString& topPath);
    static TString GetTop();
  
  private: 
    /// Not implemented
    AliMpFiles();
    /// Not implemented
    AliMpFiles(const AliMpFiles& right);
    /// Not implemented
    AliMpFiles& operator=(const AliMpFiles& right);    
    
    // static methods
    static const TString& GetDataDir();       
    static const TString& GetDataRunDir();    
    static const TString& GetStationDir();    
    static const TString& GetBendingDir();    
    static const TString& GetNonBendingDir(); 
    static const TString& GetDENames();       
    static const TString& GetSector();        
    static const TString& GetSectorSpecial(); 
    static const TString& GetSectorSpecial2();
    static const TString& GetMotifPrefix();   
    static const TString& GetMotifSpecialPrefix();
    static const TString& GetManuToSerial();
    static const TString& GetPadPosPrefix();
    static const TString& GetDataExt();     
    static const TString& GetBergToGCFileName();  
    static const TString& GetTriggerLocalBoards();
    static const TString& GetTriggerGlobalBoards();
    static const TString& GetBusPatchFileName();
    static const TString& GetBusPatchInfoFileName();
    static const TString& GetBusPatchSpecialFileName();
    static const TString& GetSerialToBinFileName();

  ClassDef(AliMpFiles, 0) //File names and paths 
};  

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