MUON + CheckCompiler
[u/mrichter/AliRoot.git] / MUON / MUONmapping / 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 methods
115     static const TString& GetDataDir();       
116     static const TString& GetDataRunDir();    
117     static const TString& GetStationDir();    
118     static const TString& GetBendingDir();    
119     static const TString& GetNonBendingDir(); 
120     static const TString& GetDENames();       
121     static const TString& GetSector();        
122     static const TString& GetSectorSpecial(); 
123     static const TString& GetSectorSpecial2();
124     static const TString& GetMotifPrefix();   
125     static const TString& GetMotifSpecialPrefix();
126     static const TString& GetManuToSerial();
127     static const TString& GetPadPosPrefix();
128     static const TString& GetDataExt();     
129     static const TString& GetBergToGCFileName();  
130     static const TString& GetTriggerLocalBoards();
131     static const TString& GetTriggerGlobalBoards();
132     static const TString& GetBusPatchFileName();
133     static const TString& GetBusPatchInfoFileName();
134     static const TString& GetBusPatchSpecialFileName();
135     static const TString& GetSerialToBinFileName();
136
137   ClassDef(AliMpFiles, 0) //File names and paths 
138 };  
139
140 #endif //ALI_MP_FILES_H