FairRoot/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::ostream;
17 using std::istream;
18 
19 class PndFtsPoint;
20 
26 {
27  public:
28 
30 
31  float X() const { return fX; }
32  float Y() const { return fY; }
33  float Z() const { return fZ; }
34  float Sx() const { return fSx; }
35  float Sy() const { return fSy; }
36  float Sz() const { return fSz; }
37  float Time() const { return fTime; }
38  int ISlice() const { return fISlice; }
39  int TrackID() const { return fTrackID; }
40 
41  void SetX( float v ) { fX = v; }
42  void SetY( float v ) { fY = v; }
43  void SetZ( float v ) { fZ = v; }
44  void SetSx( float v ) { fSx = v; }
45  void SetSy( float v ) { fSy = v; }
46  void SetSz( float v ) { fSz = v; }
47  void SetTime( float v ) { fTime = v; }
48  void SetISlice( int v ) { fISlice = v; }
49  void SetTrackID( int v ) { fTrackID = v; }
50 
51  static bool Compare( const PndFTSCAMCPoint &p1, const PndFTSCAMCPoint &p2 ) {
52  return ( p1.fTrackID < p2.fTrackID );
53  }
54 
55  protected:
56 
57  float fX; //* global X position
58  float fY; //* global Y position
59  float fZ; //* global Z position
60  float fSx; //* slice X position
61  float fSy; //* slice Y position
62  float fSz; //* slice Z position
63  float fTime; //* time
64  int fISlice; //* slice number
65  int fTrackID; //* mc track number
66 };
67 
68 
74 {
75  public:
76 
79 
80  void SetPoint(PndFtsPoint* ppp, Double_t qq);
82 
83  float X() const { return fX; } // global coordinates
84  float Y() const { return fY; }
85  float Z() const { return fZ; }
86  float Px() const { return fPx; }
87  float Py() const { return fPy; }
88  float Pz() const { return fPz; }
89  float QP() const { return fQP; }
90  int ISlice() const { return fISlice; }
91  int IRow() const { return fIRow; }
92  int TrackI() const { return fTrackI; }
93  int TrackID() const { return fTrackID; }
94 
95  float Angle() const { return fAngle; }
96  float Err2Z() const { return fErr2Z; }
97  float Err2Y() const { return fErr2Y; }
98 
99  void SetX( float v ) { fX = v; }
100  void SetY( float v ) { fY = v; }
101  void SetZ( float v ) { fZ = v; }
102  void SetPx( float v ) { fPx = v; }
103  void SetPy( float v ) { fPy = v; }
104  void SetPz( float v ) { fPz = v; }
105  void SetQP( float v ) { fQP = v; }
106  void SetISlice( int v ) { fISlice = v; }
107  void SetIRow( int v ) { fIRow = v; }
108  void SetTrackI( int v ) { fTrackI = v; }
109  void SetTrackID( int v ) { fTrackID = v; }
110 
111  void SetAngle( float v ) { fAngle = v; }
112  void SetErr2Z( float v ) { fErr2Z = v; }
113  void SetErr2Y( float v ) { fErr2Y = v; }
114 
115  void RotateXY( float alpha );
116 
117  static bool Compare( const PndFTSCALocalMCPoint &p1, const PndFTSCALocalMCPoint &p2 ) {
118  return ( p1.fTrackID < p2.fTrackID );
119  }
120 
123 
124 
125  protected:
126 
127  float fX; //* local X position
128  float fY; //* local Y position
129  float fZ; //* local Z position
130  float fPx; //* local momentum projection - Px
131  float fPy;
132  float fPz;
133  float fQP; //* Q/P
134 
135  float fAngle; // angle of the module
136  float fErr2Z, fErr2Y; // errors for correspondent measurement
137  int fISlice; //* slice number
138  int fIRow;
139  int fTrackI; //* mc track index
140  int fTrackID; //* mc track simulation ID
141  public:
142  std::vector<int> fHits;
143 };
144 
145 #endif
friend ostream & operator<<(ostream &out, const PndFTSCALocalMCPoint &a)
void SetISlice(int v)
float Y() const
void SetY(float v)
float Z() const
static bool Compare(const PndFTSCAMCPoint &p1, const PndFTSCAMCPoint &p2)
std::vector< int > fHits
float Sy() const
void SetAngle(float v)
void SetPoint(PndFtsPoint *ppp, Double_t qq)
void SetX(float v)
__m128 v
Definition: P4_F32vec4.h:4
void SetSx(float v)
void SetTrackID(int v)
Int_t a
Definition: anaLmdDigi.C:126
basic_ostream< char, char_traits< char > > ostream
Double_t
void SetSz(float v)
void SetErr2Y(float v)
static bool Compare(const PndFTSCALocalMCPoint &p1, const PndFTSCALocalMCPoint &p2)
float Sz() const
TFile * out
Definition: reco_muo.C:20
basic_istream< char, char_traits< char > > istream
void SetZ(float v)
TPad * p2
Definition: hist-t7.C:117
void SetSy(float v)
void RotateXY(float alpha)
friend istream & operator>>(istream &in, PndFTSCALocalMCPoint &a)
void SetErr2Z(float v)
int ISlice() const
float Sx() const
float Err2Y() const
float X() const
float Angle() const
TPad * p1
Definition: hist-t7.C:116
void SetTime(float v)
double alpha
Definition: f_Init.h:9
PndFTSCALocalMCPoint & operator=(const PndFTSCALocalMCPoint &rhs)
float Time() const
float Err2Z() const
int TrackID() const