StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StXiVertex.h
1 
5 /***************************************************************************
6  *
7  * $Id: StXiVertex.h,v 2.10 2009/11/23 16:34:08 fisyak Exp $
8  *
9  * Author: Gene Van Buren, Feb 1999, revised Thomas Ullrich Sep 99
10  ***************************************************************************
11  *
12  * Description: vertex class for cascades
13  *
14  ***************************************************************************
15  *
16  * $Log: StXiVertex.h,v $
17  * Revision 2.10 2009/11/23 16:34:08 fisyak
18  * Cleanup, remove dependence on dst tables, clean up software monitors
19  *
20  * Revision 2.9 2004/07/15 16:36:26 ullrich
21  * Removed all clone() declerations and definitions. Use StObject::clone() only.
22  *
23  * Revision 2.8 2003/01/24 22:30:05 genevb
24  * Allow for signed DCA of Xi to PrimVertex
25  *
26  * Revision 2.7 2002/02/22 22:56:53 jeromel
27  * Doxygen basic documentation in all header files. None of this is required
28  * for QM production.
29  *
30  * Revision 2.6 2001/06/10 21:03:32 perev
31  * Solaris: consting
32  *
33  * Revision 2.5 2001/05/30 17:45:55 perev
34  * StEvent branching
35  *
36  * Revision 2.4 2001/04/05 04:00:47 ullrich
37  * Replaced all (U)Long_t by (U)Int_t and all redundant ROOT typedefs.
38  *
39  * Revision 2.3 2001/03/24 03:35:01 perev
40  * clone() -> clone() const
41  *
42  * Revision 2.2 1999/11/04 13:31:19 ullrich
43  * Changed order of constructor arguments
44  *
45  * Revision 2.1 1999/10/28 22:28:18 ullrich
46  * Adapted new StArray version. First version to compile on Linux and Sun.
47  *
48  * Revision 2.0 1999/10/12 18:43:37 ullrich
49  * Completely Revised for New Version
50  *
51  **************************************************************************/
52 #ifndef StXiVertex_hh
53 #define StXiVertex_hh
54 #include "StVertex.h"
55 #include "StEnumerations.h"
56 
57 class StV0Vertex;
58 
59 class StXiVertex : public StVertex {
60 public:
61  StXiVertex();
62  // StXiVertex(const StXiVertex&); use default
63  // StXiVertex& operator=(const StXiVertex&); use default
64  ~StXiVertex();
65 
66  StVertexId type() const;
67  unsigned int numberOfDaughters() const;
68  StTrack* daughter(unsigned int = 0);
69  const StTrack* daughter(unsigned int = 0) const;
70  StPtrVecTrack daughters(StTrackFilter&);
71 
72  float dcaBachelorToPrimaryVertex() const;
73  float dcaV0ToPrimaryVertex() const;
74  float dcaDaughters() const;
75  float dcaParentToPrimaryVertex() const;
76  float signedDcaParentToPrimaryVertex() const;
77  const StThreeVectorF& momentumOfBachelor() const;
78  StThreeVectorF momentumOfV0() const;
79  StThreeVectorF momentum() const;
80  StV0Vertex* v0Vertex();
81  StTrack* bachelor();
82  double chargeOfBachelor();
83 
84  void setDcaBachelorToPrimaryVertex(float);
85  void setMomentumOfBachelor(const StThreeVectorF&);
86  void setDcaDaughters(float);
87  void setDcaParentToPrimaryVertex(float);
88  void setV0Vertex(StV0Vertex*);
89  void addDaughter(StTrack*);
90  void removeDaughter(StTrack*);
91 
92 protected:
93 // StTrack* mDaughter; //$LINK
94 #ifdef __CINT__
95  StObjLink mDaughter;
96 #else
97  StLink<StTrack> mDaughter;
98 #endif //__CINT__
99  Float_t mDcaBachelorToPrimaryVertex;
100  StThreeVectorF mMomentumOfBachelor;
101  Float_t mDcaDaughters;
102  Float_t mDcaParentToPrimaryVertex;
103 // StV0Vertex* mV0Vertex; //$LINK
104 #ifdef __CINT__
105  StObjLink mV0Vertex;
106 #else
107  StLink<StV0Vertex> mV0Vertex;
108 #endif //__CINT__
109  ClassDef(StXiVertex,2)
110 };
111 #endif