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