PandaRoot
PndFTSCAMCPoint.h
Go to the documentation of this file.
1 //-*- Mode: C++ -*-
2 // ************************************************************************
3 // This file is property of and copyright by the ALICE HLT Project *
4 // ALICE Experiment at CERN, All rights reserved. *
5 // See cxx source for full Copyright notice *
6 // *
7 //*************************************************************************
8 
9 #ifndef PNDFTSCAMCPOINT_H
10 #define PNDFTSCAMCPOINT_H
11 
12 #include "PndFTSCADef.h"
13 #include <vector>
14 
15 #include <iostream>
16 using std::istream;
17 using std::ostream;
18 
19 class PndFtsPoint;
20 
26  public:
28 
29  float X() const { return fX; }
30  float Y() const { return fY; }
31  float Z() const { return fZ; }
32  float Sx() const { return fSx; }
33  float Sy() const { return fSy; }
34  float Sz() const { return fSz; }
35  float Time() const { return fTime; }
36  int ISlice() const { return fISlice; }
37  int TrackID() const { return fTrackID; }
38 
39  void SetX(float v) { fX = v; }
40  void SetY(float v) { fY = v; }
41  void SetZ(float v) { fZ = v; }
42  void SetSx(float v) { fSx = v; }
43  void SetSy(float v) { fSy = v; }
44  void SetSz(float v) { fSz = v; }
45  void SetTime(float v) { fTime = v; }
46  void SetISlice(int v) { fISlice = v; }
47  void SetTrackID(int v) { fTrackID = v; }
48 
49  static bool Compare(const PndFTSCAMCPoint &p1, const PndFTSCAMCPoint &p2) { return (p1.fTrackID < p2.fTrackID); }
50 
51  protected:
52  float fX; //* global X position
53  float fY; //* global Y position
54  float fZ; //* global Z position
55  float fSx; //* slice X position
56  float fSy; //* slice Y position
57  float fSz; //* slice Z position
58  float fTime; //* time
59  int fISlice; //* slice number
60  int fTrackID; //* mc track number
61 };
62 
68  public:
71 
72  void SetPoint(PndFtsPoint *ppp, Double_t qq);
73  PndFTSCALocalMCPoint &operator=(const PndFTSCALocalMCPoint &rhs);
74 
75  float X() const { return fX; } // global coordinates
76  float Y() const { return fY; }
77  float Z() const { return fZ; }
78  float Px() const { return fPx; }
79  float Py() const { return fPy; }
80  float Pz() const { return fPz; }
81  float QP() const { return fQP; }
82  int ISlice() const { return fISlice; }
83  int IRow() const { return fIRow; }
84  int TrackI() const { return fTrackI; }
85  int TrackID() const { return fTrackID; }
86 
87  float Angle() const { return fAngle; }
88  float Err2Z() const { return fErr2Z; }
89  float Err2Y() const { return fErr2Y; }
90 
91  void SetX(float v) { fX = v; }
92  void SetY(float v) { fY = v; }
93  void SetZ(float v) { fZ = v; }
94  void SetPx(float v) { fPx = v; }
95  void SetPy(float v) { fPy = v; }
96  void SetPz(float v) { fPz = v; }
97  void SetQP(float v) { fQP = v; }
98  void SetISlice(int v) { fISlice = v; }
99  void SetIRow(int v) { fIRow = v; }
100  void SetTrackI(int v) { fTrackI = v; }
101  void SetTrackID(int v) { fTrackID = v; }
102 
103  void SetAngle(float v) { fAngle = v; }
104  void SetErr2Z(float v) { fErr2Z = v; }
105  void SetErr2Y(float v) { fErr2Y = v; }
106 
107  void RotateXY(float alpha);
108 
109  static bool Compare(const PndFTSCALocalMCPoint &p1, const PndFTSCALocalMCPoint &p2) { return (p1.fTrackID < p2.fTrackID); }
110 
111  friend ostream &operator<<(ostream &out, const PndFTSCALocalMCPoint &a);
112  friend istream &operator>>(istream &in, PndFTSCALocalMCPoint &a);
113 
114  protected:
115  float fX; //* local X position
116  float fY; //* local Y position
117  float fZ; //* local Z position
118  float fPx; //* local momentum projection - Px
119  float fPy;
120  float fPz;
121  float fQP; //* Q/P
122 
123  float fAngle; // angle of the module
124  float fErr2Z, fErr2Y; // errors for correspondent measurement
125  int fISlice; //* slice number
126  int fIRow;
127  int fTrackI; //* mc track index
128  int fTrackID; //* mc track simulation ID
129  public:
130  std::vector<int> fHits;
131 };
132 
133 #endif
float Sx() const
void SetISlice(int v)
basic_istream< char, char_traits< char > > istream
int TrackID() const
void SetY(float v)
static bool Compare(const PndFTSCAMCPoint &p1, const PndFTSCAMCPoint &p2)
std::vector< int > fHits
float Y() const
void SetAngle(float v)
float Sz() const
void SetX(float v)
std::ostream & operator<<(std::ostream &o, const PndEventInfo &)
__m128 v
Definition: P4_F32vec4.h:3
void SetSx(float v)
void SetTrackID(int v)
void SetSz(float v)
void SetErr2Y(float v)
static bool Compare(const PndFTSCALocalMCPoint &p1, const PndFTSCALocalMCPoint &p2)
float Z() const
std::istream & operator>>(std::istream &stream, RhoVector3Err &verr)
void SetZ(float v)
void SetSy(float v)
int ISlice() const
void SetErr2Z(float v)
float X() const
void SetTime(float v)
basic_ostream< char, char_traits< char > > ostream
double alpha
Definition: f_Init.h:7
float Sy() const
float Time() const