4 // Author: I. Hrivnacova
8 // Class for generating file names and paths.
10 // Config.C - the basic AliRoot configuration file (Root macro)
11 // When detector setup is defined interactively,
12 // the alternative Config.C files per detector
14 // Config.in - G4 specific configuration macros per detector
16 // g3calls.dat - the ASCII file with G3 geometry calls;
17 // generation is switched on with /aliDet/writeGeometry command
19 // DetvN.xml - XML geometry description file;
20 // generation is switched on with /aliDet/generateXML command
32 AliFiles(const G4String& config);
33 AliFiles(const G4String& config, const G4String& g3calls);
35 //AliFiles(const AliFiles& right);
38 // static access method
39 static AliFiles* Instance();
42 G4String GetRootMacroPath() const;
43 G4String GetRootMacroPath(const G4String& moduleName,
44 G4bool isStructure) const;
45 G4String GetG4MacroPath(const G4String& moduleName,
46 G4bool isStructure) const;
47 G4String GetG3CallsDatPath(const G4String& moduleName,
48 G4int moduleVersion, G4bool isStructure) const;
49 G4String GetXMLFilePath(const G4String& moduleName,
50 G4int moduleVersion) const;
53 void SetMacroName(const G4String& name);
54 void SetG3CallsName(const G4String& name);
57 G4String GetMacroName() const;
58 G4String GetG3CallsName() const;
59 G4String GetDefaultMacroName() const;
60 G4String GetDefaultG3CallsName() const;
63 AliFiles(const AliFiles& right);
66 AliFiles& operator=(const AliFiles& right);
70 G4String GetMacroPath(const G4String& macroName,
71 const G4String& moduleName,
72 G4bool isStructure) const;
74 // static data members
75 static AliFiles* fgInstance; //this instance
76 static const G4String fgkTop; //top directory
77 static const G4String fgkDefaultMacroName; // default config. macro name
78 static const G4String fgkDefaultG3CallsName; // default g3calls name
79 static const G4String fgkRootMacroExtension; //".C" Root macro extension
80 static const G4String fgkG4MacroExtension; //".in" G4 macro extension
81 static const G4String fgkG3CallsExtension; //".dat"
82 static const G4String fgkXMLFileExtension; //".xml"
85 G4String fMacroName; //configuration macro name
86 G4String fG3CallsName; //g3calls data file name
91 inline AliFiles* AliFiles::Instance()
92 { return fgInstance; }
94 inline void AliFiles::SetMacroName(const G4String& name)
95 { fMacroName = name; }
97 inline void AliFiles::SetG3CallsName(const G4String& name)
98 { fG3CallsName = name; }
100 inline G4String AliFiles::GetMacroName() const
101 { return fMacroName; }
103 inline G4String AliFiles::GetG3CallsName() const
104 { return fG3CallsName; }
106 inline G4String AliFiles::GetDefaultMacroName() const
107 { return fgkDefaultMacroName; }
109 inline G4String AliFiles::GetDefaultG3CallsName() const
110 { return fgkDefaultG3CallsName; }