| 61 |
if ( !OrbitalInfoTrk ) OrbitalInfoTrk = new TClonesArray("OrbitalInfoTrkVar",2); //ELENA} |
if ( !OrbitalInfoTrk ) OrbitalInfoTrk = new TClonesArray("OrbitalInfoTrkVar",2); //ELENA} |
| 62 |
// if ( !Iij ) Iij = new TMatrixD(3,3); |
// if ( !Iij ) Iij = new TMatrixD(3,3); |
| 63 |
}//ELENA |
}//ELENA |
| 64 |
|
//-------------------------------------- |
| 65 |
|
// |
| 66 |
|
// |
| 67 |
|
//-------------------------------------- |
| 68 |
|
void OrbitalInfo::SetTrackArray(TClonesArray *track){//ELENA |
| 69 |
|
// if(track && strcmp(track->GetClass()->GetName(),"OrbitalInfoTrkVar")==0){ |
| 70 |
|
if(OrbitalInfoTrk)OrbitalInfoTrk->Clear("C"); |
| 71 |
|
OrbitalInfoTrk = track; |
| 72 |
|
// } |
| 73 |
|
} |
| 74 |
|
|
| 75 |
OrbitalInfoTrkVar *OrbitalInfo::GetOrbitalInfoTrkVar(Int_t itrk){ |
OrbitalInfoTrkVar *OrbitalInfo::GetOrbitalInfoTrkVar(Int_t itrk){ |
| 76 |
// |
// |
| 85 |
OrbitalInfoTrkVar *orbtrack = (OrbitalInfoTrkVar*)t[itrk]; |
OrbitalInfoTrkVar *orbtrack = (OrbitalInfoTrkVar*)t[itrk]; |
| 86 |
return orbtrack; |
return orbtrack; |
| 87 |
} |
} |
| 88 |
|
/** |
| 89 |
|
* Retrieves the tof track matching the seqno-th tracker stored track. |
| 90 |
|
* |
| 91 |
|
*/ |
| 92 |
|
OrbitalInfoTrkVar *OrbitalInfo::GetOrbitalInfoStoredTrack(int seqno){ |
| 93 |
|
|
| 94 |
|
if( ntrk()==0 ){ |
| 95 |
|
printf("OrbitalInfo::GetOrbitalInfoStoredTrack(int) : requested tracker SeqNo %i but no OrbitalInforimeter tracks are stored\n",seqno); |
| 96 |
|
return NULL; |
| 97 |
|
}; |
| 98 |
|
|
| 99 |
|
OrbitalInfoTrkVar *c = 0; |
| 100 |
|
Int_t it_tof=0; |
| 101 |
|
|
| 102 |
|
do { |
| 103 |
|
c = GetOrbitalInfoTrkVar(it_tof); |
| 104 |
|
it_tof++; |
| 105 |
|
} while( c && seqno != c->trkseqno && it_tof < ntrk()); |
| 106 |
|
|
| 107 |
|
if(!c || seqno != c->trkseqno){ |
| 108 |
|
c = 0; |
| 109 |
|
if(seqno!=-1 ) printf("OrbitalInfo::GetOrbitalInfoStoredTrack(int) : requested tracker SeqNo %i does not match OrbitalInfo stored tracks\n",seqno); |
| 110 |
|
}; |
| 111 |
|
return c; |
| 112 |
|
|
| 113 |
|
} |
| 114 |
|
|
| 115 |
void OrbitalInfo::Clear(Option_t *t){ |
void OrbitalInfo::Clear(Option_t *t){ |
| 116 |
// |
// |
| 157 |
qkind = -1000; |
qkind = -1000; |
| 158 |
errq = -1000; |
errq = -1000; |
| 159 |
azim = -1000; |
azim = -1000; |
| 160 |
|
rtqual =-1000; |
| 161 |
// std::fill_n(goodAttitude, 5, 0); |
// std::fill_n(goodAttitude, 5, 0); |
| 162 |
} |
} |
| 163 |
|
|
| 203 |
l2->qkind = qkind; |
l2->qkind = qkind; |
| 204 |
l2->errq = errq; |
l2->errq = errq; |
| 205 |
l2->azim = azim; |
l2->azim = azim; |
| 206 |
|
l2->rtqual=rtqual; |
| 207 |
|
|
| 208 |
|
l2->Iij=Iij; |
| 209 |
|
|
| 210 |
// memcpy(l2->goodAttitude, goodAttitude, sizeof(goodAttitude)); |
// memcpy(l2->goodAttitude, goodAttitude, sizeof(goodAttitude)); |
| 211 |
} |
} |
| 220 |
alt = l2->alt; |
alt = l2->alt; |
| 221 |
V = l2->V; |
V = l2->V; |
| 222 |
|
|
| 223 |
l2->Bnorth = Bnorth; |
Bnorth = l2->Bnorth; |
| 224 |
l2->Beast = Beast; |
Beast = l2->Beast; |
| 225 |
l2->Bdown = Bdown; |
Bdown = l2->Bdown; |
| 226 |
l2->Babs = Babs; |
Babs = l2->Babs; |
| 227 |
M = l2->M; |
M = l2->M; |
| 228 |
BB0 = l2->BB0; |
BB0 = l2->BB0; |
| 229 |
L = l2->L; |
L = l2->L; |
| 249 |
qkind = l2->qkind; |
qkind = l2->qkind; |
| 250 |
errq = l2->errq; |
errq = l2->errq; |
| 251 |
azim = l2->azim; |
azim = l2->azim; |
| 252 |
|
rtqual=l2->rtqual; |
| 253 |
|
|
| 254 |
|
Iij=l2->Iij; |
| 255 |
|
|
| 256 |
// memcpy(goodAttitude, l2->goodAttitude, sizeof(l2->goodAttitude)); |
// memcpy(goodAttitude, l2->goodAttitude, sizeof(l2->goodAttitude)); |
| 257 |
} |
} |