00001 #ifndef StiMasterDetectorBuilder_H
00002 #define StiMasterDetectorBuilder_H
00003 #include <vector>
00004 #include "StiDetectorBuilder.h"
00005
00006 class StiMasterDetectorBuilder : public StiDetectorBuilder, public vector<StiDetectorBuilder*>
00007 {
00008 public:
00009 StiMasterDetectorBuilder(bool active);
00010 virtual ~StiMasterDetectorBuilder();
00011 virtual bool hasMore() const;
00012 virtual StiDetector * next();
00013 virtual void reset();
00014 virtual void unset(){;}
00015 virtual void build(StMaker&source);
00016 virtual void add(StiDetectorBuilder *builder);
00017 virtual StiDetectorBuilder * get(const string & name);
00018 virtual StiMaterial * add(StiMaterial *material) {return StiDetectorBuilder::add(material);}
00019 virtual StiShape * add(StiShape *shape) {return StiDetectorBuilder::add(shape);}
00020 virtual StiDetector * add(StiDetector *detector) {return StiDetectorBuilder::add(detector);}
00021 virtual StiDetector * add(unsigned int row, unsigned int sector, StiDetector *detector)
00022 {return StiDetectorBuilder::add(row,sector,detector);}
00023 };
00024
00025 #endif