#ifndef HGEOMSET_H
#define HGEOMSET_H
#include "hgeomtransform.h"
#include "TNamed.h"
#include "TArrayI.h"
#include "TList.h"
#include <fstream>
#include <iomanip>
using namespace std;
class HGeomNode;
class HGeomShapes;
class HGeomMedia;
class HGeomBuilder;
class HGeomHit;
class HGeomSet : public TNamed {
protected:
class HGeomCopyNode : public TNamed {
public:
HGeomNode* pNode;
HGeomCopyNode(const Char_t* name,HGeomNode* node) {
SetName(name);
pNode=node;
}
~HGeomCopyNode() {}
};
TList* volumes;
TList* masterNodes;
Int_t maxSectors;
Int_t maxKeepinVolumes;
Int_t maxModules;
TArrayI* modules;
HGeomShapes* pShapes;
TString geoFile;
HGeomHit* pHit;
TString author;
TString description;
HGeomSet();
void readInout(fstream&);
void readTransform(fstream&,HGeomTransform&);
Bool_t readVolumeParams(fstream&,HGeomMedia*,HGeomNode*,TList* l=0);
Bool_t readKeepIn(fstream&,HGeomMedia*,TString&);
Bool_t readModule(fstream&,HGeomMedia*,TString&,TString&,Bool_t a=kFALSE);
public :
virtual ~HGeomSet();
void setShapes(HGeomShapes* s) {pShapes=s;}
void setMasterNodes(TList* m) {masterNodes=m;}
void setGeomFile(const Char_t* filename) {geoFile=filename;}
void setHitFile(const Char_t*);
const Char_t* getGeomFile() { return geoFile.Data(); }
HGeomHit* getHit() {return pHit;}
Int_t getMaxSectors(void) {return maxSectors;}
Int_t getMaxModules(void) {return maxModules;}
Int_t getMaxKeepinVolumes(void) {return maxKeepinVolumes;}
void setModules(Int_t,Int_t*);
Int_t* getModules(void);
Int_t getModule(Int_t,Int_t);
HGeomNode* getVolume(const Char_t* name) {return (HGeomNode*)volumes->FindObject(name);}
HGeomNode* getMasterNode(const Char_t* name) {return (HGeomNode*)masterNodes->FindObject(name);}
TList* getListOfVolumes() {return volumes;}
HGeomShapes* getShapes() {return pShapes;}
void setAuthor(TString& s) {author=s;}
void setDescription(TString& s) {description=s;}
TString& getAuthor() {return author;}
TString& getDescription() {return description;}
virtual const Char_t* getKeepinName(Int_t,Int_t) {return 0;}
virtual const Char_t* getModuleName(Int_t) {return 0;}
virtual const Char_t* getEleName(Int_t) {return 0;}
virtual Int_t getSecNumInMod(const TString&) {return -1;}
virtual Int_t getModNumInMod(const TString&) {return 0;}
virtual Bool_t read(fstream&,HGeomMedia*);
virtual void addRefNodes() {}
virtual void write(fstream&);
virtual void print();
virtual Bool_t create(HGeomBuilder*);
void compare(HGeomSet&);
ClassDef(HGeomSet,0)
};
#endif /* !HGEOMSET_H */
Last change: Sat May 22 12:56:37 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.