<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE gdd SYSTEM 'gdd.dtd'> <gdd> <package name = 'TbEvent'> <class name = 'TbState' author = 'Panagiotis Tsopelas, Wouter Hulsbergen' desc = '4D state vector with z position'> <location name = "Default" place = "Rec/Tb/TbStates"/> <import name = "GaudiKernel/MsgStream" /> <import name = "GaudiKernel/Point3DTypes"/> <import name = "GaudiKernel/Vector3DTypes"/> <import name = "GaudiKernel/GenericVectorTypes"/> <import name = "GaudiKernel/SymmetricMatrixTypes"/> &StlPtrVector; <constructor desc = 'Default constructor' initList = "m_parameters(), m_covariance(), m_z(0.), m_plane(0)"> </constructor> <constructor desc = "Constructor with arguments" argList = "const Gaudi::Vector4& state, const Gaudi::SymMatrix4x4& cov, const double& z, const unsigned int& plane" initList = "m_parameters(state), m_covariance(cov), m_z(z), m_plane(plane)"> </constructor> <attribute type = 'Gaudi::Vector4' name = 'parameters' desc = 'the parameter vector' setMeth = 'FALSE' access = 'PRIVATE' nonconstaccessor = 'TRUE'/> <attribute type = 'Gaudi::SymMatrix4x4' name = 'covariance' desc = 'covariance matrix (indices 0 ... 3 for x, y, tx, ty)' setMeth = 'FALSE' access = 'PRIVATE' nonconstaccessor = 'TRUE'/> <attribute type = 'double' name = 'z' desc = 'the z-position of the state' setMeth = 'FALSE' access = 'PRIVATE'/> <attribute type = 'unsigned int' name = 'plane' desc = 'the plane of the state'/> <method type = 'double' name = 'errX2' desc = 'Retrieve the squared error on the x-position of the state' const = 'TRUE'> <code> return m_covariance(0, 0); </code> </method> <method type = 'double' name = 'errY2' desc = 'Retrieve the squared error on the y-position of the state' const = 'TRUE'> <code> return m_covariance(1, 1); </code> </method> <method type = 'double' name = 'errTx2' desc = 'Retrieve the squared error on the x-slope of the state' const = 'TRUE'> <code> return m_covariance(2, 2); </code> </method> <method type = 'double' name = 'errTy2' desc = 'Retrieve the squared error on the y-slope of the state' const = 'TRUE'> <code> return m_covariance(3, 3); </code> </method> <method type = 'LHCb::TbState*' name = 'clone' desc = 'Clone the TbState (you then own the pointer)' virtual = 'TRUE' const = 'TRUE'> </method> <method type = 'Gaudi::XYZPoint' name = 'position' desc = 'Retrieve the 3D-position vector (x,y,z) of the state' const = 'TRUE'> <code> return Gaudi::XYZPoint(m_parameters[0], m_parameters[1], m_z); </code> </method> <method type = 'double' name = 'x' desc = 'Retrieve the x-position of the state' const = 'TRUE'> <code> return m_parameters[0]; </code> </method> <method type = 'double' name = 'y' desc = 'Retrieve the y-position of the state' const = 'TRUE'> <code> return m_parameters[1]; </code> </method> <method type = 'Gaudi::XYZVector' name = 'slopes' desc = 'Retrieve the slopes (dx/dz, dy/dz, 1.) of the state' const = 'TRUE'> <code> return Gaudi::XYZVector(m_parameters[2], m_parameters[3], 1.); </code> </method> <method type = 'double' name = 'tx' desc = 'Retrieve the Tx=dx/dz slope of the state' const = 'TRUE'> <code> return m_parameters[2]; </code> </method> <method type = 'double' name = 'ty' desc = 'Retrieve the Ty=dy/dz slope of the state' const = 'TRUE'> <code> return m_parameters[3]; </code> </method> <method name = 'setX' argList = 'const double value' desc = 'Update the x-position of the state'> <code> m_parameters[0] = value; </code> </method> <method name = 'setY' argList = 'const double value' desc = 'Update the y-position of the state'> <code> m_parameters[1] = value; </code> </method> <method name = 'setZ' argList = 'const double value' desc = 'Update the z-position of the state'> <code> m_z = value; </code> </method> <method name = 'setTx' argList = 'const double value' desc = 'Update the x-slope tx = dx/dz of the state'> <code> m_parameters[2] = value; </code> </method> <method name = 'setTy' argList = 'const double value' desc = 'Update the y-slope ty = dy/dz of the state'> <code> m_parameters[3] = value; </code> </method> <method name = 'setState' argList = 'double x, double y, double tx, double ty, double z' desc = 'Update the state vector'/> <method name = 'setCovariance' argList = 'Gaudi::SymMatrix4x4 value' desc = 'Update the covariance matrix'> <code> m_covariance = value; </code> </method> <method name = "fillStream" desc = "Print to message stream" type = "MsgStream&" const = "TRUE"> <arg name = "os" type = "MsgStream" inout = "BOTH"/> <code> os << "{ " << "parameters: " << m_parameters << std::endl << "z: " << m_z << std::endl << " }"; return os; </code> </method> </class> </package> </gdd>