00001
00002
00003
00004
00005 #ifndef SurfaceB_h
00006 #define SurfaceB_h 1
00007
00008
00009 #include "Kalman/Interface_ISurface.h"
00010
00011
00012 class SurfaceB : public ISurface
00013 {
00014 public:
00015
00016 SurfaceB(){};
00017
00018
00019 SurfaceB(std::string type, EVector pos, EVector size, EVector dir, std::string volName=""){
00020 m_type = type;
00021 setParameter("position", pos);
00022 setParameter("size", size);
00023 setParameter("direction", dir);
00024 setVolumeName(volName);
00025 }
00026 SurfaceB(std::string type, EVector pos, EVector size, EVector dir1,
00027 EVector dir2, std::string volName=""){
00028 m_type = type;
00029 setParameter("position", pos);
00030 setParameter("size", size);
00031 setParameter("direction 1", dir1);
00032 setParameter("direction 2", dir2);
00033 setVolumeName(volName);
00034 }
00035
00036
00037
00038 virtual void copy(const ISurface& surf);
00039
00040
00041
00042
00043 virtual ~SurfaceB(){};
00044
00045
00046 virtual string type() const{return m_type;}
00047 virtual void setType(std::string type) {m_type=type;}
00048
00049
00050 virtual std::map<std::string, EVector> parameterMap() const {return m_parameterMap;}
00051 virtual void setParameter(std::string name,EVector par) {m_parameterMap[name]=par;}
00052
00053
00054 virtual std::string volumeName() const {return m_volumeName;}
00055 virtual void setVolumeName(std::string name){m_volumeName = name;}
00056
00057
00058
00059
00060
00061
00062 virtual void setMainParameter(std::string name, std::string vectorName, int comp)
00063 { m_mainParameterName = name; m_mainParameterVector = vectorName;m_mainParameterComponent=comp;}
00064 virtual double mainParameter() const
00065 {if (m_mainParameterName != "") return parameter(m_mainParameterVector,m_mainParameterComponent);
00066 else return 0;}
00067
00068 virtual std::string mainParameterName() const {return m_mainParameterName;}
00069 virtual int mainParameterComponent() const {return m_mainParameterComponent;}
00070 virtual std::string mainParameterVector() const {return m_mainParameterVector;}
00071
00072
00073 virtual void info(int verb) const;
00074
00075 protected:
00076
00077 std::string m_type;
00078
00079 std::map<std::string, EVector> m_parameterMap;
00080 std::string m_mainParameterName;
00081 std::string m_mainParameterVector;
00082 int m_mainParameterComponent;
00083
00084 std::string m_volumeName;
00085
00086 };
00087
00088 #endif
00089