00001 #ifndef STAR_StiGenericDetectorGroup_H_INCLUDED
00002 #define STAR_StiGenericDetectorGroup_H_INCLUDED
00003
00004
00005
00006 #include <stdexcept>
00007 #include "Sti/Base/Named.h"
00008
00009 class StiDetectorBuilder;
00010 class StiElossCalculator;
00011
00012 class StiGenericDetectorGroup : public Named
00013 {
00014 protected:
00015 StiGenericDetectorGroup(const string & name);
00016 StiGenericDetectorGroup(const string & name,
00017 StiDetectorBuilder * detectorBuilder,
00018 StiElossCalculator * elossCalculator);
00019 virtual ~StiGenericDetectorGroup();
00020
00021 StiDetectorBuilder * _detectorBuilder;
00022 StiElossCalculator * _elossCalculator;
00024 int _groupId;
00025 public:
00026 virtual void initialize(){} ;
00028 virtual StiDetectorBuilder * getDetectorBuilder();
00029
00036 StiElossCalculator * getElossCalculator();
00037 void setGroupId(int id);
00038 int getGroupId() const;
00039 };
00040 #endif