- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE gdd SYSTEM "gdd.dtd" >
- <gdd>
- <package name = "TbEvent">
- <class name = "TbTrack"
- id = "4512"
- author = "H. Schindler"
- desc = "Reconstructed telescope track"
- serializers = "FALSE">
- <location name = "Default" place = "Rec/Tb/TbTracks"/>
- <import name = "Event/TbCluster"/>
- <import name = "Event/TbTrigger"/>
- <import name = "Event/TbState"/>
- <import name = "vector" std = "TRUE"/>
- <base name = "KeyedObject<int>"/>
- &KeyedObject;
- <constructor desc = 'Default constructor'
- initList = "m_time(0), m_htime(0.), m_firstState(), m_chi2PerNdof(0.), m_ndof(0), m_states(), m_vertexed(false), m_parentVertex(false)">
- <code>
- m_clusters.reserve(10);
- m_triggers.reserve(10);
- m_associatedClusters.reserve(10);
- m_states.reserve(10);
- </code>
- </constructor>
- <relation name = 'clusters'
- type = 'LHCb::TbCluster'
- desc = 'clusters forming this track'
- multiplicity = 'm'/>
- <relation name = 'triggers'
- type = 'LHCb::TbTrigger'
- desc = 'triggers associated to this track'
- multiplicity = 'm'/>
- <relation name = 'associatedClusters'
- type = 'LHCb::TbCluster'
- desc = 'clusters associated to this track'
- multiplicity = 'm'/>
- <attribute name = "time"
- type = "uint64_t"
- desc = "global timestamp"/>
- <attribute name = "htime"
- type = "double"
- desc = "local timestamp in ns"/>
- <attribute name = "firstState"
- desc = "first state of the track"
- type = 'LHCb::TbState'/>
- <attribute name = "chi2PerNdof"
- desc = "chi-squared per degree of freedom of the track"
- type = "double"/>
- <attribute name = "ndof"
- desc = "number of degrees of freedom"
- type = "unsigned int"/>
- <attribute type = 'std::vector<LHCb::TbState>'
- name = 'states'
- desc = 'container with all states'
- setMeth= 'FALSE'/>
- <attribute name = 'vertexed'
- desc = 'flag whether this track forms part of a vertex'
- type = 'bool'/>
- <attribute name = 'parentVertex'
- desc = 'flag whether this track forms the start of a vertex'
- type = 'bool'/>
- <constructor desc = "Copy constructor" >
- <arg const="TRUE" name="track" type="LHCb::TbTrack"/>
- </constructor>
- <method type = 'void'
- name = 'clearStates'
- desc = 'Clear the State vector'>
- </method>
- <method type = 'double'
- name = 'chi2'
- desc = 'Retrieve the chi-squared of the track'
- const = 'TRUE'>
- <code>
- return m_chi2PerNdof * m_ndof;
- </code>
- </method>
- <method name = "clone"
- desc = "Clone the track without keeping the clusters (you take ownership of the pointer)"
- type = "LHCb::TbTrack*"
- virtual = "TRUE"/>
- <method name = 'addToStates'
- desc = 'Add a state to the list of states associated to the track'>
- <arg type = 'const LHCb::TbState' name = 'state'/>
- </method>
- <method name = "size"
- desc = "Return the number of clusters forming this track"
- type = "unsigned int"
- const = "TRUE">
- <code>
- return m_clusters.size();
- </code>
- </method>
- <method name = "setAssociated"
- desc = "Flag the clusters in a track as associated / unassociated"
- type = "void"
- argList = "const bool flag">
- <code>
- for (auto it = m_clusters.begin(), end = m_clusters.end(); it != end; ++it) {
- (*it)->setAssociated(flag);
- }
- </code>
- </method>
- </class>
- </package>
- </gdd>