Main Page | Class Hierarchy | Class List | File List | Class Members

GearMgrImpl.h

00001 #ifndef GEAR_GearMgrImpl_H
00002 #define GEAR_GearMgrImpl_H 1
00003 
00004 #include <string>
00005 
00006 #include "gear/GearMgr.h"
00007 #include "gear/GearParameters.h"
00008 #include "gear/TPCParameters.h"
00009 
00010 
00011 namespace gear {
00012     
00013     
00021   class GearMgrImpl : public GearMgr {
00022         
00023     typedef std::map< std::string ,  GearParameters* > ParameterMap ;
00024 
00025   public: 
00026 
00027     // C'tor 
00028     GearMgrImpl() ;
00029     
00031     virtual ~GearMgrImpl() { /* nop */; }
00032         
00038     virtual const GearParameters & getGearParameters(const std::string & key) const 
00039       throw (UnknownParameterException, std::exception )  ;
00040 
00043     virtual const TPCParameters & getTPCParameters() const
00044       throw (UnknownParameterException, std::exception ) ;
00045     
00050     virtual const CalorimeterParameters & getEcalBarrelParameters() const 
00051         throw (UnknownParameterException, std::exception ) ;
00052 
00057     virtual const CalorimeterParameters & getEcalEndcapParameters() const 
00058         throw (UnknownParameterException, std::exception )  ;
00059 
00064     virtual const CalorimeterParameters & getHcalBarrelParameters() const 
00065         throw (UnknownParameterException, std::exception )  ;
00066 
00071     virtual const CalorimeterParameters & getHcalEndcapParameters() const 
00072         throw (UnknownParameterException, std::exception )  ;
00073 
00078     virtual const VXDParameters & getVXDParameters() const
00079       throw (UnknownParameterException, std::exception )  ;
00080 
00085     virtual const GearPointProperties & getPointProperties() const 
00086       throw (NotImplementedException, std::exception ) ;
00087     
00088     
00093     virtual const GearDistanceProperties & getDistanceProperties() const 
00094       throw (NotImplementedException, std::exception ) ;
00095 
00096 
00099     virtual const std::vector<std::string>  & getGearParameterKeys() const ;
00100 
00101 
00105     virtual void setGearParameters( const std::string & key, GearParameters* parameters ) ;
00106     
00109     virtual void setTPCParameters( TPCParameters* tpcParameters ) ;
00110 
00111 
00114     virtual void setEcalBarrelParameters( CalorimeterParameters* ecalBarrelParameters ) ;
00115 
00118     virtual void setEcalEndcapParameters( CalorimeterParameters* ecalEndcapParameters ) ;
00119     
00122     virtual void setHcalBarrelParameters( CalorimeterParameters* hcalBarrelParameters ) ;
00123 
00126     virtual void setHcalEndcapParameters( CalorimeterParameters* hcalEndcapParameters ) ;
00127 
00130     virtual void setVXDParameters( VXDParameters * vxdParameters ) ;
00131 
00134     virtual void  setPointProperties( GearPointProperties* pointProperties) ; 
00135 
00138     virtual void  setDistanceProperties( GearDistanceProperties* distanceProperties) ; 
00139     
00140     
00141     
00142     
00143   protected:
00144     
00145     ParameterMap _map ;
00146     TPCParameters* _tpcParameters ;
00147     CalorimeterParameters* _ecalBarrelParameters ;
00148     CalorimeterParameters* _ecalEndcapParameters ;
00149     CalorimeterParameters* _hcalBarrelParameters ;
00150     CalorimeterParameters* _hcalEndcapParameters ;
00151     VXDParameters* _vxdParameters ;
00152     GearPointProperties*  _pointProperties ;
00153     GearDistanceProperties*  _distanceProperties ;
00154 
00155     mutable StringVec _keys ;
00156 
00157   }; // class
00158 } // namespace gear
00159 #endif /* ifndef GEAR_GEARMGR_H */

Generated on Tue Sep 5 11:36:29 2006 for Gear by doxygen 1.3.5