]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpFiles.h
New class - the factory for building mapping segmentations
[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.4 2005/08/26 15:43:36 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     // trigger
44     //
45     static TString LocalTriggerBoardMapping();
46   
47     // slats
48     //
49     static TString SlatFilePath(AliMpStationType stationType, 
50                                 const char* slatType, AliMpPlaneType plane);
51     static TString SlatPCBFilePath(AliMpStationType stationType, 
52                                 const char* pcbType);
53     // sectors
54     //
55     static TString SectorFilePath(AliMpStationType station, 
56                                   AliMpPlaneType plane);
57     static TString SectorSpecialFilePath(AliMpStationType station, 
58                                   AliMpPlaneType plane);
59     static TString SectorSpecialFilePath2(AliMpStationType station, 
60                                   AliMpPlaneType plane);
61     // motifs
62     //
63     static TString MotifFilePath(AliMpStationType station, 
64                                  AliMpPlaneType plane, 
65                                  const TString& motifTypeID);
66     static TString MotifSpecialFilePath(AliMpStationType station,
67                                  AliMpPlaneType plane, const TString& motifID);
68     static TString PadPosFilePath(AliMpStationType station, 
69                                  AliMpPlaneType plane, const TString& motifTypeID);
70     static TString BergToGCFilePath(AliMpStationType station);
71   
72     // set methods
73     static void SetTopPath(const TString& topPath);
74   
75   protected:
76     AliMpFiles();
77     AliMpFiles(const AliMpFiles& right);
78   
79     // operators
80     AliMpFiles& operator=(const AliMpFiles& right);    
81   
82   private: 
83     // methods
84     static const char* GetDefaultTop();
85     static TString PlaneDataDir(AliMpStationType station, AliMpPlaneType plane); 
86     static TString StationDataDir(AliMpStationType station); 
87   
88     // static data members  
89     static const TString fgkDefaultTop;    //top directory path (default)
90     static const TString fgkDataDir;       //data directory
91     static const TString fgkStationDir;    //station directory
92     static const TString fgkBendingDir;    //bending plane directory
93     static const TString fgkNonBendingDir; //non-bending plane directory
94     static const TString fgkSector;        //sector data file name
95     static const TString fgkSectorSpecial; //sector special data file name
96     static const TString fgkSectorSpecial2;//sector special data file name
97     static const TString fgkMotifPrefix;   //motif data file name
98     static const TString fgkMotifSpecialPrefix; //special motif data file name 
99     static const TString fgkPadPosPrefix;  //pad position data file name
100     static const TString fgkDataExt;       //file extension
101     static const TString fgkBergToGCFileName;  //BergToGC mapping filr name
102     static const TString fgkTriggerLocalBoards;// local board name to id mapping
103     static const TString fgkBusPatchFileName;  //DetElemIdToBusPatch file name
104   
105     static TString  fgTop; // top directory path
106     
107
108   ClassDef(AliMpFiles, 0) //File names and paths 
109 };  
110
111 #endif //ALI_MP_FILES_H