#ifndef HGEOMORAIO_H
#define HGEOMORAIO_H
#include "hgeomio.h"
#include "hgeomtransform.h"
#include "TString.h"
#include "TObjArray.h"
#include "TList.h"
class HGeomOraConn;
class HGeomMedia;
class HGeomMedium;
class HGeomSet;
class HGeomNode;
class HGeomHit;
class HGeomInterface;
class HGeomOraIo : public HGeomIo {
private:
HGeomOraConn* pConn;
TList* detVersions;
Double_t maxSince;
Double_t minUntil;
class HOraObj : public TObject {
public:
TObject* pObj;
Int_t oraId;
HOraObj(TObject* p=0,Int_t i=-1) {
pObj=p;
oraId=i;
}
~HOraObj() {}
};
class HOraDetVers : public TNamed {
public:
Int_t detectorId;
Int_t geomVersion;
HOraDetVers(const Char_t* pName=0) {
SetName(pName);
detectorId=-1;
geomVersion=-1;
}
~HOraDetVers() {}
};
class HOraTransObj : public TNamed {
public:
TObject* pObj;
Int_t oraId;
TString refObj;
HGeomTransform refTransform;
HOraTransObj(TObject* p=0,Int_t i=-1) {
if (p) {
SetName(p->GetName());
pObj=p;
}
oraId=i;
}
~HOraTransObj() {}
};
class HGeomOraCopyNode : public TNamed {
public:
HGeomNode* pNode;
HGeomOraCopyNode(const Char_t* name,HGeomNode* node) {
SetName(name);
pNode=node;
}
~HGeomOraCopyNode() {}
};
public:
HGeomOraIo();
~HGeomOraIo();
Bool_t open();
Bool_t open(const Char_t*,const Text_t* status="in");
void close();
void print();
Bool_t isOpen();
Bool_t isWritable();
Bool_t setSimulRefRun(const Char_t*);
Bool_t setRunId(Int_t);
Bool_t setHistoryDate(const Char_t*);
const Char_t* getSimulRefRun();
Int_t getCurrentRunId();
const Char_t* getHistoryDate();
Bool_t read(HGeomMedia*);
Bool_t read(HGeomSet*,HGeomMedia*);
Bool_t read(HGeomHit*);
Bool_t write(HGeomMedia*);
Bool_t write(HGeomSet*);
Bool_t write(HGeomHit*);
Bool_t readGeomConfig(HGeomInterface*);
Int_t checkRunidExistence(Int_t);
private:
Int_t readGeomSetup();
Bool_t readMaterialComposition(HGeomMedia*,TObjArray*,Int_t);
Bool_t readOpticalProperties(HGeomMedia*,TObjArray*,Int_t);
Bool_t readTarget(HGeomSet*,HGeomMedia*,Int_t,Int_t);
Bool_t readVolumes(HGeomSet*,HGeomMedia*,TObjArray*,Int_t);
Bool_t readPoints(TObjArray*,Int_t);
Bool_t readTransform(TList*);
Int_t createVersion(const Char_t*,TString&,TString&);
Int_t createHitVersion(const Char_t* part,const Char_t* hitSet);
Bool_t insertMaterialData(Int_t,HGeomMedium*);
Bool_t insertOpticalData(Int_t,HGeomMedium*);
Bool_t insertVolumePoints(Int_t,HGeomNode*);
const Char_t* calcRefTransform(HGeomNode*,HGeomTransform&);
ClassDef(HGeomOraIo,0)
};
#endif /* !HGEOMORAIO_H */
Last change: Sat May 22 12:56:29 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.