Newer
Older
TB_Chris / TbEvent / xml / .svn / text-base / TbTrack.xml.svn-base
  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  
  3. <!DOCTYPE gdd SYSTEM "gdd.dtd" >
  4. <gdd>
  5. <package name = "TbEvent">
  6. <class name = "TbTrack"
  7. id = "4512"
  8. author = "H. Schindler"
  9. desc = "Reconstructed telescope track"
  10. serializers = "FALSE">
  11. <location name = "Default" place = "Rec/Tb/TbTracks"/>
  12. <import name = "Event/TbCluster"/>
  13. <import name = "Event/TbTrigger"/>
  14. <import name = "Event/TbState"/>
  15. <import name = "vector" std = "TRUE"/>
  16. <base name = "KeyedObject&lt;int&gt;"/>
  17. &KeyedObject;
  18. <constructor desc = 'Default constructor'
  19. initList = "m_time(0), m_htime(0.), m_firstState(), m_chi2PerNdof(0.), m_ndof(0), m_states(), m_vertexed(false), m_parentVertex(false)">
  20. <code>
  21. m_clusters.reserve(10);
  22. m_triggers.reserve(10);
  23. m_associatedClusters.reserve(10);
  24. m_states.reserve(10);
  25. </code>
  26. </constructor>
  27. <relation name = 'clusters'
  28. type = 'LHCb::TbCluster'
  29. desc = 'clusters forming this track'
  30. multiplicity = 'm'/>
  31. <relation name = 'triggers'
  32. type = 'LHCb::TbTrigger'
  33. desc = 'triggers associated to this track'
  34. multiplicity = 'm'/>
  35.  
  36. <relation name = 'associatedClusters'
  37. type = 'LHCb::TbCluster'
  38. desc = 'clusters associated to this track'
  39. multiplicity = 'm'/>
  40.  
  41. <attribute name = "time"
  42. type = "uint64_t"
  43. desc = "global timestamp"/>
  44.  
  45. <attribute name = "htime"
  46. type = "double"
  47. desc = "local timestamp in ns"/>
  48.  
  49. <attribute name = "firstState"
  50. desc = "first state of the track"
  51. type = 'LHCb::TbState'/>
  52. <attribute name = "chi2PerNdof"
  53. desc = "chi-squared per degree of freedom of the track"
  54. type = "double"/>
  55. <attribute name = "ndof"
  56. desc = "number of degrees of freedom"
  57. type = "unsigned int"/>
  58. <attribute type = 'std::vector&lt;LHCb::TbState&gt;'
  59. name = 'states'
  60. desc = 'container with all states'
  61. setMeth= 'FALSE'/>
  62. <attribute name = 'vertexed'
  63. desc = 'flag whether this track forms part of a vertex'
  64. type = 'bool'/>
  65. <attribute name = 'parentVertex'
  66. desc = 'flag whether this track forms the start of a vertex'
  67. type = 'bool'/>
  68. <constructor desc = "Copy constructor" >
  69. <arg const="TRUE" name="track" type="LHCb::TbTrack"/>
  70. </constructor>
  71.  
  72. <method type = 'void'
  73. name = 'clearStates'
  74. desc = 'Clear the State vector'>
  75. </method>
  76.  
  77. <method type = 'double'
  78. name = 'chi2'
  79. desc = 'Retrieve the chi-squared of the track'
  80. const = 'TRUE'>
  81. <code>
  82. return m_chi2PerNdof * m_ndof;
  83. </code>
  84. </method>
  85.  
  86. <method name = "clone"
  87. desc = "Clone the track without keeping the clusters (you take ownership of the pointer)"
  88. type = "LHCb::TbTrack*"
  89. virtual = "TRUE"/>
  90.  
  91. <method name = 'addToStates'
  92. desc = 'Add a state to the list of states associated to the track'>
  93. <arg type = 'const LHCb::TbState' name = 'state'/>
  94. </method>
  95. <method name = "size"
  96. desc = "Return the number of clusters forming this track"
  97. type = "unsigned int"
  98. const = "TRUE">
  99. <code>
  100. return m_clusters.size();
  101. </code>
  102. </method>
  103. <method name = "setAssociated"
  104. desc = "Flag the clusters in a track as associated / unassociated"
  105. type = "void"
  106. argList = "const bool flag">
  107. <code>
  108. for (auto it = m_clusters.begin(), end = m_clusters.end(); it != end; ++it) {
  109. (*it)->setAssociated(flag);
  110. }
  111. </code>
  112. </method>
  113. </class>
  114. </package>
  115. </gdd>