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