4 // Class for generating file names and paths.
6 // Config.C - the basic AliRoot configuration file (Root macro)
7 // When detector setup is defined interactively,
8 // the alternative Config.C files per detector
10 // Config.in - G4 specific configuration macros per detector
12 // g3calls.dat - the ASCII file with G3 geometry calls;
13 // generation is switch on with /aliDet/writeGeometry command
15 // DetvN.xml - XML geometry description file;
16 // generation is switch on with /aliDet/generateXML command
28 AliFiles(const G4String& config);
29 AliFiles(const G4String& config, const G4String& g3calls);
32 // static access method
33 static AliFiles* Instance();
36 G4String GetRootMacroPath() const;
37 G4String GetRootMacroPath(const G4String& moduleName,
38 G4bool isStructure) const;
39 G4String GetG4MacroPath(const G4String& moduleName,
40 G4bool isStructure) const;
41 G4String GetG3CallsDatPath(const G4String& moduleName,
42 G4int moduleVersion, G4bool isStructure) const;
43 G4String GetXMLFilePath(const G4String& moduleName,
44 G4int moduleVersion) const;
47 void SetMacroName(const G4String& name);
48 void SetG3CallsName(const G4String& name);
51 G4String GetMacroName() const;
52 G4String GetG3CallsName() const;
53 G4String GetDefaultMacroName() const;
54 G4String GetDefaultG3CallsName() const;
58 G4String GetMacroPath(const G4String& macroName,
59 const G4String& moduleName,
60 G4bool isStructure) const;
62 // static data members
63 static AliFiles* fgInstance; //this instance
64 static const G4String fgkTop; //top directory
65 static const G4String fgkDefaultMacroName; // default config. macro name
66 static const G4String fgkDefaultG3CallsName; // default g3calls name
67 static const G4String fgkRootMacroExtension; //".C" Root macro extension
68 static const G4String fgkG4MacroExtension; //".in" G4 macro extension
69 static const G4String fgkG3CallsExtension; //".dat"
70 static const G4String fgkXMLFileExtension; //".xml"
73 G4String fMacroName; //configuration macro name
74 G4String fG3CallsName; //g3calls data file name
79 inline AliFiles* AliFiles::Instance()
80 { return fgInstance; }
82 inline void AliFiles::SetMacroName(const G4String& name)
83 { fMacroName = name; }
85 inline void AliFiles::SetG3CallsName(const G4String& name)
86 { fG3CallsName = name; }
88 inline G4String AliFiles::GetMacroName() const
89 { return fMacroName; }
91 inline G4String AliFiles::GetG3CallsName() const
92 { return fG3CallsName; }
94 inline G4String AliFiles::GetDefaultMacroName() const
95 { return fgkDefaultMacroName; }
97 inline G4String AliFiles::GetDefaultG3CallsName() const
98 { return fgkDefaultG3CallsName; }