Separating run-dependent mapping data from data, which are not
[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.10 2006/05/24 13:58:07 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 /// \author 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
23 #include "AliMpStationType.h"
24 #include "AliMpPlaneType.h"
25
26 #include <TString.h>
27
28 class AliMpFiles : public TObject
29 {
30   public:
31     // --> protected
32     //AliMpFiles();
33     //AliMpFiles(const AliMpFiles& right);
34     virtual ~AliMpFiles();
35   
36     //
37     // methods
38     //
39     
40     // bus patch
41     //
42     static TString BusPatchFilePath(); 
43     static TString BusPatchInfoFilePath(); 
44     static TString BusPatchSpecialFilePath(); 
45
46     // de names
47     //
48     static TString DENamesFilePath(AliMp::StationType stationType);
49
50     // trigger
51     //
52     static TString LocalTriggerBoardMapping();
53     static TString GlobalTriggerBoardMapping();
54     
55     // slats
56     //
57     static TString SlatFilePath(AliMp::StationType stationType, 
58                                 const char* slatType, AliMp::PlaneType plane);
59     static TString SlatPCBFilePath(AliMp::StationType stationType, 
60                                 const char* pcbType);
61     // sectors
62     //
63     static TString SectorFilePath(AliMp::StationType station, 
64                                   AliMp::PlaneType plane);
65     static TString SectorSpecialFilePath(AliMp::StationType station, 
66                                   AliMp::PlaneType plane);
67     static TString SectorSpecialFilePath2(AliMp::StationType station, 
68                                   AliMp::PlaneType plane);
69     // motifs
70     //
71     static TString MotifFilePath(AliMp::StationType station, 
72                                  AliMp::PlaneType plane, 
73                                  const TString& motifTypeID);
74     static TString MotifFileName(const TString& motifTypeID);
75     static TString MotifSpecialFilePath(AliMp::StationType station,
76                                  AliMp::PlaneType plane, const TString& motifID);
77     static TString MotifSpecialFileName(const TString& motifID);
78     static TString PadPosFilePath(AliMp::StationType station, 
79                                  AliMp::PlaneType plane, const TString& motifTypeID);
80     static TString PadPosFileName(const TString& motifTypeID);
81
82     static TString BergToGCFilePath(AliMp::StationType station);
83
84     static TString ManuToSerialPath(const TString& deName, AliMp::StationType station);
85
86     static TString SerialToBinFilePath();
87
88     static TString PlaneDataDir(AliMp::StationType station, AliMp::PlaneType plane); 
89     static TString StationDataDir(AliMp::StationType station); 
90   
91     // set methods
92     static void SetTopPath(const TString& topPath);
93     static TString GetTop();
94   
95   private: 
96     /// Not implemented
97     AliMpFiles();
98     /// Not implemented
99     AliMpFiles(const AliMpFiles& right);
100     /// Not implemented
101     AliMpFiles& operator=(const AliMpFiles& right);    
102
103     // static data members  
104     static const TString fgkDataDir;       ///< data directory
105     static const TString fgkDataRunDir;    ///< directory for run dependent data
106     static const TString fgkStationDir;    ///< station directory
107     static const TString fgkBendingDir;    ///< bending plane directory
108     static const TString fgkNonBendingDir; ///< non-bending plane directory
109     static const TString fgkDENames;       ///< DE names data file name
110     static const TString fgkSector;        ///< sector data file name
111     static const TString fgkSectorSpecial; ///< sector special data file name
112     static const TString fgkSectorSpecial2;///< sector special data file name
113     static const TString fgkMotifPrefix;   ///< motif data file name
114     static const TString fgkMotifSpecialPrefix; ///< special motif data file name 
115     static const TString fgkManuToSerial;  ///< manu to serial file name suffix
116     static const TString fgkPadPosPrefix;  ///< pad position data file name
117     static const TString fgkDataExt;       ///< file extension
118     static const TString fgkBergToGCFileName;  ///< BergToGC mapping file name
119     static const TString fgkTriggerLocalBoards;///<  local board name to id mapping
120     static const TString fgkTriggerGlobalBoards;///<  global board name to id mapping
121     static const TString fgkBusPatchFileName;  ///< DetElemIdToBusPatch file name
122     static const TString fgkBusPatchInfoFileName;///< BusPatch length file name
123     static const TString fgkBusPatchSpecialFileName;///< BusPatch special file name
124     static const TString fgkSerialToBinFileName; ///< serial to bin  number file name
125     
126   ClassDef(AliMpFiles, 0) //File names and paths 
127 };  
128
129 #endif //ALI_MP_FILES_H