FairRoot/PandaRoot
Functions
PndFTSCAGBHit.cxx File Reference
#include "PndFTSCAGBHit.h"
#include "PndFTSCAMath.h"
#include "PndFTSCAParameters.h"
#include "PndFTSCADef.h"

Go to the source code of this file.

Functions

ostream & operator<< (ostream &out, const PndFTSCAGBHit &a)
 
istream & operator>> (istream &in, PndFTSCAGBHit &a)
 

Function Documentation

ostream& operator<< ( ostream &  out,
const PndFTSCAGBHit a 
)

Definition at line 36 of file PndFTSCAGBHit.cxx.

References PndFTSCAGBHit::fC, PndFTSCAGBHit::fErr2X1, PndFTSCAGBHit::fErr2X2, PndFTSCAGBHit::fErrX12, PndFTSCAGBHit::fID, PndFTSCAGBHit::fIRow, PndFTSCAGBHit::fPhi, PndFTSCAGBHit::fX, PndFTSCAGBHit::fY, PndFTSCAGBHit::fZ, and out.

37 {
38 #ifdef STAR_HFT
39  out << a.fX << " " << a.fY << " " << a.fZ << std::endl
40  << a.fErr2X1 << " " << 0 << " " << a.fErr2X2 << std::endl
41 #elif defined(PANDA_STT) || defined(PANDA_FTS)
42  out << a.fX << " " << a.fY << " " << a.fZ << " " << a.fR << std::endl;
43  out << a.fC[0][0] << " " << a.fC[0][1] << " " << a.fC[0][2] << std::endl;// in global c.s.!
44  out << a.fC[1][0] << " " << a.fC[1][1] << " " << a.fC[1][2] << std::endl;
45  out << a.fC[2][0] << " " << a.fC[2][1] << " " << a.fC[2][2] << std::endl;
46  out << a.fErr2R << std::endl;
47  out << a.fTubeR << " " << a.fHalfLength << std::endl;
48  out << a.fEX << " "<< a.fEY <<" " << a.fEZ <<std::endl
49 #else
50  out << a.fX << " " << a.fY << " " << a.fZ << std::endl
51  << a.fErr2X1 << " " << a.fErrX12 << " " << a.fErr2X2 << std::endl
52 #endif
53  << a.fIRow << " " << a.fID << " " << -a.fPhi << std::endl;
54  return out;
55 }
double fC[3][3]
TFile * out
Definition: reco_muo.C:20
istream& operator>> ( istream &  in,
PndFTSCAGBHit a 
)

Definition at line 57 of file PndFTSCAGBHit.cxx.

References c, cos(), PndFTSCAGBHit::fC, PndFTSCAGBHit::fErr2X0, PndFTSCAGBHit::fErr2X1, PndFTSCAGBHit::fErr2X2, PndFTSCAGBHit::fErrX12, PndFTSCAGBHit::fID, PndFTSCAGBHit::fIRow, PndFTSCAGBHit::fPhi, PndFTSCAGBHit::fX, PndFTSCAGBHit::fY, PndFTSCAGBHit::fZ, s, and sin().

58 {
59  double tmp;
60  UNUSED_PARAM1(tmp);
61 #ifdef STAR_HFT
62  in >> a.fX >> a.fY >> a.fZ
63  >> a.fErr2X1 >> tmp >> a.fErr2X2
64  >> a.fIRow >> a.fID >> a.fPhi;
65 #elif defined(PANDA_STT) || defined(PANDA_FTS)
66  in >> a.fX >> a.fY >> a.fZ >> a.fR
67  >> a.fC[0][0] >> a.fC[0][1] >> a.fC[0][2] // in global c.s.!
68  >> a.fC[1][0] >> a.fC[1][1] >> a.fC[1][2]
69  >> a.fC[2][0] >> a.fC[2][1] >> a.fC[2][2]
70  >> a.fErr2R
71  >> a.fTubeR >> a.fHalfLength
72  >> a.fEX >> a.fEY >> a.fEZ
73  >> a.fIRow >> a.fID >> a.fPhi;
74  a.fPhi = - a.fPhi; // TODO: fix input files
75  a.fXW = a.fX;
76  a.fYW = a.fY;
77  a.fZW = a.fZ;
78 
79  // cout << " T0 " << endl;
80  // cout << a.fC[0][0] << " " << a.fC[0][1] << " " << a.fC[0][2] << endl;
81  // cout << a.fC[1][0] << " " << a.fC[1][1] << " " << a.fC[1][2] << endl;
82  // cout << a.fC[2][0] << " " << a.fC[2][1] << " " << a.fC[2][2] << endl;
83 
84 #if defined(PANDA_STT)
85 
86  const double s = sin(a.fPhi);
87  const double c = cos(a.fPhi);
88  // double T[3][3];
89  // T[0][0] = -s; T[0][1] = c; T[0][2] = 0;
90  // T[1][0] = c; T[1][1] = s; T[1][2] = 0;
91  // T[2][0] = 0; T[2][1] = 0; T[2][2] = -1;
92 
93  // double TC[3][3];
94  // TC[0][0] = T[0][0]*a.fC[0][0] + T[0][1]*a.fC[1][0] + T[0][2]*a.fC[2][0];
95  // TC[0][1] = T[0][0]*a.fC[0][1] + T[0][1]*a.fC[1][1] + T[0][2]*a.fC[2][1];
96  // TC[0][2] = T[0][0]*a.fC[0][2] + T[0][1]*a.fC[1][2] + T[0][2]*a.fC[2][2];
97  // TC[1][0] = T[1][0]*a.fC[0][0] + T[1][1]*a.fC[1][0] + T[1][2]*a.fC[2][0];
98  // TC[1][1] = T[1][0]*a.fC[0][1] + T[1][1]*a.fC[1][1] + T[1][2]*a.fC[2][1];
99  // TC[1][2] = T[1][0]*a.fC[0][2] + T[1][1]*a.fC[1][2] + T[1][2]*a.fC[2][2];
100  // TC[2][0] = T[2][0]*a.fC[0][0] + T[2][1]*a.fC[1][0] + T[2][2]*a.fC[2][0];
101  // TC[2][1] = T[2][0]*a.fC[0][1] + T[2][1]*a.fC[1][1] + T[2][2]*a.fC[2][1];
102  // TC[2][2] = T[2][0]*a.fC[0][2] + T[2][1]*a.fC[1][2] + T[2][2]*a.fC[2][2];
103 
104  // double TCT[3][3]; // local C
105  // // TCT'
106  // TCT[0][0] = TC[0][0]*T[0][0] + TC[0][1]*T[0][1] + TC[0][2]*T[0][2];
107  // TCT[0][1] = TC[0][0]*T[1][0] + TC[0][1]*T[1][1] + TC[0][2]*T[1][2];
108  // TCT[0][2] = TC[0][0]*T[2][0] + TC[0][1]*T[2][1] + TC[0][2]*T[2][2];
109  // TCT[1][0] = TC[1][0]*T[0][0] + TC[1][1]*T[0][1] + TC[1][2]*T[0][2];
110  // TCT[1][1] = TC[1][0]*T[1][0] + TC[1][1]*T[1][1] + TC[1][2]*T[1][2];
111  // TCT[1][2] = TC[1][0]*T[2][0] + TC[1][1]*T[2][1] + TC[1][2]*T[2][2];
112  // TCT[2][0] = TC[2][0]*T[0][0] + TC[2][1]*T[0][1] + TC[2][2]*T[0][2];
113  // TCT[2][1] = TC[2][0]*T[1][0] + TC[2][1]*T[1][1] + TC[2][2]*T[1][2];
114  // TCT[2][2] = TC[2][0]*T[2][0] + TC[2][1]*T[2][1] + TC[2][2]*T[2][2];
115 
116  // // cout << " T1 " << endl;
117  // // cout << TCT[0][0] << " " << TCT[0][1] << " " << TCT[0][2] << endl;
118  // // cout << TCT[1][0] << " " << TCT[1][1] << " " << TCT[1][2] << endl;
119  // // cout << TCT[2][0] << " " << TCT[2][1] << " " << TCT[2][2] << endl;
120 
121  // double x,y,z;
122  // PndFTSCAParameters::GlobalToCALocal( a.fEX, a.fEY, a.fEZ, a.fPhi, x, y, z );
123  // // cout << " A " << x << " " << y << " " << z << endl;
124  // double T2[3][3];
125  // T2[0][0] = 1; T2[0][1] = 0; T2[0][2] = 0;
126  // T2[1][0] = 0; T2[1][1] = z; T2[1][2] = -y;
127  // T2[2][0] = 0; T2[2][1] = y; T2[2][2] = z;
128 
129  // TC[0][0] = T2[0][0]*TCT[0][0] + T2[0][1]*TCT[1][0] + T2[0][2]*TCT[2][0];
130  // TC[0][1] = T2[0][0]*TCT[0][1] + T2[0][1]*TCT[1][1] + T2[0][2]*TCT[2][1];
131  // TC[0][2] = T2[0][0]*TCT[0][2] + T2[0][1]*TCT[1][2] + T2[0][2]*TCT[2][2];
132  // TC[1][0] = T2[1][0]*TCT[0][0] + T2[1][1]*TCT[1][0] + T2[1][2]*TCT[2][0];
133  // TC[1][1] = T2[1][0]*TCT[0][1] + T2[1][1]*TCT[1][1] + T2[1][2]*TCT[2][1];
134  // TC[1][2] = T2[1][0]*TCT[0][2] + T2[1][1]*TCT[1][2] + T2[1][2]*TCT[2][2];
135  // TC[2][0] = T2[2][0]*TCT[0][0] + T2[2][1]*TCT[1][0] + T2[2][2]*TCT[2][0];
136  // TC[2][1] = T2[2][0]*TCT[0][1] + T2[2][1]*TCT[1][1] + T2[2][2]*TCT[2][1];
137  // TC[2][2] = T2[2][0]*TCT[0][2] + T2[2][1]*TCT[1][2] + T2[2][2]*TCT[2][2];
138 
139  // TCT[0][0] = TC[0][0]*T2[0][0] + TC[0][1]*T2[0][1] + TC[0][2]*T2[0][2];
140  // TCT[0][1] = TC[0][0]*T2[1][0] + TC[0][1]*T2[1][1] + TC[0][2]*T2[1][2];
141  // TCT[0][2] = TC[0][0]*T2[2][0] + TC[0][1]*T2[2][1] + TC[0][2]*T2[2][2];
142  // TCT[1][0] = TC[1][0]*T2[0][0] + TC[1][1]*T2[0][1] + TC[1][2]*T2[0][2];
143  // TCT[1][1] = TC[1][0]*T2[1][0] + TC[1][1]*T2[1][1] + TC[1][2]*T2[1][2];
144  // TCT[1][2] = TC[1][0]*T2[2][0] + TC[1][1]*T2[2][1] + TC[1][2]*T2[2][2];
145  // TCT[2][0] = TC[2][0]*T2[0][0] + TC[2][1]*T2[0][1] + TC[2][2]*T2[0][2];
146  // TCT[2][1] = TC[2][0]*T2[1][0] + TC[2][1]*T2[1][1] + TC[2][2]*T2[1][2];
147  // TCT[2][2] = TC[2][0]*T2[2][0] + TC[2][1]*T2[2][1] + TC[2][2]*T2[2][2];
148 
149  // cout << " T2 " << endl;
150  // cout << TCT[0][0] << " " << TCT[0][1] << " " << TCT[0][2] << endl;
151  // cout << TCT[1][0] << " " << TCT[1][1] << " " << TCT[1][2] << endl;
152  // cout << TCT[2][0] << " " << TCT[2][1] << " " << TCT[2][2] << endl;
153 
154  // const float s = y;
155  // const float c = z;
156 
157  // const float s = sin( a.fPhi );
158  // const float c = cos( a.fPhi );
159  // T = sA cA
160  // cA -sA
161  a.fErr2X0 = s*s*a.fC[0][0] + 2*s*c*a.fC[0][1] + c*c*a.fC[1][1];
162  //a.fErrX01 = c*s*(a.fC[1][1] - a.fC[0][0]) + (c*c - s*s)*a.fC[0][1];
163  a.fErr2X1 = c*c*a.fC[0][0] - 2*s*c*a.fC[0][1] + s*s*a.fC[1][1];
164  a.fErrX12 = -(c*a.fC[0][2] - s*a.fC[1][2]);
165 
166  a.fErr2X2 = a.fC[2][2];
167 #else // FTS
168  a.fErr2X0 = a.fC[2][2];
169  a.fErr2X1 = a.fC[0][0];
170  a.fErrX12 = a.fC[0][1];
171 
172  a.fErr2X2 = a.fC[1][1];
173 #endif
174 #elif defined(ALICE_ITS)
175  in >> a.fX >> a.fY >> a.fZ
176  >> a.fErr2X1 >> a.fErrX12 >> a.fErr2X2
177  >> a.fIRow >> a.fID >> a.fPhi;
178 
179 #else
180  in >> a.fX >> a.fY >> a.fZ
181  >> a.fErr2X1 >> a.fErrX12 >> a.fErr2X2
182  >> a.fIRow >> a.fID >> a.fPhi;
183 #endif
184  return in;
185 }
friend F32vec4 cos(const F32vec4 &a)
Definition: P4_F32vec4.h:112
double fC[3][3]
friend F32vec4 sin(const F32vec4 &a)
Definition: P4_F32vec4.h:111
TLorentzVector s
Definition: Pnd2DStar.C:50