StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StHbtKink.hh
1 /***********************************************************************
2  *
3  * $Id: StHbtKink.hh,v 1.4 2003/09/02 17:58:32 perev Exp $
4  *
5  * Author: Mike Lisa, Ohio State, 23May2001
6  *
7  ***********************************************************************
8  *
9  * Description: Kink class with information gotten from the StKinkVertex
10  * of Wenshen Deng and Spiros Margetis
11  *
12  ***********************************************************************
13  *
14  * $Log: StHbtKink.hh,v $
15  * Revision 1.4 2003/09/02 17:58:32 perev
16  * gcc 3.2 updates + WarnOff
17  *
18  * Revision 1.3 2001/11/14 21:07:21 lisa
19  * Fixed several small things (mostly discarded const) that caused fatal errors with gcc2.95.3
20  *
21  * Revision 1.2 2001/06/21 19:15:46 laue
22  * Modified fiels:
23  * CTH.hh : new constructor added
24  * StHbtEvent, StHbtKink, StHbtTrack : constructors from the persistent
25  * (TTree) classes added
26  * StHbtLikeSignAnalysis : minor changes, for debugging
27  * StHbtTypes: split into different files
28  * Added files: for the new TTree muDst's
29  * StExceptions.cxx StExceptions.hh StHbtEnumeration.hh
30  * StHbtHelix.hh StHbtHisto.hh StHbtString.hh StHbtTFile.hh
31  * StHbtTTreeEvent.cxx StHbtTTreeEvent.h StHbtTTreeKink.cxx
32  * StHbtTTreeKink.h StHbtTTreeTrack.cxx StHbtTTreeTrack.h
33  * StHbtTTreeV0.cxx StHbtTTreeV0.h StHbtVector.hh
34  *
35  * Revision 1.1 2001/05/25 23:23:59 lisa
36  * Added in StHbtKink stuff
37  *
38  *
39  *
40  ***********************************************************************/
41 #ifndef StHbtKink_hh
42 #define StHbtKink_hh
43 
44 class StKinkVertex;
45 class StHbtTTreeEvent;
46 class StHbtTTreeKink;
47 //#include "StEvent/StKinkVertex.h" // from StEvent
48 #include "StHbtMaker/Infrastructure/StHbtTrack.hh"
49 
50 #include "Stiostream.h"
51 #include "StHbtMaker/Infrastructure/StHbtTypes.hh" //same as in StHbtTrack.hh
52 
53 class StHbtKink {
54 public:
55  StHbtKink(){/* no-op */}
56  StHbtKink( const StHbtKink&); // copy constructor
57 #ifdef __ROOT__
58  StHbtKink( const StKinkVertex&, StHbtThreeVector PrimaryVertex); // create a StHbtKink from a StKinkVertex
59  StHbtKink( const StHbtTTreeEvent*, const StHbtTTreeKink*);
60 #endif
61  ~StHbtKink(){/* no-op */}
62 
63  // Get's
64  float DcaParentDaughter() const;
65  float DcaDaughterPrimaryVertex() const;
66  float DcaParentPrimaryVertex() const;
67  float HitDistanceParentDaughter() const;
68  float HitDistanceParentVertex() const;
69  float DeltaEnergy(int i=0) const;
70  float DecayAngle() const;
71  float DecayAngleCM() const;
72  StHbtTrack Daughter() const;
73  StHbtTrack Parent() const;
74  StHbtThreeVector Position() const;
75 
76 
77  friend ostream& operator<<(ostream& out, StHbtKink& kink);
78  friend istream& operator>>(istream& in, StHbtKink& kink);
79 
80  friend class StHbtIOBinary;
81  friend class StHbtTTreeKink;
82 
83 protected:
84 
85  float mDcaParentDaughter; // from StKinkVertex class directly
86  float mDcaDaughterPrimaryVertex; // from StKinkVertex class directly
87  float mDcaParentPrimaryVertex; // from StKinkVertex class directly
88  float mHitDistanceParentDaughter; // from StKinkVertex class directly
89  float mHitDistanceParentVertex; // from StKinkVertex class directly
90  float mDeltaEnergy[3]; // from StKinkVertex class directly
91  float mDecayAngle; // from StKinkVertex class directly
92  float mDecayAngleCM; // from StKinkVertex class directly
93  StHbtTrack mDaughter; // from StKinkVertex class directly
94  StHbtTrack mParent; // from StVertex class (which StKinkVertex inherits from)
95  StHbtThreeVector mPosition; // from StMeasuredPoint class (which StVertex inherits from)
96 
97 };
98 
99 // Get's
100 inline float StHbtKink::DcaParentDaughter() const {return mDcaParentDaughter;}
101 inline float StHbtKink::DcaDaughterPrimaryVertex() const {return mDcaDaughterPrimaryVertex;}
102 inline float StHbtKink::DcaParentPrimaryVertex() const {return mDcaParentPrimaryVertex;}
103 inline float StHbtKink::HitDistanceParentDaughter() const {return mHitDistanceParentDaughter;}
104 inline float StHbtKink::HitDistanceParentVertex() const {return mHitDistanceParentVertex;}
105 inline float StHbtKink::DeltaEnergy(int i) const {return mDeltaEnergy[i];}
106 inline float StHbtKink::DecayAngle() const {return mDecayAngle;}
107 inline float StHbtKink::DecayAngleCM() const {return mDecayAngleCM;}
108 inline StHbtTrack StHbtKink::Daughter() const {return mDaughter;}
109 inline StHbtTrack StHbtKink::Parent() const {return mParent;}
110 inline StHbtThreeVector StHbtKink::Position() const {return mPosition;}
111 
112 
113 
114 
115 #endif
116 
117 
118 
119 
120 
121 
122 
123 
124 
125 
126 
127 
128 
129 
130 
131 
132 
133