FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FairGeoInterface.h
Go to the documentation of this file.
1 /********************************************************************************
2  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 #ifndef FAIRGEOINTERFACE_H
9 #define FAIRGEOINTERFACE_H
10 
11 #include <Rtypes.h> // for Bool_t, kFALSE, Int_t, etc
12 #include <TObject.h> // for TObject
13 #include <TString.h> // for TString
14 
15 class FairGeoIo;
16 class FairGeoSet;
17 class FairGeoMedia;
18 class FairGeoShapes;
19 class FairGeoBuilder;
20 class TObjArray;
21 class TList;
22 
24 {
34 };
35 
41 class FairGeoInterface : public TObject
42 {
43  FairGeoIo* fileInput;
44  FairGeoIo* oraInput;
45  FairGeoIo* output;
46  Int_t nSets;
47  Int_t nActualSets;
48  TObjArray* sets;
49  FairGeoMedia* media;
50  FairGeoShapes* shapes;
51  TList* masterNodes;
52  TString setupFile;
53  FairGeoBuilder* geoBuilder;
55  public:
58  void setOracleInput(FairGeoIo* p) { oraInput = p; }
59  void setOutput(FairGeoIo* p) { output = p; }
60  void setGeomBuilder(FairGeoBuilder* p) { geoBuilder = p; }
61  FairGeoIo* getFileInput() { return fileInput; }
62  FairGeoIo* getOraInput() { return oraInput; }
63  FairGeoIo* getOutput() { return output; }
64  FairGeoShapes* getShapes() { return shapes; }
65  FairGeoMedia* getMedia() { return media; }
66  TList* getMasterNodes() { return masterNodes; }
67  void addInputFile(const char*);
68  void addGeoModule(FairGeoSet*);
69  void setMediaFile(const char* file);
70  FairGeoSet* findSet(const char*);
71  Bool_t readSet(FairGeoSet*);
72  Bool_t writeSet(FairGeoSet*);
73  Bool_t writeSet(FairGeoSet*, const char*);
74  Bool_t createSet(FairGeoSet*);
75  void deleteSet(FairGeoSet* pSet);
76  Bool_t readMedia();
77  Bool_t writeMedia();
78  Bool_t writeMedia(const char*);
79  Bool_t readAll();
80  Bool_t writeAll();
81  Bool_t createAll(Bool_t withCleanup = kFALSE);
82  Bool_t createGeometry(Bool_t withCleanup = kFALSE);
83  Bool_t readGeomConfig(const char*);
84  void addSetupFile(const char* f) { setupFile = f; }
85  Bool_t readSetupFile();
86  void print();
87  void SetNoOfSets(Int_t n) { nSets = n; }
88 
89  private:
91  FairGeoInterface& operator=(const FairGeoInterface&);
92 
93  FairGeoIo* connectInput(const char*);
94  Bool_t connectOutput(const char*);
95 
96  ClassDef(FairGeoInterface, 0);
97 };
98 
99 #endif /* !FAIRGEOINTERFACE_H */
void setMediaFile(const char *file)
void deleteSet(FairGeoSet *pSet)
FairGeoMedia * getMedia()
FairGeoIo * getOraInput()
Bool_t readSet(FairGeoSet *)
Bool_t readGeomConfig(const char *)
Bool_t createSet(FairGeoSet *)
Bool_t createGeometry(Bool_t withCleanup=kFALSE)
void addGeoModule(FairGeoSet *)
TList * getMasterNodes()
FairGeoIo * getOutput()
void SetNoOfSets(Int_t n)
Bool_t writeSet(FairGeoSet *)
void setOutput(FairGeoIo *p)
FairGeoIo * getFileInput()
Bool_t createAll(Bool_t withCleanup=kFALSE)
EHGeoDetPart
FairGeoSet * findSet(const char *)
void addInputFile(const char *)
FairGeoShapes * getShapes()
void setGeomBuilder(FairGeoBuilder *p)
void setOracleInput(FairGeoIo *p)
void addSetupFile(const char *f)