Code for MUON Station1 (I.Hrivnacova)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpFiles.h
1 // $Id$
2 // Category: sector
3 //
4 // Class AliMpFiles
5 // ----------------
6 // Class for generating file names and paths.
7 // The input files:
8 // zones.dat, zones_special.dat - sector description
9 // motif*.dat   - motif description (generated from Exceed)
10 // padPos*.dat  - pad positions in motif
11 //
12 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
13
14 #ifndef M_FILES_H
15 #define M_FILES_H
16
17 #include <TObject.h>
18 #include <TString.h>
19
20 #include "AliMpPlaneType.h"
21
22 class AliMpFiles : public TObject
23 {
24   public:
25     AliMpFiles();
26     // --> protected
27     //AliMpFiles(const AliMpFiles& right);
28     virtual ~AliMpFiles();
29     
30     // static access method
31     static AliMpFiles* Instance();
32
33     // methods
34     TString SectorFilePath(AliMpPlaneType plane) const;
35     TString SectorSpecialFilePath(AliMpPlaneType plane) const;
36     TString MotifFilePath(AliMpPlaneType plane, 
37                           const TString& motifTypeID) const;
38     TString MotifSpecialFilePath(AliMpPlaneType plane, 
39                           const TString& motifID) const;
40     TString PadPosFilePath(AliMpPlaneType plane, 
41                           const TString& motifTypeID) const;
42     TString BergToGCFilePath() const;
43
44     // set methods
45     void SetTopPath(const TString& topPath);
46                               
47   protected:
48     AliMpFiles(const AliMpFiles& right);
49     
50     // operators
51     AliMpFiles& operator=(const AliMpFiles& right);    
52     
53   private: 
54     // methods
55     TString PlaneDataDir(AliMpPlaneType plane) const; 
56   
57     // static data members  
58     static AliMpFiles*   fgInstance;      //this instance
59     static const TString fgkDefaultTop;   //top directory path (default)
60     static const TString fgkDataDir;      //data directory
61     static const TString fgkBendingDir;   //bending plane directory
62     static const TString fgkNonBendingDir;//non-bending plane directory
63     static const TString fgkSector;       //sector data file name
64     static const TString fgkSectorSpecial;//sector special data file name
65     static const TString fgkMotifPrefix;  //motif data file name
66     static const TString fgkMotifSpecialPrefix; //special motif data file name 
67     static const TString fgkPadPosPrefix; //pad position data file name
68     static const TString fgkDataExt;      //file extension
69     static const TString fgkBergToGCFileName; //name of the file with BergToGC mapping
70     
71     // data members
72     TString  fTop; // top directory path
73     
74
75   ClassDef(AliMpFiles, 1) //File names and paths 
76 };  
77
78 // inline functions
79
80 inline void AliMpFiles::SetTopPath(const TString& topPath)
81 { fTop = topPath; }
82
83 #endif //M_FILES_H