]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FEMTOSCOPY/AliFemto/Infrastructure/AliFemtoEvent.h
Fixing Effective C++ warnings
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / Infrastructure / AliFemtoEvent.h
CommitLineData
67427ff7 1/***************************************************************************
2 *
3 * $Id$
4 *
5 * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu
6 ***************************************************************************
7 *
8 * Description: part of STAR HBT Framework: AliFemtoMaker package
9 * HbtEvent is the "transient microDST" Objects of this class are
10 * generated from the input data by a Reader, and then presented to
11 * the Cuts of the various active Analyses.
12 *
13 ***************************************************************************
14 * Revision 1.21 to use in Alice version 1 Chojnacki
15 *
16 *
17 * $Log$
0215f606 18 * Revision 1.1.1.1 2007/04/25 15:38:41 panos
19 * Importing the HBT code dir
20 *
67427ff7 21 * Revision 1.1.1.1 2007/03/07 10:14:49 mchojnacki
22 * First version on CVS
23 *
24 * Revision 1.20 2003/01/17 16:46:22 mercedes
25 * StMuEvent::refMult() added
26 *
27 * Revision 1.19 2002/11/19 23:27:25 renault
28 * New event constructor to find V0 daughters informations(helix for average
29 * separation calculation)
30 *
31 * Revision 1.18 2002/03/21 18:49:31 laue
32 * updated for new MuDst reader
33 *
34 * Revision 1.17 2001/12/06 16:47:13 laue
35 * l3 trigger algorithm added
36 *
37 * Revision 1.14 2001/06/21 19:15:45 laue
38 * Modified fiels:
39 * CTH.h : new constructor added
40 * AliFemtoEvent, AliFemtoKink, AliFemtoTrack : constructors from the persistent
41 * (TTree) classes added
42 * AliFemtoLikeSignAnalysis : minor changes, for debugging
43 * AliFemtoTypes: split into different files
44 * Added files: for the new TTree muDst's
45 * StExceptions.cxx StExceptions.h AliFemtoEnumeration.h
46 * AliFemtoHelix.h AliFemtoHisto.h AliFemtoString.h AliFemtoTFile.h
47 * AliFemtoTTreeEvent.cxx AliFemtoTTreeEvent.h AliFemtoTTreeKink.cxx
48 * AliFemtoTTreeKink.h AliFemtoTTreeTrack.cxx AliFemtoTTreeTrack.h
49 * AliFemtoTTreeV0.cxx AliFemtoTTreeV0.h AliFemtoVector.h
50 *
51 * Revision 1.13 2001/06/04 19:09:52 rcwells
52 * Adding B-field, run number, and improved reaction plane functionality
53 *
54 * Revision 1.12 2001/05/25 23:23:59 lisa
55 * Added in AliFemtoKink stuff
56 *
57 * Revision 1.11 2001/05/15 15:30:16 rcwells
58 * Added magnetic field to AliFemtoEvent
59 *
60 * Revision 1.10 2000/08/31 22:31:31 laue
61 * AliFemtoAnalysis: output changed (a little bit less)
62 * AliFemtoEvent: new version, members for reference mult added
63 * AliFemtoIOBinary: new IO for new AliFemtoEvent version
64 * AliFemtoTypes: TTree typedef to AliFemtoTTree added
65 * AliFemtoVertexAnalysis: overflow and underflow added
66 *
67 * Revision 1.9 2000/05/25 21:54:16 laue
68 * RotateZ implemented. Rotates momentum and helix around the z axis
69 *
70 * Revision 1.7 2000/02/18 21:32:23 laue
71 * franksTrackCut changed. If mCharge is set to '0' there will be no cut
72 * on charge. This is important for front-loaded cuts.
73 *
74 * copy constructor implemented for AliFemtoEvent, AliFemtoTrack and AliFemtoV0.
75 *
76 * franks1HistoD.cxx franks1HistoD.h franks2HistoD.cxx franks2HistoD.h
77 * removed. We can now (CC5 on Solaris) use the versions (no D)
78 *
79 * Revision 1.6 1999/09/16 18:47:59 lisa
80 * replace placeholder HbtV0Track stuff with Helens AliFemtoV0 classes
81 *
82 * Revision 1.5 1999/09/03 22:39:15 lisa
83 * Readers now MUST have Report() methods and MAY have WriteHbtEvent() methods
84 *
85 * Revision 1.4 1999/07/19 14:24:06 hardtke
86 * modifications to implement uDST
87 *
88 * Revision 1.3 1999/07/06 22:33:22 lisa
89 * Adjusted all to work in pro and new - dev itself is broken
90 *
91 * Revision 1.2 1999/06/29 17:50:27 fisyak
92 * formal changes to account new StEvent, does not complie yet
93 *
94 * Revision 1.1.1.1 1999/06/29 16:02:57 lisa
95 * Installation of AliFemtoMaker
96 *
97 **************************************************************************/
98
99#ifndef AliFemtoEvent_hh
100#define AliFemtoEvent_hh
101
102#include "Infrastructure/AliFemtoTypes.h"
103#include "Infrastructure/AliFemtoTrackCollection.h"
104#include "Infrastructure/AliFemtoV0Collection.h"
105#include "Infrastructure/AliFemtoXiCollection.h"
106#include "Infrastructure/AliFemtoKinkCollection.h"
107
108class AliFemtoTrackCut;
109class AliFemtoV0Cut;
110class AliFemtoXiCut;
111class AliFemtoKinkCut;
112
113
114#ifdef __ROOT__
115
116// the following encapsulation by malisa 21apr2006
117#ifndef __NO_STAR_DEPENDENCE_ALLOWED__
118class StMuDst;
119#endif
120
121#endif
122
123class AliFemtoEvent{
124public:
125 AliFemtoEvent();
126#ifdef __ROOT__
127#ifndef __NO_STAR_DEPENDENCE_ALLOWED__
128//
129#endif
130#endif
131 AliFemtoEvent(const AliFemtoEvent&, AliFemtoTrackCut* =0, AliFemtoV0Cut* =0, AliFemtoXiCut* =0, AliFemtoKinkCut* =0); // copy constructor with track and v0 cuts
132 ~AliFemtoEvent();
0215f606 133 AliFemtoEvent& operator=(const AliFemtoEvent& aEvent);
67427ff7 134
135 unsigned short EventNumber() const;
136 int RunNumber() const;
137 unsigned short NumberOfTracks() const;
138 AliFemtoThreeVector PrimVertPos() const;
139 AliFemtoV0Collection* V0Collection() const;
140 AliFemtoXiCollection* XiCollection() const;
141 AliFemtoKinkCollection* KinkCollection() const;
142 AliFemtoTrackCollection* TrackCollection() const;
143 double MagneticField() const;
144
145 //functions for alice variables
146 float ZDCN1Energy() const;
147 float ZDCP1Energy() const;
148 float ZDCN2Energy() const;
149 float ZDCP2Energy() const;
150 float ZDCEMEnergy() const;
151 unsigned int ZDCParticipants() const;
152
153 unsigned long int TriggerMask() const;
154 unsigned char TriggerCluster() const;
155
156 void SetEventNumber(const unsigned short&);
157 void SetRunNumber(const int&);
158 void SetNumberOfTracks(const unsigned short&);
159 void SetPrimVertPos(const AliFemtoThreeVector&);
160 void SetMagneticField(const double&);
161
162 //functions for alice variables
163 void SetZDCN1Energy(const float&);
164 void SetZDCP1Energy(const float&);
165 void SetZDCN2Energy(const float&);
166 void SetZDCP2Energy(const float&);
167 void SetZDCEMEnergy(const float&);
168 void SetZDCParticipants(const unsigned int&);
169
170 void SetTriggerMask(const unsigned long int&);
171 void SetTriggerCluster(const unsigned char&);
172
173 double UncorrectedNumberOfNegativePrimaries() const;
174 double UncorrectedNumberOfPrimaries() const;
175
176private:
177 unsigned short fEventNumber; //
178 unsigned short fRunNumber;
179 unsigned short fNumberOfTracks; // total number of TPC tracks
180 double fMagneticField; // magnetic field in Z direction
181
182 AliFemtoThreeVector fPrimVertPos;
183 AliFemtoTrackCollection* fTrackCollection;
184 AliFemtoV0Collection* fV0Collection;
185 AliFemtoXiCollection* fXiCollection;
186 AliFemtoKinkCollection* fKinkCollection;
187
188 //for alice changed by Marek Chojnacki
189 float fZDCN1Energy; // reconstructed energy in the neutron ZDC
190 float fZDCP1Energy; // reconstructed energy in the proton ZDC
191 float fZDCN2Energy; // reconstructed energy in the neutron ZDC
192 float fZDCP2Energy; // reconstructed energy in the proton ZDC
193 float fZDCEMEnergy; // reconstructed energy in the electromagnetic ZDC
194 unsigned int fZDCParticipants; // number of participants estimated by the ZDC
195
196 unsigned long int fTriggerMask; // Trigger Type (mask)
197 unsigned char fTriggerCluster; // Trigger cluster (mask)
198};
199
200
201
202#endif