#ifndef HGEOMINTERFACE_H
#define HGEOMINTERFACE_H
#include "TObjArray.h"
#include "TList.h"
class HGeomIo;
class HGeomSet;
class HGeomMedia;
class HGeomShapes;
class HGeomBuilder;
class HSpecGeomPar;
class HDetGeomPar;
enum EHGeoDetPart {
kHGeomCave = 0,
kHGeomRich = 1,
kHGeomTarget = 2,
kHGeomSect = 3,
kHGeomMdc = 4,
kHGeomCoils = 5,
kHGeomTof = 6,
kHGeomShower = 7,
kHGeomFrames = 8,
kHGeomStart = 9,
kHGeomFWall = 10,
kHGeomRpc = 11,
kHGeomUser = 12 };
class HGeomInterface : public TObject {
HGeomIo* fileInput;
HGeomIo* oraInput;
HGeomIo* output;
Int_t nSets;
Int_t nActualSets;
Int_t nFiles;
TObjArray* sets;
HGeomMedia* media;
HGeomShapes* shapes;
TList* masterNodes;
TString setupFile;
HGeomBuilder* geoBuilder;
public:
HGeomInterface();
~HGeomInterface();
void setOracleInput(HGeomIo* p) {oraInput=p;}
void setOutput(HGeomIo* p) {output=p;}
void setGeomBuilder(HGeomBuilder* p) {geoBuilder=p;}
HGeomIo* getFileInput() { return fileInput; }
HGeomIo* getOraInput() { return oraInput; }
HGeomIo* getOutput() { return output; }
HGeomShapes* getShapes() { return shapes; }
HGeomMedia* getMedia() { return media; }
void addInputFile(const Char_t*);
Bool_t addAlignment(HSpecGeomPar*);
Bool_t addAlignment(HDetGeomPar*);
HGeomSet* findSet(const Char_t*);
Bool_t readSet(HGeomSet*);
Bool_t writeSet(HGeomSet*);
Bool_t writeSet(HGeomSet*,const Char_t*);
Bool_t createSet(HGeomSet*);
void deleteSet(HGeomSet* pSet);
Bool_t readMedia();
Bool_t writeMedia();
Bool_t writeMedia(const Char_t*);
Bool_t readAll();
Bool_t writeAll();
Bool_t createAll(Bool_t withCleanup=kFALSE);
Bool_t createGeometry(Bool_t withCleanup=kFALSE);
Bool_t readGeomConfig(const Char_t*);
void addSetupFile(const Char_t* f) {setupFile=f;}
Bool_t readSetupFile();
void print();
private:
HGeomIo* connectInput(const Char_t*);
Bool_t connectOutput(const Char_t*);
ClassDef(HGeomInterface,0)
};
#endif /* !HGEOMINTERFACE_H */
Last change: Sat May 22 12:56:21 2010
Last generated: 2010-05-22 12:56
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.