d259cff2340016d4ce30e6fdfff4db8d0c949d69
[u/mrichter/AliRoot.git] / AliGeant4 / AliFiles.h
1 // $Id$
2 // Category: global
3 //
4 // Class for file names and paths.
5 // It is protected from instantiating (only static data members
6 // and static methods are defined).
7
8 #ifndef ALI_FILES_H
9 #define ALI_FILES_H
10
11 #include <globals.hh>
12
13 #ifdef G4USE_STL
14 #include <string>
15 #endif
16
17 class AliFiles
18 {
19   public:
20     // --> protected
21     // AliFiles();
22     virtual ~AliFiles();
23
24     // static get methods
25     static G4String Config();   
26     static G4String DetConfig1();
27     static G4String DetConfig2();
28     static G4String DetConfig3();
29     static G4String DetConfig4();
30     static G4String DetConfigName1();
31     static G4String DetConfigName2();
32     static G4String DetData1();
33     static G4String DetData2();
34     static G4String DetData3();
35     static G4String STRUCT();
36
37   protected:
38     AliFiles();  
39        // only static data members and methods
40     
41   private:       
42     // static data members  
43     static const G4String  fgTop;        //top directory
44     static const G4String  fgConfig;     //path to general Config.C
45     static const G4String  fgDetConfig1; //path (part 1) to module Config.C/in
46     static const G4String  fgDetConfig2; //path (part 2) to module Config.C/in
47     static const G4String  fgDetConfig3; //path (part 3) to module Config.C/in
48     static const G4String  fgDetConfig4; //path (part 2) to module Config.C/in
49     static const G4String  fgDetConfigName1;  //config macro name (part 1)
50     static const G4String  fgDetConfigName2;  //config macro name (part 2)
51     static const G4String  fgDetData1;   //path (part 1) to module g3calls.dat
52     static const G4String  fgDetData2;   //path (part 2) to module g3calls.dat
53     static const G4String  fgDetData3;   //path (part 3) to module g3calls.dat
54     static const G4String  fgSTRUCT;     //structure directory name
55 };  
56
57 // inline methods
58
59 inline G4String AliFiles::Config()
60 { return fgConfig; }
61
62 inline G4String AliFiles::DetConfig1()
63 { return fgDetConfig1; }
64
65 inline G4String AliFiles::DetConfig2()
66 { return fgDetConfig2; }
67
68 inline G4String AliFiles::DetConfig3()
69 { return fgDetConfig3; }
70
71 inline G4String AliFiles::DetConfig4()
72 { return fgDetConfig4; }
73
74 inline G4String AliFiles::DetConfigName1()
75 { return fgDetConfigName1; }
76
77 inline G4String AliFiles::DetConfigName2()
78 { return fgDetConfigName2; }
79
80 inline G4String AliFiles::DetData1()
81 { return fgDetData1; }
82
83 inline G4String AliFiles::DetData2()
84 { return fgDetData2; }
85
86 inline G4String AliFiles::DetData3()
87 { return fgDetData3; }
88
89 inline G4String AliFiles::STRUCT()
90 { return fgSTRUCT; }
91
92 #endif //ALI_FILES_H