Bring AliFemto up to date with latest code developements
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoKink.h
1 ///////////////////////////////////////////////////////////////////////////
2 //                                                                       //
3 // AliFemtoKink: main class holding all the necessary information        //
4 // about a kink (before the identification) that is required during      //
5 // femtoscopic analysis. This class is filled with information from the  //
6 // input stream by the reader. A particle has a link back to the Kink    //
7 // it was created from, so we do not copy the information.               //
8 //                                                                       //
9 ///////////////////////////////////////////////////////////////////////////
10 /***********************************************************************
11  *
12  * $Id$
13  *
14  * Author: Mike Lisa, Ohio State, 23May2001
15  *
16  ***********************************************************************
17  *
18  * Description: Kink class with information gotten from the StKinkVertex
19  *              of Wenshen Deng and Spiros Margetis
20  *
21  ***********************************************************************
22  *
23  * $Log$
24  * Revision 1.2  2007/05/03 09:42:29  akisiel
25  * Fixing Effective C++ warnings
26  *
27  * Revision 1.1.1.1  2007/04/25 15:38:41  panos
28  * Importing the HBT code dir
29  *
30  * Revision 1.1.1.1  2007/03/07 10:14:49  mchojnacki
31  * First version on CVS
32  *
33  * Revision 1.4  2003/09/02 17:58:32  perev
34  * gcc 3.2 updates + WarnOff
35  *
36  * Revision 1.3  2001/11/14 21:07:21  lisa
37  * Fixed several small things (mostly discarded const) that caused fatal errors with gcc2.95.3
38  *
39  * Revision 1.2  2001/06/21 19:15:46  laue
40  * Modified fiels:
41  *   CTH.h : new constructor added
42  *   AliFemtoEvent, AliFemtoKink, AliFemtoTrack : constructors from the persistent
43  *                                   (TTree) classes added
44  *   AliFemtoLikeSignAnalysis : minor changes, for debugging
45  *   AliFemtoTypes: split into different files
46  * Added files: for the new TTree muDst's
47  *   StExceptions.cxx StExceptions.h AliFemtoEnumeration.h
48  *   AliFemtoHelix.h AliFemtoHisto.h AliFemtoString.h AliFemtoTFile.h
49  *   AliFemtoTTreeEvent.cxx AliFemtoTTreeEvent.h AliFemtoTTreeKink.cxx
50  *   AliFemtoTTreeKink.h AliFemtoTTreeTrack.cxx AliFemtoTTreeTrack.h
51  *   AliFemtoTTreeV0.cxx AliFemtoTTreeV0.h AliFemtoVector.h
52  *
53  * Revision 1.1  2001/05/25 23:23:59  lisa
54  * Added in AliFemtoKink stuff
55  *
56  * 
57  *
58  ***********************************************************************/
59 #ifndef ALIFEMTOKINK_H
60 #define ALIFEMTOKINK_H
61
62 class StKinkVertex;
63 //#include "StEvent/StKinkVertex.h"  // from StEvent
64 #include "AliFemtoTrack.h"
65
66 #include "AliFemtoTypes.h" //same as in AliFemtoTrack.h
67
68 class AliFemtoKink {
69 public:
70   AliFemtoKink();
71   AliFemtoKink( const AliFemtoKink& k); // copy constructor
72 #ifndef __NO_STAR_DEPENDENCE_ALLOWED__
73 #ifdef __ROOT__
74   AliFemtoKink( const StKinkVertex&, AliFemtoThreeVector PrimaryVertex); // create a AliFemtoKink from a StKinkVertex
75 #endif
76 #endif
77   ~AliFemtoKink(){/* no-op */}
78
79   // Get's
80   float        DcaParentDaughter() const;
81   float        DcaDaughterPrimaryVertex() const;
82   float        DcaParentPrimaryVertex() const;
83   float        HitDistanceParentDaughter() const;
84   float        HitDistanceParentVertex() const;
85   float        DeltaEnergy(int i=0) const;
86   float        DecayAngle() const;
87   float        DecayAngleCM() const;
88   AliFemtoTrack   Daughter() const;
89   AliFemtoTrack   Parent() const;
90   AliFemtoThreeVector Position() const; 
91
92   
93
94 protected:
95
96   float        fDcaParentDaughter;           // from StKinkVertex class directly 
97   float        fDcaDaughterPrimaryVertex;    // from StKinkVertex class directly 
98   float        fDcaParentPrimaryVertex;      // from StKinkVertex class directly 
99   float        fHitDistanceParentDaughter;   // from StKinkVertex class directly 
100   float        fHitDistanceParentVertex;     // from StKinkVertex class directly 
101   float        fDeltaEnergy[3];              // from StKinkVertex class directly 
102   float        fDecayAngle;                  // from StKinkVertex class directly 
103   float        fDecayAngleCM;                // from StKinkVertex class directly 
104   AliFemtoTrack   fDaughter;                    // from StKinkVertex class directly 
105   AliFemtoTrack   fParent;                      // from StVertex class (which StKinkVertex inherits from)
106   AliFemtoThreeVector fPosition;                // from StMeasuredPoint class (which StVertex inherits from)
107
108 };
109
110 // Get's
111 inline float        AliFemtoKink::DcaParentDaughter() const {return fDcaParentDaughter;}
112 inline float        AliFemtoKink::DcaDaughterPrimaryVertex() const {return fDcaDaughterPrimaryVertex;}
113 inline float        AliFemtoKink::DcaParentPrimaryVertex() const {return fDcaParentPrimaryVertex;}
114 inline float        AliFemtoKink::HitDistanceParentDaughter() const {return fHitDistanceParentDaughter;}
115 inline float        AliFemtoKink::HitDistanceParentVertex() const {return fHitDistanceParentVertex;}
116 inline float        AliFemtoKink::DeltaEnergy(int i) const {return fDeltaEnergy[i];}
117 inline float        AliFemtoKink::DecayAngle() const {return fDecayAngle;}
118 inline float        AliFemtoKink::DecayAngleCM() const {return fDecayAngleCM;}
119 inline AliFemtoTrack   AliFemtoKink::Daughter() const {return fDaughter;}
120 inline AliFemtoTrack   AliFemtoKink::Parent() const {return fParent;}
121 inline AliFemtoThreeVector AliFemtoKink::Position() const {return fPosition;}
122
123
124
125
126 #endif
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144