#include "AliHLTTrackGeometry.h"
#include "AliHLTSpacePointContainer.h"
#include "TObjArray.h"
#include "TMarker.h"
#include "TMath.h"
#include "TH2.h"
#include <memory>
#include <iostream>
#include <algorithm>
ClassImp(AliHLTTrackGeometry)
AliHLTTrackGeometry::AliHLTTrackGeometry()
: TObject(), AliHLTLogging()
, fTrackPoints()
, fSelectionMasks()
, fTrackId(-1)
, fVerbosity(0)
{
}
AliHLTTrackGeometry::AliHLTTrackGeometry(const AliHLTTrackGeometry& src)
: TObject(src), AliHLTLogging()
, fTrackPoints(src.fTrackPoints)
, fSelectionMasks(src.fSelectionMasks)
, fTrackId(src.fTrackId)
, fVerbosity(src.fVerbosity)
{
}
AliHLTTrackGeometry& AliHLTTrackGeometry::operator=(const AliHLTTrackGeometry& src)
{
if (this!=&src) {
fTrackPoints.assign(src.fTrackPoints.begin(), src.fTrackPoints.end());
fSelectionMasks.assign(src.fSelectionMasks.begin(), src.fSelectionMasks.end());
fTrackId=src.fTrackId;
fVerbosity=src.fVerbosity;
}
return *this;
}
AliHLTTrackGeometry::~AliHLTTrackGeometry()
{
}
int AliHLTTrackGeometry::AddTrackPoint(const AliHLTTrackPoint& point, AliHLTUInt32_t selectionMask)
{
vector<AliHLTTrackPoint>::const_iterator element = find(fTrackPoints.begin(), fTrackPoints.end(), point);
if (element==fTrackPoints.end()) {
fTrackPoints.push_back(point);
if (std::find(fSelectionMasks.begin(), fSelectionMasks.end(), selectionMask)==fSelectionMasks.end()) {
fSelectionMasks.push_back(selectionMask);
}
} else {
HLTError("track point of id %08x already existing", point.GetId());
return -EEXIST;
}
return 0;
}
void AliHLTTrackGeometry::Clear(Option_t * )
{
}
void AliHLTTrackGeometry::Print(Option_t *option) const
{
Print(cout, option);
}
void AliHLTTrackGeometry::Print(ostream& out, Option_t *) const
{
out << "AliHLTTrackGeometry::Print" << endl;
}
void AliHLTTrackGeometry::Draw(Option_t *option)
{
float scale=250;
float center[2]={0.5,0.5};
int markerColor=1;
int markerSize=1;
int verbosity=0;
TString strOption(option);
std::auto_ptr<TObjArray> tokens(strOption.Tokenize(" "));
if (!tokens.get()) return;
for (int i=0; i<tokens->GetEntriesFast(); i++) {
if (!tokens->At(i)) continue;
const char* key="";
TString arg=tokens->At(i)->GetName();
key="scale=";
if (arg.BeginsWith(key)) {
arg.ReplaceAll(key, "");
scale=arg.Atof();
continue;
}
key="centerx=";
if (arg.BeginsWith(key)) {
arg.ReplaceAll(key, "");
center[0]=arg.Atof();
continue;
}
key="centery=";
if (arg.BeginsWith(key)) {
arg.ReplaceAll(key, "");
center[1]=arg.Atof();
continue;
}
key="markercolor=";
if (arg.BeginsWith(key)) {
arg.ReplaceAll(key, "");
markerColor=arg.Atoi();
continue;
}
key="markersize=";
if (arg.BeginsWith(key)) {
arg.ReplaceAll(key, "");
markerSize=arg.Atoi();
continue;
}
key="verbosity=";
if (arg.BeginsWith(key)) {
arg.ReplaceAll(key, "");
verbosity=arg.Atoi();
continue;
}
}
bool bFirstPoint=true;
float firstalpha=0.0;
for (vector<AliHLTTrackPoint>::const_iterator point=fTrackPoints.begin();
point!=fTrackPoints.end();
point++) {
float alpha=GetPlaneAlpha(point->GetId());
float r=GetPlaneR(point->GetId());
float cosa=TMath::Cos(alpha);
float sina=TMath::Sin(alpha);
float x = r*sina + point->GetU()*cosa;
float y =-r*cosa + point->GetU()*sina;
if (verbosity>0) {
HLTInfo("ID 0x%08x: x=% .4f y=% .4f alpha=% .4f", point->GetId(), r, point->GetU(), alpha);
}
int color=markerColor;
if (bFirstPoint) {
bFirstPoint=false;
TMarker* m=new TMarker(x/(2*scale)+center[0], y/(2*scale)+center[1], 29);
m->SetMarkerSize(2);
m->SetMarkerColor(2);
m->Draw("same");
firstalpha=alpha;
} else {
color+=int(9*TMath::Abs(alpha-firstalpha)/TMath::Pi());
}
TMarker* m=new TMarker(x/(2*scale)+center[0], y/(2*scale)+center[1], point->GetV()>0?2:5);
m->SetMarkerColor(color);
m->SetMarkerSize(markerSize);
m->Draw("same");
}
}
int AliHLTTrackGeometry::SetAssociatedSpacePoint(UInt_t planeId, UInt_t spacepointId, int , float dU, float dV)
{
vector<AliHLTTrackPoint>::iterator element = find(fTrackPoints.begin(), fTrackPoints.end(), planeId);
if (element==fTrackPoints.end()) return -ENOENT;
element->AddAssociatedSpacePoint(spacepointId, dU, dV);
return 0;
}
int AliHLTTrackGeometry::GetAssociatedSpacePoint(UInt_t planeId, UInt_t& spacepointId) const
{
vector<AliHLTTrackPoint>::const_iterator element = find(fTrackPoints.begin(), fTrackPoints.end(), planeId);
if (element==fTrackPoints.end()) return -ENOENT;
if (!element->HaveAssociatedSpacePoint()) return -ENODATA;
spacepointId=(element->GetSpacepoints())[0].fId;
return 0;
}
int AliHLTTrackGeometry::RegisterTrackPoints(AliHLTTrackGrid* ) const
{
return -ENOSYS;
}
int AliHLTTrackGeometry::FillTrackPoints(AliHLTTrackGrid* ) const
{
return -ENOSYS;
}
const AliHLTTrackGeometry::AliHLTTrackPoint* AliHLTTrackGeometry::GetTrackPoint(AliHLTUInt32_t id) const
{
vector<AliHLTTrackPoint>::const_iterator element = find(fTrackPoints.begin(), fTrackPoints.end(), id);
if (element==fTrackPoints.end()) return NULL;
return &(*element);
}
AliHLTTrackGeometry::AliHLTTrackPoint* AliHLTTrackGeometry::GetTrackPoint(AliHLTUInt32_t id)
{
vector<AliHLTTrackPoint>::iterator element = find(fTrackPoints.begin(), fTrackPoints.end(), id);
if (element==fTrackPoints.end()) return NULL;
return &(*element);
}
AliHLTSpacePointContainer* AliHLTTrackGeometry::ConvertToSpacePoints(bool ) const
{
HLTError("implementation of child method missing");
return NULL;
}
int AliHLTTrackGeometry::AssociateSpacePoints(AliHLTSpacePointContainer& points)
{
vector<AliHLTUInt32_t> ids;
points.GetClusterIDs(ids);
if (ids.size()>0) return 0;
int result=AssociateSpacePoints(&ids[0], ids.size(), points);
if (result>0) {
HLTInfo("associated %d of %d space point(s) to track points", result, ids.size());
}
return result;
}
int AliHLTTrackGeometry::AssociateSpacePoints(const AliHLTUInt32_t* trackpoints, AliHLTUInt32_t nofPoints, AliHLTSpacePointContainer& points)
{
if (nofPoints==0) return 0;
if (trackpoints==NULL) return -EINVAL;
int count=0;
for (int i=nofPoints-1; i>=0; i--) {
if (!points.Check(trackpoints[i])) {
HLTWarning("can not find point id %08x", trackpoints[i]);
continue;
}
float xyz[3]={points.GetX(trackpoints[i]), points.GetY(trackpoints[i]), points.GetZ(trackpoints[i])};
AliHLTUInt32_t planeId=0;
int result=FindMatchingTrackPoint(trackpoints[i], xyz, planeId);
if (result<0) {
if (GetVerbosity()>0) HLTWarning("no associated track point found for space point id %08x x=%f y=%f z=%f", trackpoints[i], xyz[0], xyz[1], xyz[2]);
continue;
} else if (result==0) {
HLTWarning("associated track point for space pointid %08x x=%f y=%f z=%f occupied", trackpoints[i], xyz[0], xyz[1], xyz[2]);
continue;
}
vector<AliHLTTrackPoint>::const_iterator element = find(fTrackPoints.begin(), fTrackPoints.end(), planeId);
SetAssociatedSpacePoint(planeId, trackpoints[i], 1, xyz[1]-element->GetU(), xyz[2]-element->GetV());
if (points.GetTrackID(trackpoints[i])<0 && GetTrackId()>=0) {
points.SetTrackID(GetTrackId(), trackpoints[i]);
HLTDebug("associating unused cluster %08x with track %d", trackpoints[i], GetTrackId());
}
count++;
}
return count;
}
int AliHLTTrackGeometry::AssociateUnusedSpacePoints(AliHLTSpacePointContainer& points)
{
int count=0;
for (vector<AliHLTUInt32_t>::iterator mask=fSelectionMasks.begin();
mask!=fSelectionMasks.end(); mask++) {
int subcount=0;
const vector<AliHLTUInt32_t>* selectedPoints=points.GetClusterIDs(*mask);
if (!selectedPoints) {
HLTWarning("space point collection does not contain data for mask 0x%08x", *mask);
continue;
}
for (vector<AliHLTUInt32_t>::const_iterator id=selectedPoints->begin();
id!=selectedPoints->end(); id++) {
if (points.GetTrackID(*id)>=0) continue;
float xyz[3]={points.GetX(*id), points.GetY(*id), points.GetZ(*id)};
AliHLTUInt32_t planeId=0;
int result=FindMatchingTrackPoint(*id, xyz, planeId);
if (result<0) {
continue;
} else if (result==0) {
continue;
}
SetAssociatedSpacePoint(planeId, *id, 1);
if (points.GetTrackID(*id)<0 && GetTrackId()>=0) {
points.SetTrackID(GetTrackId(), *id);
HLTDebug("associating unused cluster %08x with track %d", *id, GetTrackId());
}
subcount++;
}
if (fVerbosity>0) {
HLTInfo("associated %d of %d spacepoint(s) from selection 0x%08x to track %d",
subcount, selectedPoints->size(), *mask, GetTrackId());
}
count+=subcount;
}
return count;
}
int AliHLTTrackGeometry::FillResidual(int coordinate, TH2* histo) const
{
const vector<AliHLTTrackPoint>& trackPoints=TrackPoints();
for (vector<AliHLTTrackPoint>::const_iterator trackpoint=trackPoints.begin();
trackpoint!=trackPoints.end(); trackpoint++) {
if (!trackpoint->HaveAssociatedSpacePoint()) continue;
for (vector<AliHLTTrackSpacepoint>::const_iterator sp=(trackpoint->GetSpacepoints()).begin();
sp!=(trackpoint->GetSpacepoints()).end(); sp++) {
histo->Fill(GetPlaneR(trackpoint->GetId()), sp->GetResidual(coordinate));
}
}
return 0;
}
ostream& operator<<(ostream &out, const AliHLTTrackGeometry& p)
{
p.Print(out);
return out;
}
AliHLTTrackGeometry.cxx:1 AliHLTTrackGeometry.cxx:2 AliHLTTrackGeometry.cxx:3 AliHLTTrackGeometry.cxx:4 AliHLTTrackGeometry.cxx:5 AliHLTTrackGeometry.cxx:6 AliHLTTrackGeometry.cxx:7 AliHLTTrackGeometry.cxx:8 AliHLTTrackGeometry.cxx:9 AliHLTTrackGeometry.cxx:10 AliHLTTrackGeometry.cxx:11 AliHLTTrackGeometry.cxx:12 AliHLTTrackGeometry.cxx:13 AliHLTTrackGeometry.cxx:14 AliHLTTrackGeometry.cxx:15 AliHLTTrackGeometry.cxx:16 AliHLTTrackGeometry.cxx:17 AliHLTTrackGeometry.cxx:18 AliHLTTrackGeometry.cxx:19 AliHLTTrackGeometry.cxx:20 AliHLTTrackGeometry.cxx:21 AliHLTTrackGeometry.cxx:22 AliHLTTrackGeometry.cxx:23 AliHLTTrackGeometry.cxx:24 AliHLTTrackGeometry.cxx:25 AliHLTTrackGeometry.cxx:26 AliHLTTrackGeometry.cxx:27 AliHLTTrackGeometry.cxx:28 AliHLTTrackGeometry.cxx:29 AliHLTTrackGeometry.cxx:30 AliHLTTrackGeometry.cxx:31 AliHLTTrackGeometry.cxx:32 AliHLTTrackGeometry.cxx:33 AliHLTTrackGeometry.cxx:34 AliHLTTrackGeometry.cxx:35 AliHLTTrackGeometry.cxx:36 AliHLTTrackGeometry.cxx:37 AliHLTTrackGeometry.cxx:38 AliHLTTrackGeometry.cxx:39 AliHLTTrackGeometry.cxx:40 AliHLTTrackGeometry.cxx:41 AliHLTTrackGeometry.cxx:42 AliHLTTrackGeometry.cxx:43 AliHLTTrackGeometry.cxx:44 AliHLTTrackGeometry.cxx:45 AliHLTTrackGeometry.cxx:46 AliHLTTrackGeometry.cxx:47 AliHLTTrackGeometry.cxx:48 AliHLTTrackGeometry.cxx:49 AliHLTTrackGeometry.cxx:50 AliHLTTrackGeometry.cxx:51 AliHLTTrackGeometry.cxx:52 AliHLTTrackGeometry.cxx:53 AliHLTTrackGeometry.cxx:54 AliHLTTrackGeometry.cxx:55 AliHLTTrackGeometry.cxx:56 AliHLTTrackGeometry.cxx:57 AliHLTTrackGeometry.cxx:58 AliHLTTrackGeometry.cxx:59 AliHLTTrackGeometry.cxx:60 AliHLTTrackGeometry.cxx:61 AliHLTTrackGeometry.cxx:62 AliHLTTrackGeometry.cxx:63 AliHLTTrackGeometry.cxx:64 AliHLTTrackGeometry.cxx:65 AliHLTTrackGeometry.cxx:66 AliHLTTrackGeometry.cxx:67 AliHLTTrackGeometry.cxx:68 AliHLTTrackGeometry.cxx:69 AliHLTTrackGeometry.cxx:70 AliHLTTrackGeometry.cxx:71 AliHLTTrackGeometry.cxx:72 AliHLTTrackGeometry.cxx:73 AliHLTTrackGeometry.cxx:74 AliHLTTrackGeometry.cxx:75 AliHLTTrackGeometry.cxx:76 AliHLTTrackGeometry.cxx:77 AliHLTTrackGeometry.cxx:78 AliHLTTrackGeometry.cxx:79 AliHLTTrackGeometry.cxx:80 AliHLTTrackGeometry.cxx:81 AliHLTTrackGeometry.cxx:82 AliHLTTrackGeometry.cxx:83 AliHLTTrackGeometry.cxx:84 AliHLTTrackGeometry.cxx:85 AliHLTTrackGeometry.cxx:86 AliHLTTrackGeometry.cxx:87 AliHLTTrackGeometry.cxx:88 AliHLTTrackGeometry.cxx:89 AliHLTTrackGeometry.cxx:90 AliHLTTrackGeometry.cxx:91 AliHLTTrackGeometry.cxx:92 AliHLTTrackGeometry.cxx:93 AliHLTTrackGeometry.cxx:94 AliHLTTrackGeometry.cxx:95 AliHLTTrackGeometry.cxx:96 AliHLTTrackGeometry.cxx:97 AliHLTTrackGeometry.cxx:98 AliHLTTrackGeometry.cxx:99 AliHLTTrackGeometry.cxx:100 AliHLTTrackGeometry.cxx:101 AliHLTTrackGeometry.cxx:102 AliHLTTrackGeometry.cxx:103 AliHLTTrackGeometry.cxx:104 AliHLTTrackGeometry.cxx:105 AliHLTTrackGeometry.cxx:106 AliHLTTrackGeometry.cxx:107 AliHLTTrackGeometry.cxx:108 AliHLTTrackGeometry.cxx:109 AliHLTTrackGeometry.cxx:110 AliHLTTrackGeometry.cxx:111 AliHLTTrackGeometry.cxx:112 AliHLTTrackGeometry.cxx:113 AliHLTTrackGeometry.cxx:114 AliHLTTrackGeometry.cxx:115 AliHLTTrackGeometry.cxx:116 AliHLTTrackGeometry.cxx:117 AliHLTTrackGeometry.cxx:118 AliHLTTrackGeometry.cxx:119 AliHLTTrackGeometry.cxx:120 AliHLTTrackGeometry.cxx:121 AliHLTTrackGeometry.cxx:122 AliHLTTrackGeometry.cxx:123 AliHLTTrackGeometry.cxx:124 AliHLTTrackGeometry.cxx:125 AliHLTTrackGeometry.cxx:126 AliHLTTrackGeometry.cxx:127 AliHLTTrackGeometry.cxx:128 AliHLTTrackGeometry.cxx:129 AliHLTTrackGeometry.cxx:130 AliHLTTrackGeometry.cxx:131 AliHLTTrackGeometry.cxx:132 AliHLTTrackGeometry.cxx:133 AliHLTTrackGeometry.cxx:134 AliHLTTrackGeometry.cxx:135 AliHLTTrackGeometry.cxx:136 AliHLTTrackGeometry.cxx:137 AliHLTTrackGeometry.cxx:138 AliHLTTrackGeometry.cxx:139 AliHLTTrackGeometry.cxx:140 AliHLTTrackGeometry.cxx:141 AliHLTTrackGeometry.cxx:142 AliHLTTrackGeometry.cxx:143 AliHLTTrackGeometry.cxx:144 AliHLTTrackGeometry.cxx:145 AliHLTTrackGeometry.cxx:146 AliHLTTrackGeometry.cxx:147 AliHLTTrackGeometry.cxx:148 AliHLTTrackGeometry.cxx:149 AliHLTTrackGeometry.cxx:150 AliHLTTrackGeometry.cxx:151 AliHLTTrackGeometry.cxx:152 AliHLTTrackGeometry.cxx:153 AliHLTTrackGeometry.cxx:154 AliHLTTrackGeometry.cxx:155 AliHLTTrackGeometry.cxx:156 AliHLTTrackGeometry.cxx:157 AliHLTTrackGeometry.cxx:158 AliHLTTrackGeometry.cxx:159 AliHLTTrackGeometry.cxx:160 AliHLTTrackGeometry.cxx:161 AliHLTTrackGeometry.cxx:162 AliHLTTrackGeometry.cxx:163 AliHLTTrackGeometry.cxx:164 AliHLTTrackGeometry.cxx:165 AliHLTTrackGeometry.cxx:166 AliHLTTrackGeometry.cxx:167 AliHLTTrackGeometry.cxx:168 AliHLTTrackGeometry.cxx:169 AliHLTTrackGeometry.cxx:170 AliHLTTrackGeometry.cxx:171 AliHLTTrackGeometry.cxx:172 AliHLTTrackGeometry.cxx:173 AliHLTTrackGeometry.cxx:174 AliHLTTrackGeometry.cxx:175 AliHLTTrackGeometry.cxx:176 AliHLTTrackGeometry.cxx:177 AliHLTTrackGeometry.cxx:178 AliHLTTrackGeometry.cxx:179 AliHLTTrackGeometry.cxx:180 AliHLTTrackGeometry.cxx:181 AliHLTTrackGeometry.cxx:182 AliHLTTrackGeometry.cxx:183 AliHLTTrackGeometry.cxx:184 AliHLTTrackGeometry.cxx:185 AliHLTTrackGeometry.cxx:186 AliHLTTrackGeometry.cxx:187 AliHLTTrackGeometry.cxx:188 AliHLTTrackGeometry.cxx:189 AliHLTTrackGeometry.cxx:190 AliHLTTrackGeometry.cxx:191 AliHLTTrackGeometry.cxx:192 AliHLTTrackGeometry.cxx:193 AliHLTTrackGeometry.cxx:194 AliHLTTrackGeometry.cxx:195 AliHLTTrackGeometry.cxx:196 AliHLTTrackGeometry.cxx:197 AliHLTTrackGeometry.cxx:198 AliHLTTrackGeometry.cxx:199 AliHLTTrackGeometry.cxx:200 AliHLTTrackGeometry.cxx:201 AliHLTTrackGeometry.cxx:202 AliHLTTrackGeometry.cxx:203 AliHLTTrackGeometry.cxx:204 AliHLTTrackGeometry.cxx:205 AliHLTTrackGeometry.cxx:206 AliHLTTrackGeometry.cxx:207 AliHLTTrackGeometry.cxx:208 AliHLTTrackGeometry.cxx:209 AliHLTTrackGeometry.cxx:210 AliHLTTrackGeometry.cxx:211 AliHLTTrackGeometry.cxx:212 AliHLTTrackGeometry.cxx:213 AliHLTTrackGeometry.cxx:214 AliHLTTrackGeometry.cxx:215 AliHLTTrackGeometry.cxx:216 AliHLTTrackGeometry.cxx:217 AliHLTTrackGeometry.cxx:218 AliHLTTrackGeometry.cxx:219 AliHLTTrackGeometry.cxx:220 AliHLTTrackGeometry.cxx:221 AliHLTTrackGeometry.cxx:222 AliHLTTrackGeometry.cxx:223 AliHLTTrackGeometry.cxx:224 AliHLTTrackGeometry.cxx:225 AliHLTTrackGeometry.cxx:226 AliHLTTrackGeometry.cxx:227 AliHLTTrackGeometry.cxx:228 AliHLTTrackGeometry.cxx:229 AliHLTTrackGeometry.cxx:230 AliHLTTrackGeometry.cxx:231 AliHLTTrackGeometry.cxx:232 AliHLTTrackGeometry.cxx:233 AliHLTTrackGeometry.cxx:234 AliHLTTrackGeometry.cxx:235 AliHLTTrackGeometry.cxx:236 AliHLTTrackGeometry.cxx:237 AliHLTTrackGeometry.cxx:238 AliHLTTrackGeometry.cxx:239 AliHLTTrackGeometry.cxx:240 AliHLTTrackGeometry.cxx:241 AliHLTTrackGeometry.cxx:242 AliHLTTrackGeometry.cxx:243 AliHLTTrackGeometry.cxx:244 AliHLTTrackGeometry.cxx:245 AliHLTTrackGeometry.cxx:246 AliHLTTrackGeometry.cxx:247 AliHLTTrackGeometry.cxx:248 AliHLTTrackGeometry.cxx:249 AliHLTTrackGeometry.cxx:250 AliHLTTrackGeometry.cxx:251 AliHLTTrackGeometry.cxx:252 AliHLTTrackGeometry.cxx:253 AliHLTTrackGeometry.cxx:254 AliHLTTrackGeometry.cxx:255 AliHLTTrackGeometry.cxx:256 AliHLTTrackGeometry.cxx:257 AliHLTTrackGeometry.cxx:258 AliHLTTrackGeometry.cxx:259 AliHLTTrackGeometry.cxx:260 AliHLTTrackGeometry.cxx:261 AliHLTTrackGeometry.cxx:262 AliHLTTrackGeometry.cxx:263 AliHLTTrackGeometry.cxx:264 AliHLTTrackGeometry.cxx:265 AliHLTTrackGeometry.cxx:266 AliHLTTrackGeometry.cxx:267 AliHLTTrackGeometry.cxx:268 AliHLTTrackGeometry.cxx:269 AliHLTTrackGeometry.cxx:270 AliHLTTrackGeometry.cxx:271 AliHLTTrackGeometry.cxx:272 AliHLTTrackGeometry.cxx:273 AliHLTTrackGeometry.cxx:274 AliHLTTrackGeometry.cxx:275 AliHLTTrackGeometry.cxx:276 AliHLTTrackGeometry.cxx:277 AliHLTTrackGeometry.cxx:278 AliHLTTrackGeometry.cxx:279 AliHLTTrackGeometry.cxx:280 AliHLTTrackGeometry.cxx:281 AliHLTTrackGeometry.cxx:282 AliHLTTrackGeometry.cxx:283 AliHLTTrackGeometry.cxx:284 AliHLTTrackGeometry.cxx:285 AliHLTTrackGeometry.cxx:286 AliHLTTrackGeometry.cxx:287 AliHLTTrackGeometry.cxx:288 AliHLTTrackGeometry.cxx:289 AliHLTTrackGeometry.cxx:290 AliHLTTrackGeometry.cxx:291 AliHLTTrackGeometry.cxx:292 AliHLTTrackGeometry.cxx:293 AliHLTTrackGeometry.cxx:294 AliHLTTrackGeometry.cxx:295 AliHLTTrackGeometry.cxx:296 AliHLTTrackGeometry.cxx:297 AliHLTTrackGeometry.cxx:298 AliHLTTrackGeometry.cxx:299 AliHLTTrackGeometry.cxx:300 AliHLTTrackGeometry.cxx:301 AliHLTTrackGeometry.cxx:302 AliHLTTrackGeometry.cxx:303 AliHLTTrackGeometry.cxx:304 AliHLTTrackGeometry.cxx:305 AliHLTTrackGeometry.cxx:306 AliHLTTrackGeometry.cxx:307 AliHLTTrackGeometry.cxx:308 AliHLTTrackGeometry.cxx:309 AliHLTTrackGeometry.cxx:310 AliHLTTrackGeometry.cxx:311 AliHLTTrackGeometry.cxx:312 AliHLTTrackGeometry.cxx:313 AliHLTTrackGeometry.cxx:314 AliHLTTrackGeometry.cxx:315 AliHLTTrackGeometry.cxx:316 AliHLTTrackGeometry.cxx:317 AliHLTTrackGeometry.cxx:318 AliHLTTrackGeometry.cxx:319 AliHLTTrackGeometry.cxx:320 AliHLTTrackGeometry.cxx:321 AliHLTTrackGeometry.cxx:322 AliHLTTrackGeometry.cxx:323 AliHLTTrackGeometry.cxx:324 AliHLTTrackGeometry.cxx:325 AliHLTTrackGeometry.cxx:326 AliHLTTrackGeometry.cxx:327 AliHLTTrackGeometry.cxx:328 AliHLTTrackGeometry.cxx:329 AliHLTTrackGeometry.cxx:330 AliHLTTrackGeometry.cxx:331 AliHLTTrackGeometry.cxx:332 AliHLTTrackGeometry.cxx:333 AliHLTTrackGeometry.cxx:334 AliHLTTrackGeometry.cxx:335 AliHLTTrackGeometry.cxx:336 AliHLTTrackGeometry.cxx:337 AliHLTTrackGeometry.cxx:338 AliHLTTrackGeometry.cxx:339 AliHLTTrackGeometry.cxx:340 AliHLTTrackGeometry.cxx:341 AliHLTTrackGeometry.cxx:342 AliHLTTrackGeometry.cxx:343 AliHLTTrackGeometry.cxx:344 AliHLTTrackGeometry.cxx:345 AliHLTTrackGeometry.cxx:346 AliHLTTrackGeometry.cxx:347 AliHLTTrackGeometry.cxx:348 AliHLTTrackGeometry.cxx:349 AliHLTTrackGeometry.cxx:350 AliHLTTrackGeometry.cxx:351 AliHLTTrackGeometry.cxx:352 AliHLTTrackGeometry.cxx:353 AliHLTTrackGeometry.cxx:354 AliHLTTrackGeometry.cxx:355 AliHLTTrackGeometry.cxx:356 AliHLTTrackGeometry.cxx:357 AliHLTTrackGeometry.cxx:358