00001
00002
00003
00004
00005
00006
00007 #ifndef GEAR_GEARMGR_H
00008 #define GEAR_GEARMGR_H 1
00009
00010
00011
00012 #include <string>
00013 #include <vector>
00014
00015 #include "GEAR.h"
00016 #include "gear/GearParameters.h"
00017
00018 namespace gear {
00019
00020 class CalorimeterParameters;
00021 class GearDistanceProperties;
00022 class GearPointProperties;
00023 class TPCParameters;
00024 class VXDParameters;
00025
00033 class GearMgr {
00034
00035 public:
00037 virtual ~GearMgr() { ; }
00038
00044 virtual const GearParameters & getGearParameters(const std::string & key) const throw (UnknownParameterException, std::exception ) = 0;
00045
00050 virtual const TPCParameters & getTPCParameters() const throw (UnknownParameterException, std::exception ) = 0;
00051
00056 virtual const CalorimeterParameters & getEcalBarrelParameters() const throw (UnknownParameterException, std::exception ) = 0;
00057
00062 virtual const CalorimeterParameters & getEcalEndcapParameters() const throw (UnknownParameterException, std::exception ) = 0;
00063
00068 virtual const CalorimeterParameters & getHcalBarrelParameters() const throw (UnknownParameterException, std::exception ) = 0;
00069
00074 virtual const CalorimeterParameters & getHcalEndcapParameters() const throw (UnknownParameterException, std::exception ) = 0;
00075
00080 virtual const VXDParameters & getVXDParameters() const throw (UnknownParameterException, std::exception ) = 0;
00081
00086 virtual const GearPointProperties & getPointProperties() const throw (NotImplementedException, std::exception ) = 0;
00087
00092 virtual const GearDistanceProperties & getDistanceProperties() const throw (NotImplementedException, std::exception ) = 0;
00093
00096 virtual const std::vector<std::string> & getGearParameterKeys() const = 0;
00097
00101 virtual void setGearParameters(const std::string & key, GearParameters * gearParameters) = 0;
00102
00105 virtual void setTPCParameters(TPCParameters * tpcParameters) = 0;
00106
00109 virtual void setEcalBarrelParameters(CalorimeterParameters * ecalBarrelParameters) = 0;
00110
00113 virtual void setEcalEndcapParameters(CalorimeterParameters * ecalEndcapParameters) = 0;
00114
00117 virtual void setHcalBarrelParameters(CalorimeterParameters * hcalBarrelParameters) = 0;
00118
00121 virtual void setHcalEndcapParameters(CalorimeterParameters * hcalEndcapParameters) = 0;
00122
00125 virtual void setVXDParameters(VXDParameters * vxdParameters) = 0;
00126
00129 virtual void setPointProperties(GearPointProperties * pointProperties) = 0;
00130
00133 virtual void setDistanceProperties(GearDistanceProperties * distanceProperties) = 0;
00134 };
00135 }
00136 #endif