804e8ff1032ecc2b950fc3905cef511d8033c90a
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpFiles.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 // $MpId: AliMpFiles.h,v 1.6 2006/01/11 10:05:01 ivana Exp $
6
7 /// \ingroup basic
8 /// \class AliMpFiles
9 /// \brief Class for generating file names and paths.
10 ///
11 /// The input files:
12 /// - zones.dat, zones_special.dat - sector description
13 /// - motif*.dat   - motif description (generated from Exceed)
14 /// - padPos*.dat  - pad positions in motif
15 ///
16 /// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
17
18 #ifndef ALI_MP_FILES_H
19 #define ALI_MP_FILES_H
20
21 #include <TObject.h>
22 #include <TString.h>
23
24 #include "AliMpStationType.h"
25 #include "AliMpPlaneType.h"
26
27 class AliMpFiles : public TObject
28 {
29   public:
30     // --> protected
31     //AliMpFiles();
32     //AliMpFiles(const AliMpFiles& right);
33     virtual ~AliMpFiles();
34   
35     //
36     // methods
37     //
38     
39     // bus patch
40     //
41     static TString BusPatchFilePath(); 
42
43     // de names
44     //
45     static TString DENamesFilePath(AliMpStationType stationType);
46
47     // trigger
48     //
49     static TString LocalTriggerBoardMapping();
50   
51     // slats
52     //
53     static TString SlatFilePath(AliMpStationType stationType, 
54                                 const char* slatType, AliMpPlaneType plane);
55     static TString SlatPCBFilePath(AliMpStationType stationType, 
56                                 const char* pcbType);
57     // sectors
58     //
59     static TString SectorFilePath(AliMpStationType station, 
60                                   AliMpPlaneType plane);
61     static TString SectorSpecialFilePath(AliMpStationType station, 
62                                   AliMpPlaneType plane);
63     static TString SectorSpecialFilePath2(AliMpStationType station, 
64                                   AliMpPlaneType plane);
65     // motifs
66     //
67     static TString MotifFilePath(AliMpStationType station, 
68                                  AliMpPlaneType plane, 
69                                  const TString& motifTypeID);
70     static TString MotifSpecialFilePath(AliMpStationType station,
71                                  AliMpPlaneType plane, const TString& motifID);
72     static TString PadPosFilePath(AliMpStationType station, 
73                                  AliMpPlaneType plane, const TString& motifTypeID);
74     static TString BergToGCFilePath(AliMpStationType station);
75   
76     // set methods
77     static void SetTopPath(const TString& topPath);
78   
79   protected:
80     AliMpFiles();
81     AliMpFiles(const AliMpFiles& right);
82   
83     // operators
84     AliMpFiles& operator=(const AliMpFiles& right);    
85   
86   private: 
87     // methods
88     static TString GetTop();
89     static TString PlaneDataDir(AliMpStationType station, AliMpPlaneType plane); 
90     static TString StationDataDir(AliMpStationType station); 
91   
92     // static data members  
93     static const TString fgkDataDir;       //data directory
94     static const TString fgkStationDir;    //station directory
95     static const TString fgkBendingDir;    //bending plane directory
96     static const TString fgkNonBendingDir; //non-bending plane directory
97     static const TString fgkDENames;       //DE names data file name
98     static const TString fgkSector;        //sector data file name
99     static const TString fgkSectorSpecial; //sector special data file name
100     static const TString fgkSectorSpecial2;//sector special data file name
101     static const TString fgkMotifPrefix;   //motif data file name
102     static const TString fgkMotifSpecialPrefix; //special motif data file name 
103     static const TString fgkPadPosPrefix;  //pad position data file name
104     static const TString fgkDataExt;       //file extension
105     static const TString fgkBergToGCFileName;  //BergToGC mapping filr name
106     static const TString fgkTriggerLocalBoards;// local board name to id mapping
107     static const TString fgkBusPatchFileName;  //DetElemIdToBusPatch file name
108     
109
110   ClassDef(AliMpFiles, 0) //File names and paths 
111 };  
112
113 #endif //ALI_MP_FILES_H