#include "TGeoManager.h"
#include "TGeoPhysicalNode.h"
#include "TMatrixD.h"
#include "TMath.h"
#include "AliITSSurveyToAlign.h"
#include "AliSurveyPoint.h"
#include "AliAlignObjParams.h"
#include "AliGeomManager.h"
#include "AliLog.h"
#include "AliCDBManager.h"
#include "AliITSgeomTGeo.h"
ClassImp(AliITSSurveyToAlign)
const Double_t AliITSSurveyToAlign::fgkLocR[6][3]={{ 3.24,0.21905,-2.4},
{ 3.58,0.21905, 0. },
{ 3.24,0.21905,+2.4},
{-3.24,0.21905,+2.4},
{-3.58,0.21905, 0. },
{-3.24,0.21905,-2.4}};
const Double_t AliITSSurveyToAlign::fgkLocL[6][3]={{-3.24,0.21905, 2.4},
{-3.58,0.21905, 0. },
{-3.24,0.21905,-2.4},
{ 3.24,0.21905,-2.4},
{ 3.58,0.21905, 0. },
{ 3.24,0.21905, 2.4}};
const Double_t kRadToDeg = 180./TMath::Pi();
AliITSSurveyToAlign::AliITSSurveyToAlign(Int_t run, Int_t repModSDD, Int_t repModVerSDD, Int_t repLadSDD, Int_t repLadVerSDD, Int_t repModSSD, Int_t repModVerSSD, Int_t repLaddSSD, Int_t repLaddVerSSD) :
AliSurveyToAlignObjs(),
fRun(run),
fSDDModuleRepNumber(repModSDD),
fSDDModuleRepVersion(repModVerSDD),
fSDDLadderRepNumber(repLadSDD),
fSDDLadderRepVersion(repLadVerSDD),
fSSDModuleRepNumber(repModSSD),
fSSDModuleRepVersion(repModVerSSD),
fSSDLadderRepNumber(repLaddSSD),
fSSDLadderRepVersion(repLaddVerSSD)
{
for(Int_t i=0; i<260; i++)
{
fuidSDDm[i]= 0;
fsymnameSDDm[i]=TString("");
fxSDDm[i]=0;
fySDDm[i]=0;
fzSDDm[i]=0;
fpsiSDDm[i]=0;
ftetSDDm[i]=0;
fphiSDDm[i]=0;
if(i>35) continue;
fuidSDDl[i]=0;
fsymnameSDDl[i]=TString("");
fxSDDl[i]=0;
fySDDl[i]=0;
fzSDDl[i]=0;
fpsiSDDl[i]=0;
ftetSDDl[i]=0;
fphiSDDl[i]=0;
}
}
AliITSSurveyToAlign::AliITSSurveyToAlign(const AliITSSurveyToAlign &align) :
AliSurveyToAlignObjs(align),
fRun(align.fRun),
fSDDModuleRepNumber(align.fSDDModuleRepNumber),
fSDDModuleRepVersion(align.fSDDModuleRepVersion),
fSDDLadderRepNumber(align.fSDDLadderRepNumber),
fSDDLadderRepVersion(align.fSDDLadderRepVersion),
fSSDModuleRepNumber(align.fSSDModuleRepNumber),
fSSDModuleRepVersion(align.fSSDModuleRepVersion),
fSSDLadderRepNumber(align.fSSDLadderRepNumber),
fSSDLadderRepVersion(align.fSSDLadderRepVersion)
{
for(Int_t i=0; i<260; i++)
{
fuidSDDm[i]= align.fuidSDDm[i];
fsymnameSDDm[i]=TString(align.fsymnameSDDm[i]);
fxSDDm[i]=align.fxSDDm[i];
fySDDm[i]=align.fySDDm[i];
fzSDDm[i]=align.fzSDDm[i];
fpsiSDDm[i]=align.fpsiSDDm[i];
ftetSDDm[i]=align.ftetSDDm[i];
fphiSDDm[i]=align.fphiSDDm[i];
if(i>35) continue;
fuidSDDl[i]=align.fuidSDDl[i];
fsymnameSDDl[i]=TString(align.fsymnameSDDl[i]);
fxSDDl[i]=align.fxSDDl[i];
fySDDl[i]=align.fySDDl[i];
fzSDDl[i]=align.fzSDDl[i];
fpsiSDDl[i]=align.fpsiSDDl[i];
ftetSDDl[i]=align.ftetSDDl[i];
fphiSDDl[i]=align.fphiSDDl[i];
}
}
AliITSSurveyToAlign & AliITSSurveyToAlign::operator =(const AliITSSurveyToAlign& align) {
this->~AliITSSurveyToAlign();
new(this) AliITSSurveyToAlign(align);
return *this;
}
AliITSSurveyToAlign::~AliITSSurveyToAlign() {
}
void AliITSSurveyToAlign::Run() {
AliCDBManager *cdb = AliCDBManager::Instance();
cdb->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
cdb->SetRun(fRun);
AliGeomManager::LoadGeometry();
if(!CreateAlignObjs()) AliError("Construction of alignment objects from survey failed!");
}
Bool_t AliITSSurveyToAlign::CreateAlignObjs() {
CreateAlignObjDummySPD();
if(!LoadSurveyFromAlienFile("ITS", fSDDModuleRepNumber, fSDDModuleRepVersion)){
AliError("Loading of alignment objects from survey for SDD modules failed!");
return kFALSE;
}
CreateAlignObjSDDModules();
if(!LoadSurveyFromAlienFile("ITS", fSDDLadderRepNumber, fSDDLadderRepVersion)){
AliError("Loading of alignment objects from survey for SDD ladder failed!");
return kFALSE;
}
CreateAlignObjSDDLadders();
if(!ApplyAlignObjSDD()) return kFALSE;
if(!LoadSurveyFromAlienFile("ITS", fSSDLadderRepNumber, fSSDLadderRepVersion)){
AliError("Loading of alignment objects from survey for SSD ladders failed!");
return kFALSE;
}
CreateAlignObjSSDLadders();
if(!ApplyAlignObjSSDLadders()) return kFALSE;
if(!LoadSurveyFromAlienFile("ITS", fSSDModuleRepNumber, fSSDModuleRepVersion)){
AliError("Loading of alignment objects from survey for SSD modules failed!");
return kFALSE;
}
CreateAlignObjSSDModules();
return kTRUE;
}
void AliITSSurveyToAlign::CreateAlignObjDummySPD(){
for(Int_t imod = 0; imod < 240; imod++) {
Int_t ilayer = (imod < 80) ? AliGeomManager::kSPD1 : AliGeomManager::kSPD2;
Int_t imodule = (imod < 80) ? imod : imod - 80;
Int_t uid = AliGeomManager::LayerToVolUID(ilayer,imodule);
const Char_t *symname = AliGeomManager::SymName(uid);
new((*fAlignObjArray)[imod]) AliAlignObjParams(symname, uid, 0., 0., 0., 0., 0., 0., kTRUE);
}
}
Bool_t AliITSSurveyToAlign::ApplyAlignObjSDD()
{
Int_t applied=0;
for(Int_t iLadd=0; iLadd<36; iLadd++)
{
new((*fAlignObjArray)[240+iLadd]) AliAlignObjParams(fsymnameSDDl[iLadd].Data(), fuidSDDl[iLadd],
fxSDDl[iLadd] , fySDDl[iLadd] , fzSDDl[iLadd] ,
fpsiSDDl[iLadd], ftetSDDl[iLadd], fphiSDDl[iLadd], kFALSE);
AliAlignObjParams* ap = dynamic_cast<AliAlignObjParams*> (fAlignObjArray->UncheckedAt(240+iLadd));
if(ap != 0 && fsymnameSDDl[iLadd].Contains("SDD") && fsymnameSDDl[iLadd].Contains("Ladder"))
{
if(!ap->ApplyToGeometry()) return kFALSE;
applied++;
}
else
{
AliError("SDD Ladder array is not initialized correctly");
return kFALSE;
}
}
for(Int_t iMod=0; iMod<260; iMod++)
{
new((*fAlignObjArray)[240+36+iMod]) AliAlignObjParams(fsymnameSDDm[iMod].Data(), fuidSDDm[iMod],
fxSDDm[iMod] , fySDDm[iMod] , fzSDDm[iMod],
fpsiSDDm[iMod], ftetSDDm[iMod], fphiSDDm[iMod], kFALSE);
if(!fsymnameSDDm[iMod].Contains("SDD") || !fsymnameSDDm[iMod].Contains("Sensor"))
{
AliError("SDD Module array is not initialized correctly\n");
return kFALSE;
}
}
AliInfo(Form(" %d alignment objects for SDD ladders applied to geometry.",applied));
return kTRUE;
}
void AliITSSurveyToAlign::CreateAlignObjSDDModules(){
Int_t uid = 0;
const char* symname = 0;
AliSurveyPoint* pt = 0;
Int_t iModuleIndex=240;
Int_t iModule0=0;
Int_t iLadder0=0;
Int_t iLayer0=3;
Int_t nModules=0;
if (fSurveyPoints == 0 || fSurveyPoints->GetEntries() == 0) {
AliWarning("SDD survey data are not available, using zero values");
CreateAlignObjDummySDDModules();
return;
}
for(Int_t imod = 1; imod < fSurveyPoints->GetEntries(); imod++) {
pt = (AliSurveyPoint*) fSurveyPoints->At(imod);
if(!pt) continue;
Int_t iLayer, iLadder, iModule, iPoint;
ReadPointNameSDD(pt->GetName(),iLayer, iLadder, iModule, iPoint);
Double_t x =pt->GetX();
Double_t y =pt->GetY();
Double_t z =pt->GetZ();
Double_t xE=pt->GetPrecisionX();
Double_t yE=pt->GetPrecisionY();
Double_t zE=pt->GetPrecisionZ();
if(iLayer==3 && iLadder==2)
{
if(iPoint<3) iPoint+=3;
else if(iPoint>2) iPoint-=3;
iModule=TMath::Abs(iModule - 5);
x=500-x;
y*=-1;
}
iModuleIndex = AliITSgeomTGeo::GetModuleIndex(iLayer0,iLadder0+1,iModule0+1);
Int_t iModuleIndex1 = AliITSgeomTGeo::GetModuleIndex(iLayer,iLadder+1,iModule+1);
if(iModuleIndex==iModuleIndex1)
{
fSDDmeP[iPoint][0]=x;
fSDDmeP[iPoint][1]=y;
fSDDmeP[iPoint][2]=z;
fSDDmeP[iPoint][3]=xE;
fSDDmeP[iPoint][4]=yE;
fSDDmeP[iPoint][5]=zE;
fSDDisMe[iPoint]=kTRUE;
if(iLayer==3) uid = AliGeomManager::LayerToVolUID(iLayer0,iModuleIndex-240);
if(iLayer==4) uid = AliGeomManager::LayerToVolUID(iLayer0,iModuleIndex-324);
symname = AliGeomManager::SymName(uid);
GetIdPosSDD(uid,iLayer0, iModule0, iPoint);
nModules++;
}
if((iModuleIndex!=iModuleIndex1)||(imod==(fSurveyPoints->GetEntries()-1)))
{
ConvertToRSofModulesAndRotSDD(iLayer0, iModule0);
Double_t tet = 0.;
Double_t psi = 0.;
Double_t phi = 0.;
Double_t x0 = 0.;
Double_t y0 = 0.;
Double_t z0 = 0.;
if(nModules==2) CalcShiftSDD(x0,y0,z0);
if(nModules>2) CalcShiftRotSDD(tet, psi, phi, x0, y0, z0);
tet*=kRadToDeg;
psi*=kRadToDeg;
phi*=kRadToDeg;
fsymnameSDDm[iModuleIndex-240]=TString(symname);
fuidSDDm[iModuleIndex-240]=uid;
fxSDDm[iModuleIndex-240]=x0/10.;
fySDDm[iModuleIndex-240]=y0/10.;
fzSDDm[iModuleIndex-240]=z0/10.;
fpsiSDDm[iModuleIndex-240]=psi;
ftetSDDm[iModuleIndex-240]=tet;
fphiSDDm[iModuleIndex-240]=phi;
iModule0=iModule;
iLayer0=iLayer;
iLadder0=iLadder;
nModules=0;
for(Int_t i=0; i<6;i++) fSDDisMe[i]=kFALSE;
if(imod!=(fSurveyPoints->GetEntries()-1)) imod--;
}
}
}
void AliITSSurveyToAlign::CreateAlignObjDummySDDModules(){
for(Int_t imod = 0; imod < 260; imod++) {
Int_t ilayer = (imod < 84) ? AliGeomManager::kSDD1 : AliGeomManager::kSDD2;
Int_t imodule = (imod < 84) ? imod : imod - 84;
Int_t uid = AliGeomManager::LayerToVolUID(ilayer,imodule);
const Char_t *symname = AliGeomManager::SymName(uid);
fsymnameSDDm[imod]=TString(symname);
fuidSDDm[imod]=uid;
fxSDDm[imod]=0.;
fySDDm[imod]=0.;
fzSDDm[imod]=0.;
fpsiSDDm[imod]=0.;
ftetSDDm[imod]=0.;
fphiSDDm[imod]=0.;
}
}
void AliITSSurveyToAlign::CreateAlignObjSSDModules(){
Double_t sx, sz;
const Float_t kMu2Cm = 1e-4;
const Float_t kSensLength = 7.464;
const Int_t kSSDMODULES = 1698;
if (fSurveyPoints == 0 || fSurveyPoints->GetEntries() == 0) {
AliWarning("SSD module survey data not available; using dummy values");
CreateAlignObjDummySSDModules();
return;
}
for(Int_t imod = 500; imod < kSSDMODULES + 500; imod++) {
Int_t iLayer, iLadder, iLaddMod;
AliITSgeomTGeo::GetModuleId(imod,iLayer,iLadder,iLaddMod);
TString pname="ITS/SSD";
pname += iLayer-1;
pname += "/Ladder";
pname += iLadder-1;
pname += "/Sensor";
pname += iLaddMod-1;
AliSurveyPoint *pt1 = (AliSurveyPoint*) fSurveyPoints->FindObject(pname+"/Point0");
AliSurveyPoint *pt2 = (AliSurveyPoint*) fSurveyPoints->FindObject(pname+"/Point1");
if(!pt1 || !pt2) {
AliWarning(Form("No Survey points for iladd %d imod %d",iLadder,iLaddMod));
continue;
}
sx = 0.5*(pt1->GetX() + pt2->GetX()) * kMu2Cm;
sz = 0.5*(pt1->GetZ() + pt2->GetZ()) * kMu2Cm;
Float_t theta = -(pt2->GetZ() - pt1->GetZ())*kMu2Cm/kSensLength;
theta *= kRadToDeg;
Int_t iLayMod = imod - 500;
if (iLayer == 6)
iLayMod -= 748;
Int_t uid = AliGeomManager::LayerToVolUID(iLayer,iLayMod);
const Char_t *symname = AliGeomManager::SymName(uid);
if (pname.CompareTo(symname) != 0)
AliWarning(Form("Mapping mismatch survey point %s volume name %s",pname.Data(),symname));
new((*fAlignObjArray)[imod+36]) AliAlignObjParams(symname, uid, sx, 0, sz, 0., theta, 0., kFALSE);
}
}
Bool_t AliITSSurveyToAlign::ApplyAlignObjSSDLadders(){
Int_t applied=0;
for(Int_t jj=0; jj<fAlignObjArray->GetEntriesFast(); jj++)
{
AliAlignObjParams* ap = dynamic_cast<AliAlignObjParams*> (fAlignObjArray->UncheckedAt(jj));
if(ap)
{
TString sName(ap->GetSymName());
if(sName.Contains("SSD") && sName.Contains("Ladder"))
{
if(!ap->ApplyToGeometry()) return kFALSE;
applied++;
}
}
}
AliInfo(Form(" %d alignment objects for SSD ladders applied to geometry.",applied));
return kTRUE;
}
void AliITSSurveyToAlign::CreateAlignObjDummySDDLadders()
{
TString sddName = "ITS/SDD";
Int_t iLadd = 0;
for (Int_t ilayer = 0; ilayer < 2; ilayer ++)
{
Int_t nLadder = 14;
if (ilayer == 1) nLadder = 22;
for (Int_t iLadder = 0; iLadder < nLadder; iLadder++) {
TString ladName = sddName;
ladName += (ilayer+2);
ladName += "/Ladder";
ladName += iLadder;
fsymnameSDDl[iLadd]=TString(ladName);
fuidSDDl[iLadd]=0;
fxSDDl[iLadd]=0;
fySDDl[iLadd]=0;
fzSDDl[iLadd]=0;
fpsiSDDl[iLadd]=0;
ftetSDDl[iLadd]=0;
fphiSDDl[iLadd]=0;
iLadd++;
}
}
}
void AliITSSurveyToAlign::CreateAlignObjSDDLadders(){
const Float_t kLaddLenz[2] ={500, 650};
const Float_t kLaddLenx = 28 ;
TString sddName = "ITS/SDD";
TObjArray *ladderPoints = fSurveyPoints;
if (ladderPoints == 0 || ladderPoints->GetEntries() == 0) {
AliWarning("No SDD Ladder alignment points found. Skipping");
return;
}
if (ladderPoints->GetEntries()!= 72) {
AliWarning(Form("Unexpected number of survey points %d, should be 72",ladderPoints->GetEntries()));
}
Int_t iLadd = 0;
for (Int_t ilayer = 0; ilayer < 2; ilayer ++)
{
Int_t nLadder = 14;
if (ilayer == 1) nLadder = 22;
for (Int_t iLadder = 0; iLadder < nLadder; iLadder++) {
TString ladName = sddName;
ladName += (ilayer+2);
ladName += "/Ladder";
ladName += iLadder;
AliSurveyPoint *p24 = (AliSurveyPoint*) ladderPoints->FindObject(ladName+"/RB24");
AliSurveyPoint *p26 = (AliSurveyPoint*) ladderPoints->FindObject(ladName+"/RB26");
if (p24 == 0) {
AliWarning(Form("Cannot find RB24 side point for ladder %s",ladName.Data()));
continue;
}
if (p26 == 0) {
AliWarning(Form("Cannot find RB26 side point for ladder %s",ladName.Data()));
continue;
}
TString tmpStr;
tmpStr.Insert(0,p24->GetName(),3);
Int_t ladder = tmpStr.Atoi();
tmpStr="";
tmpStr.Insert(0,p26->GetName(),3);
if (tmpStr.Atoi() != ladder)
AliError(Form("Survey data file error. Expect pairs of RB24, RB26 points. Got ladders %d %d",ladder,tmpStr.Atoi()));
Double_t x24, y24, z24;
Double_t x26, y26, z26;
x24=p24->GetX();
y24=p24->GetY();
z24=p24->GetZ();
x26=p26->GetX();
y26=p26->GetY();
z26=p26->GetZ();
Double_t phi = 0;
Double_t theta = 0;
Double_t psi = 0;
psi=TMath::ATan((y26-y24)/(kLaddLenz[ilayer]+z24-z26));
Double_t tgtet0 = kLaddLenx/kLaddLenz[ilayer];
Double_t tgtet1 = (x24-x26+kLaddLenx)/(kLaddLenz[ilayer]+z24-z26);
theta=TMath::ATan((tgtet1-tgtet0)/(1+tgtet1*tgtet0));
Double_t x0=x24-theta*kLaddLenz[ilayer]/2;
Double_t y0=y24+psi*kLaddLenz[ilayer]/2;
Double_t z0=z24+theta*kLaddLenx/2;
theta*= kRadToDeg;
psi*= kRadToDeg;
fsymnameSDDl[iLadd]=TString(ladName);
fuidSDDl[iLadd]=0;
fxSDDl[iLadd]=x0/10.;
fySDDl[iLadd]=y0/10.;
fzSDDl[iLadd]=z0/10.;
fpsiSDDl[iLadd]=psi;
ftetSDDl[iLadd]=theta;
fphiSDDl[iLadd]=phi;
iLadd++;
}
}
}
void AliITSSurveyToAlign::CreateAlignObjSSDLadders(){
const Float_t kLaddLen5 = 90.27;
const Float_t kLaddLen6 = 102.0;
const Float_t zLag = 2.927;
const Float_t kMu2Cm = 1e-4;
TString ssdName = "ITS/SSD";
TObjArray *ladderPoints = fSurveyPoints;
if (ladderPoints == 0 || ladderPoints->GetEntries() == 0) {
AliWarning("No SSD Ladder alignment points found. Skipping");
return;
}
if (ladderPoints->GetEntries()!= 2*(34+38)) {
AliWarning(Form("Unexpected number of survey points %d, should be 144",ladderPoints->GetEntries()));
}
Int_t iLadd = 0;
for (Int_t ilayer = 4; ilayer <= 5; ilayer ++) {
Int_t nLadder = 34;
if (ilayer == 5)
nLadder = 38;
for (Int_t iLadder = 0; iLadder < nLadder; iLadder++) {
TString ladName = ssdName;
ladName += ilayer;
ladName += "/Ladder";
ladName += iLadder;
AliSurveyPoint *vPoint = (AliSurveyPoint*) ladderPoints->FindObject(ladName+"/V");
AliSurveyPoint *qPoint = (AliSurveyPoint*) ladderPoints->FindObject(ladName+"/Q");
if (vPoint == 0) {
AliWarning(Form("Cannot find V side point for ladder %s",ladName.Data()));
continue;
}
if (qPoint == 0) {
AliWarning(Form("Cannot find Q side point for ladder %s",ladName.Data()));
continue;
}
TString tmpStr;
tmpStr.Insert(0,vPoint->GetName(),3);
Int_t ladder = tmpStr.Atoi();
tmpStr="";
tmpStr.Insert(0,qPoint->GetName(),3);
if (tmpStr.Atoi() != ladder)
AliError(Form("Survey data file error. Expect pairs of V,Q points. Got ladders %d %d",ladder,tmpStr.Atoi()));
Double_t dxLoc = vPoint->GetX() * kMu2Cm;
Double_t dyLoc = vPoint->GetY() * kMu2Cm;
Double_t dzLoc = vPoint->GetZ() * kMu2Cm;
Double_t phi = 0;
Double_t theta = 0;
Double_t psi = 0;
if (ladder >= 600) {
theta = TMath::ATan((qPoint->GetX() - vPoint->GetX())*kMu2Cm/kLaddLen6);
psi = TMath::ATan((vPoint->GetY() - qPoint->GetY())*kMu2Cm/kLaddLen6);
}
else {
theta = TMath::ATan((qPoint->GetX() - vPoint->GetX())*kMu2Cm/kLaddLen5);
psi = TMath::ATan((vPoint->GetY() - qPoint->GetY())*kMu2Cm/kLaddLen5);
}
dxLoc += zLag*theta;
dyLoc -= zLag*psi;
theta *= kRadToDeg;
psi *= kRadToDeg;
AliDebug(1,Form("ladname %f %f %f %f %f %f ",dxLoc,dyLoc,dzLoc,psi,theta,phi));
new((*fAlignObjArray)[500+36+1698+iLadd]) AliAlignObjParams(ladName,0,dxLoc,dyLoc,dzLoc,psi,theta,phi,kFALSE);
iLadd++;
}
}
}
void AliITSSurveyToAlign::CreateAlignObjDummySSDModules(){
for(Int_t imod = 0; imod < 1698; imod++) {
Int_t ilayer = (imod < 748) ? AliGeomManager::kSSD1 : AliGeomManager::kSSD2;
Int_t imodule = (imod < 748) ? imod : imod - 748;
Int_t uid = AliGeomManager::LayerToVolUID(ilayer,imodule);
const Char_t *symname = AliGeomManager::SymName(uid);
new((*fAlignObjArray)[500+36+imod]) AliAlignObjParams(symname, uid, 0., 0., 0., 0., 0., 0., kTRUE);
}
}
void AliITSSurveyToAlign::GetIdPosSDD(Int_t uid, Int_t layer, Int_t module, Int_t iPoint)
{
TGeoHMatrix gMod = *AliGeomManager::GetMatrix(uid);
TGeoPNEntry* pne = gGeoManager->GetAlignableEntryByUID(uid);
TString ladderPath(pne->GetTitle());
if(ladderPath.EndsWith("/")) ladderPath.Remove(TString::kTrailing,'/');
ladderPath.Remove(ladderPath.Last('/'));
gGeoManager->cd(ladderPath.Data());
TGeoHMatrix gLad = *gGeoManager->GetCurrentMatrix();
TGeoHMatrix rel = gMod;
TGeoHMatrix invgLad = gLad.Inverse();
rel.MultiplyLeft(&invgLad);
TGeoRotation* rr = new TGeoRotation("rr",90,90,0,0,90,180);
TGeoCombiTrans* ct = 0;
if(layer==3) ct= new TGeoCombiTrans(25.,0.,0.,rr);
if(layer==4) ct= new TGeoCombiTrans(25.+7.5,0.,0.,rr);
rel.MultiplyLeft(ct);
if((layer==3)&&(module<3)) rel.LocalToMaster(fgkLocR[iPoint],fSDDidP[iPoint]);
if((layer==3)&&(module>2)) rel.LocalToMaster(fgkLocL[iPoint],fSDDidP[iPoint]);
if((layer==4)&&(module<4)) rel.LocalToMaster(fgkLocR[iPoint],fSDDidP[iPoint]);
if((layer==4)&&(module>3)) rel.LocalToMaster(fgkLocL[iPoint],fSDDidP[iPoint]);
for(Int_t i=0; i<3; i++) fSDDidP[iPoint][i]*=10;
fSDDidP[iPoint][2]-=0.5205;
if((layer==3)&&(module<3)) rel.LocalToMaster(fgkLocR[1],fSDDidP[1]);
if((layer==3)&&(module>2)) rel.LocalToMaster(fgkLocL[1],fSDDidP[1]);
if((layer==4)&&(module<4)) rel.LocalToMaster(fgkLocR[1],fSDDidP[1]);
if((layer==4)&&(module>3)) rel.LocalToMaster(fgkLocL[1],fSDDidP[1]);
for(Int_t i=0; i<3; i++) fSDDidP[1][i]*=10;
fSDDidP[1][2]-=0.5205;
}
void AliITSSurveyToAlign::ReadPointNameSDD(const char str[], Int_t &iLayer, Int_t &iLader, Int_t &iModul, Int_t &iPoint) const
{
iLayer=-1;
iLader=-1;
iModul=-1;
iPoint=-1;
if(str[7]=='2') iLayer=3;
if(str[7]=='3') iLayer=4;
if(str[15]=='0') iLader=0;
if(str[15]=='1') iLader=1;
if(str[15]=='2') iLader=2;
if(str[15]=='3') iLader=3;
if(str[15]=='4') iLader=4;
if(str[15]=='5') iLader=5;
if(str[15]=='6') iLader=6;
if(str[15]=='7') iLader=7;
if(str[15]=='8') iLader=8;
if(str[15]=='9') iLader=9;
Int_t ord=0;
if(str[16]=='0') {iLader=10*iLader+0; ord=1;}
if(str[16]=='1') {iLader=10*iLader+1; ord=1;}
if(str[16]=='2') {iLader=10*iLader+2; ord=1;}
if(str[16]=='3') {iLader=10*iLader+3; ord=1;}
if(str[16]=='4') {iLader=10*iLader+4; ord=1;}
if(str[16]=='5') {iLader=10*iLader+5; ord=1;}
if(str[16]=='6') {iLader=10*iLader+6; ord=1;}
if(str[16]=='7') {iLader=10*iLader+7; ord=1;}
if(str[16]=='8') {iLader=10*iLader+8; ord=1;}
if(str[16]=='9') {iLader=10*iLader+9; ord=1;}
if(str[23+ord]=='0') iModul=0;
if(str[23+ord]=='1') iModul=1;
if(str[23+ord]=='2') iModul=2;
if(str[23+ord]=='3') iModul=3;
if(str[23+ord]=='4') iModul=4;
if(str[23+ord]=='5') iModul=5;
if(str[23+ord]=='6') iModul=6;
if(str[23+ord]=='7') iModul=7;
if(str[23+ord]=='8') iModul=8;
if(str[23+ord]=='9') iModul=9;
if((str[25+ord]=='R')&&(str[26+ord]=='D')) iPoint=0;
if((str[25+ord]=='R')&&(str[26+ord]=='C')) iPoint=1;
if((str[25+ord]=='R')&&(str[26+ord]=='U')) iPoint=2;
if((str[25+ord]=='L')&&(str[26+ord]=='U')) iPoint=3;
if((str[25+ord]=='L')&&(str[26+ord]=='C')) iPoint=4;
if((str[25+ord]=='L')&&(str[26+ord]=='D')) iPoint=5;
return;
}
void AliITSSurveyToAlign::ConvertToRSofModulesAndRotSDD(Int_t Layer, Int_t Module)
{
Double_t ymId;
Double_t zmId;
Double_t ymMe;
Double_t zmMe;
Double_t ymMeE;
Double_t zmMeE;
Double_t x0=fSDDidP[1][0];
Double_t z0=fSDDidP[1][2];
for(Int_t i=0; i<6; i++)
{
if(!fSDDisMe[i]) continue;
fSDDidP[i][0]-=x0;
fSDDidP[i][2]-=z0;
fSDDmeP[i][0]-=x0;
fSDDmeP[i][2]-=z0;
ymId=fSDDidP[i][1];
zmId=fSDDidP[i][2];
fSDDidP[i][2]=fSDDidP[i][0];
fSDDidP[i][0]=ymId;
fSDDidP[i][1]=zmId;
ymMe=fSDDmeP[i][1];
zmMe=fSDDmeP[i][2];
ymMeE=fSDDmeP[i][4];
zmMeE=fSDDmeP[i][5];
fSDDmeP[i][2]=fSDDmeP[i][0];
fSDDmeP[i][0]=ymMe;
fSDDmeP[i][1]=zmMe;
fSDDmeP[i][5]=fSDDmeP[i][3];
fSDDmeP[i][3]=ymMeE;
fSDDmeP[i][4]=zmMeE;
if(((Layer==3)&&(Module>2))||((Layer==4)&&(Module>3)))
{
fSDDidP[i][0]*=(-1);
fSDDidP[i][2]*=(-1);
fSDDmeP[i][0]*=(-1);
fSDDmeP[i][2]*=(-1);
}
}
}
void AliITSSurveyToAlign::CalcShiftSDD(Double_t &x0,Double_t &y0,Double_t &z0) const
{
Double_t xId, yId, zId;
Double_t xMe, yMe, zMe, sX2, sY2, sZ2;
Double_t aX=0., bX=0.;
Double_t aY=0., bY=0.;
Double_t aZ=0., bZ=0.;
for(Int_t iP1=0; iP1<6; iP1++)
{
if(!fSDDisMe[iP1]) continue;
xId=fSDDidP[iP1][0];
yId=fSDDidP[iP1][1];
zId=fSDDidP[iP1][2];
xMe=fSDDmeP[iP1][0];
yMe=fSDDmeP[iP1][1];
zMe=fSDDmeP[iP1][2];
sX2 =fSDDmeP[iP1][3]*fSDDmeP[iP1][3];
sY2 =fSDDmeP[iP1][4]*fSDDmeP[iP1][4];
sZ2 =fSDDmeP[iP1][5]*fSDDmeP[iP1][5];
aX+=(1./sX2);
bX+=((xMe-xId)/sX2);
aY+=(1./sY2);
bY+=((yMe-yId)/sY2);
aZ+=(1./sZ2);
bZ+=((zMe-zId)/sZ2);
}
Double_t x1 = bX/aX;
Double_t x2 = bY/aY;
Double_t x3 = bZ/aZ;
x0=x1;
y0=x2;
z0=x3;
return;
}
void AliITSSurveyToAlign::CalcShiftRotSDD(Double_t &tet,Double_t &psi,Double_t &phi,Double_t &x0,Double_t &y0,Double_t &z0)
{
TMatrixD pC(6,6);
Double_t a[6][6];
for(Int_t ii=0; ii<6; ii++){
for(Int_t jj=0; jj<6; jj++){
a[ii][jj]=0.;
}
}
Double_t c[6];
for(Int_t ii=0; ii<6; ii++)
c[ii]=0.;
Double_t xId, yId, zId;
Double_t xMe, yMe, zMe, sX2, sY2, sZ2;
for(Int_t iP1=0; iP1<6; iP1++)
{
if(!fSDDisMe[iP1]) continue;
xId= fSDDidP[iP1][0];
yId= fSDDidP[iP1][1];
zId= fSDDidP[iP1][2];
xMe= fSDDmeP[iP1][0];
yMe= fSDDmeP[iP1][1];
zMe= fSDDmeP[iP1][2];
sX2 = fSDDmeP[iP1][3]* fSDDmeP[iP1][3];
sY2 = fSDDmeP[iP1][4]* fSDDmeP[iP1][4];
sZ2 = fSDDmeP[iP1][5]* fSDDmeP[iP1][5];
a[0][0]+=(zId*zId/sX2+xId*xId/sZ2);
a[0][1]-=(zId*yId/sX2);
a[0][2]-=(xId*yId/sZ2);
a[0][3]-=(zId/sX2);
a[0][4] =0.;
a[0][5]+=(xId/sZ2);
c[0]+=(xId*(zMe-zId)/sZ2-zId*(xMe-xId)/sX2);
a[1][0]-=(yId*zId/sX2);
a[1][1]+=(xId*xId/sY2+yId*yId/sX2);
a[1][2]-=(xId*zId/sY2);
a[1][3]+=(yId/sX2);
a[1][4]-=(xId/sY2);
a[1][5] =0.;
c[1]+=(yId*(xMe-xId)/sX2-xId*(yMe-yId)/sY2);
a[2][0]-=(yId*xId/sZ2);
a[2][1]-=(xId*zId/sY2);
a[2][2]+=(zId*zId/sY2+yId*yId/sZ2);
a[2][3] =0.;
a[2][4]+=(zId/sY2);
a[2][5]-=(yId/sZ2);
c[2]+=(zId*(yMe-yId)/sY2-yId*(zMe-zId)/sZ2);
a[3][0]-=(zId/sX2);
a[3][1]+=(yId/sX2);
a[3][2] =0.;
a[3][3]+=(1./sX2);
a[3][4] =0.;
a[3][5] =0.;
c[3]+=((xMe-xId)/sX2);
a[4][0] =0.;
a[4][1]-=(xId/sY2);
a[4][2]+=(zId/sY2);
a[4][3] =0.;
a[4][4]+=(1./sY2);
a[4][5] =0.;
c[4]+=((yMe-yId)/sY2);
a[5][0]+=(xId/sZ2);
a[5][1] =0.;
a[5][2]-=(yId/sZ2);
a[5][3] =0.;
a[5][4] =0.;
a[5][5]+=(1./sZ2);
c[5]+=((zMe-zId)/sZ2);
}
pC.SetMatrixArray(&(a[0][0]));
TMatrixD p1(pC);
TMatrixD p2(pC);
TMatrixD p3(pC);
TMatrixD p4(pC);
TMatrixD p5(pC);
TMatrixD p6(pC);
for(Int_t raw=0; raw<6; raw++)
p1[raw][0]=c[raw];
for(Int_t raw=0; raw<6; raw++)
p2[raw][1]=c[raw];
for(Int_t raw=0; raw<6; raw++)
p3[raw][2]=c[raw];
for(Int_t raw=0; raw<6; raw++)
p4[raw][3]=c[raw];
for(Int_t raw=0; raw<6; raw++)
p5[raw][4]=c[raw];
for(Int_t raw=0; raw<6; raw++)
p6[raw][5]=c[raw];
Double_t det0=pC.Determinant();
Double_t x1 = p1.Determinant()/det0;
Double_t x2 = p2.Determinant()/det0;
Double_t x3 = p3.Determinant()/det0;
Double_t x4 = p4.Determinant()/det0;
Double_t x5 = p5.Determinant()/det0;
Double_t x6 = p6.Determinant()/det0;
if (TMath::Abs(x1) < 1.e-10) {
AliInfo("p1 singular ");
p1.Print();
}
if (TMath::Abs(x2) < 1.e-10) {
AliInfo("p2 singular ");
p2.Print();
}
if (TMath::Abs(x3) < 1.e-10) {
AliInfo("p3 singular ");
p3.Print();
}
if (TMath::Abs(x4) < 1.e-10) {
AliInfo("p4 singular ");
p4.Print();
}
if (TMath::Abs(x5) < 1.e-10) {
AliInfo("p5 singular ");
p5.Print();
}
if (TMath::Abs(x6) < 1.e-10) {
AliInfo("p6 singular ");
p6.Print();
}
tet=x1;
psi=x2;
phi=x3;
x0=x4;
y0=x5;
z0=x6;
return;
}
AliITSSurveyToAlign.cxx:1 AliITSSurveyToAlign.cxx:2 AliITSSurveyToAlign.cxx:3 AliITSSurveyToAlign.cxx:4 AliITSSurveyToAlign.cxx:5 AliITSSurveyToAlign.cxx:6 AliITSSurveyToAlign.cxx:7 AliITSSurveyToAlign.cxx:8 AliITSSurveyToAlign.cxx:9 AliITSSurveyToAlign.cxx:10 AliITSSurveyToAlign.cxx:11 AliITSSurveyToAlign.cxx:12 AliITSSurveyToAlign.cxx:13 AliITSSurveyToAlign.cxx:14 AliITSSurveyToAlign.cxx:15 AliITSSurveyToAlign.cxx:16 AliITSSurveyToAlign.cxx:17 AliITSSurveyToAlign.cxx:18 AliITSSurveyToAlign.cxx:19 AliITSSurveyToAlign.cxx:20 AliITSSurveyToAlign.cxx:21 AliITSSurveyToAlign.cxx:22 AliITSSurveyToAlign.cxx:23 AliITSSurveyToAlign.cxx:24 AliITSSurveyToAlign.cxx:25 AliITSSurveyToAlign.cxx:26 AliITSSurveyToAlign.cxx:27 AliITSSurveyToAlign.cxx:28 AliITSSurveyToAlign.cxx:29 AliITSSurveyToAlign.cxx:30 AliITSSurveyToAlign.cxx:31 AliITSSurveyToAlign.cxx:32 AliITSSurveyToAlign.cxx:33 AliITSSurveyToAlign.cxx:34 AliITSSurveyToAlign.cxx:35 AliITSSurveyToAlign.cxx:36 AliITSSurveyToAlign.cxx:37 AliITSSurveyToAlign.cxx:38 AliITSSurveyToAlign.cxx:39 AliITSSurveyToAlign.cxx:40 AliITSSurveyToAlign.cxx:41 AliITSSurveyToAlign.cxx:42 AliITSSurveyToAlign.cxx:43 AliITSSurveyToAlign.cxx:44 AliITSSurveyToAlign.cxx:45 AliITSSurveyToAlign.cxx:46 AliITSSurveyToAlign.cxx:47 AliITSSurveyToAlign.cxx:48 AliITSSurveyToAlign.cxx:49 AliITSSurveyToAlign.cxx:50 AliITSSurveyToAlign.cxx:51 AliITSSurveyToAlign.cxx:52 AliITSSurveyToAlign.cxx:53 AliITSSurveyToAlign.cxx:54 AliITSSurveyToAlign.cxx:55 AliITSSurveyToAlign.cxx:56 AliITSSurveyToAlign.cxx:57 AliITSSurveyToAlign.cxx:58 AliITSSurveyToAlign.cxx:59 AliITSSurveyToAlign.cxx:60 AliITSSurveyToAlign.cxx:61 AliITSSurveyToAlign.cxx:62 AliITSSurveyToAlign.cxx:63 AliITSSurveyToAlign.cxx:64 AliITSSurveyToAlign.cxx:65 AliITSSurveyToAlign.cxx:66 AliITSSurveyToAlign.cxx:67 AliITSSurveyToAlign.cxx:68 AliITSSurveyToAlign.cxx:69 AliITSSurveyToAlign.cxx:70 AliITSSurveyToAlign.cxx:71 AliITSSurveyToAlign.cxx:72 AliITSSurveyToAlign.cxx:73 AliITSSurveyToAlign.cxx:74 AliITSSurveyToAlign.cxx:75 AliITSSurveyToAlign.cxx:76 AliITSSurveyToAlign.cxx:77 AliITSSurveyToAlign.cxx:78 AliITSSurveyToAlign.cxx:79 AliITSSurveyToAlign.cxx:80 AliITSSurveyToAlign.cxx:81 AliITSSurveyToAlign.cxx:82 AliITSSurveyToAlign.cxx:83 AliITSSurveyToAlign.cxx:84 AliITSSurveyToAlign.cxx:85 AliITSSurveyToAlign.cxx:86 AliITSSurveyToAlign.cxx:87 AliITSSurveyToAlign.cxx:88 AliITSSurveyToAlign.cxx:89 AliITSSurveyToAlign.cxx:90 AliITSSurveyToAlign.cxx:91 AliITSSurveyToAlign.cxx:92 AliITSSurveyToAlign.cxx:93 AliITSSurveyToAlign.cxx:94 AliITSSurveyToAlign.cxx:95 AliITSSurveyToAlign.cxx:96 AliITSSurveyToAlign.cxx:97 AliITSSurveyToAlign.cxx:98 AliITSSurveyToAlign.cxx:99 AliITSSurveyToAlign.cxx:100 AliITSSurveyToAlign.cxx:101 AliITSSurveyToAlign.cxx:102 AliITSSurveyToAlign.cxx:103 AliITSSurveyToAlign.cxx:104 AliITSSurveyToAlign.cxx:105 AliITSSurveyToAlign.cxx:106 AliITSSurveyToAlign.cxx:107 AliITSSurveyToAlign.cxx:108 AliITSSurveyToAlign.cxx:109 AliITSSurveyToAlign.cxx:110 AliITSSurveyToAlign.cxx:111 AliITSSurveyToAlign.cxx:112 AliITSSurveyToAlign.cxx:113 AliITSSurveyToAlign.cxx:114 AliITSSurveyToAlign.cxx:115 AliITSSurveyToAlign.cxx:116 AliITSSurveyToAlign.cxx:117 AliITSSurveyToAlign.cxx:118 AliITSSurveyToAlign.cxx:119 AliITSSurveyToAlign.cxx:120 AliITSSurveyToAlign.cxx:121 AliITSSurveyToAlign.cxx:122 AliITSSurveyToAlign.cxx:123 AliITSSurveyToAlign.cxx:124 AliITSSurveyToAlign.cxx:125 AliITSSurveyToAlign.cxx:126 AliITSSurveyToAlign.cxx:127 AliITSSurveyToAlign.cxx:128 AliITSSurveyToAlign.cxx:129 AliITSSurveyToAlign.cxx:130 AliITSSurveyToAlign.cxx:131 AliITSSurveyToAlign.cxx:132 AliITSSurveyToAlign.cxx:133 AliITSSurveyToAlign.cxx:134 AliITSSurveyToAlign.cxx:135 AliITSSurveyToAlign.cxx:136 AliITSSurveyToAlign.cxx:137 AliITSSurveyToAlign.cxx:138 AliITSSurveyToAlign.cxx:139 AliITSSurveyToAlign.cxx:140 AliITSSurveyToAlign.cxx:141 AliITSSurveyToAlign.cxx:142 AliITSSurveyToAlign.cxx:143 AliITSSurveyToAlign.cxx:144 AliITSSurveyToAlign.cxx:145 AliITSSurveyToAlign.cxx:146 AliITSSurveyToAlign.cxx:147 AliITSSurveyToAlign.cxx:148 AliITSSurveyToAlign.cxx:149 AliITSSurveyToAlign.cxx:150 AliITSSurveyToAlign.cxx:151 AliITSSurveyToAlign.cxx:152 AliITSSurveyToAlign.cxx:153 AliITSSurveyToAlign.cxx:154 AliITSSurveyToAlign.cxx:155 AliITSSurveyToAlign.cxx:156 AliITSSurveyToAlign.cxx:157 AliITSSurveyToAlign.cxx:158 AliITSSurveyToAlign.cxx:159 AliITSSurveyToAlign.cxx:160 AliITSSurveyToAlign.cxx:161 AliITSSurveyToAlign.cxx:162 AliITSSurveyToAlign.cxx:163 AliITSSurveyToAlign.cxx:164 AliITSSurveyToAlign.cxx:165 AliITSSurveyToAlign.cxx:166 AliITSSurveyToAlign.cxx:167 AliITSSurveyToAlign.cxx:168 AliITSSurveyToAlign.cxx:169 AliITSSurveyToAlign.cxx:170 AliITSSurveyToAlign.cxx:171 AliITSSurveyToAlign.cxx:172 AliITSSurveyToAlign.cxx:173 AliITSSurveyToAlign.cxx:174 AliITSSurveyToAlign.cxx:175 AliITSSurveyToAlign.cxx:176 AliITSSurveyToAlign.cxx:177 AliITSSurveyToAlign.cxx:178 AliITSSurveyToAlign.cxx:179 AliITSSurveyToAlign.cxx:180 AliITSSurveyToAlign.cxx:181 AliITSSurveyToAlign.cxx:182 AliITSSurveyToAlign.cxx:183 AliITSSurveyToAlign.cxx:184 AliITSSurveyToAlign.cxx:185 AliITSSurveyToAlign.cxx:186 AliITSSurveyToAlign.cxx:187 AliITSSurveyToAlign.cxx:188 AliITSSurveyToAlign.cxx:189 AliITSSurveyToAlign.cxx:190 AliITSSurveyToAlign.cxx:191 AliITSSurveyToAlign.cxx:192 AliITSSurveyToAlign.cxx:193 AliITSSurveyToAlign.cxx:194 AliITSSurveyToAlign.cxx:195 AliITSSurveyToAlign.cxx:196 AliITSSurveyToAlign.cxx:197 AliITSSurveyToAlign.cxx:198 AliITSSurveyToAlign.cxx:199 AliITSSurveyToAlign.cxx:200 AliITSSurveyToAlign.cxx:201 AliITSSurveyToAlign.cxx:202 AliITSSurveyToAlign.cxx:203 AliITSSurveyToAlign.cxx:204 AliITSSurveyToAlign.cxx:205 AliITSSurveyToAlign.cxx:206 AliITSSurveyToAlign.cxx:207 AliITSSurveyToAlign.cxx:208 AliITSSurveyToAlign.cxx:209 AliITSSurveyToAlign.cxx:210 AliITSSurveyToAlign.cxx:211 AliITSSurveyToAlign.cxx:212 AliITSSurveyToAlign.cxx:213 AliITSSurveyToAlign.cxx:214 AliITSSurveyToAlign.cxx:215 AliITSSurveyToAlign.cxx:216 AliITSSurveyToAlign.cxx:217 AliITSSurveyToAlign.cxx:218 AliITSSurveyToAlign.cxx:219 AliITSSurveyToAlign.cxx:220 AliITSSurveyToAlign.cxx:221 AliITSSurveyToAlign.cxx:222 AliITSSurveyToAlign.cxx:223 AliITSSurveyToAlign.cxx:224 AliITSSurveyToAlign.cxx:225 AliITSSurveyToAlign.cxx:226 AliITSSurveyToAlign.cxx:227 AliITSSurveyToAlign.cxx:228 AliITSSurveyToAlign.cxx:229 AliITSSurveyToAlign.cxx:230 AliITSSurveyToAlign.cxx:231 AliITSSurveyToAlign.cxx:232 AliITSSurveyToAlign.cxx:233 AliITSSurveyToAlign.cxx:234 AliITSSurveyToAlign.cxx:235 AliITSSurveyToAlign.cxx:236 AliITSSurveyToAlign.cxx:237 AliITSSurveyToAlign.cxx:238 AliITSSurveyToAlign.cxx:239 AliITSSurveyToAlign.cxx:240 AliITSSurveyToAlign.cxx:241 AliITSSurveyToAlign.cxx:242 AliITSSurveyToAlign.cxx:243 AliITSSurveyToAlign.cxx:244 AliITSSurveyToAlign.cxx:245 AliITSSurveyToAlign.cxx:246 AliITSSurveyToAlign.cxx:247 AliITSSurveyToAlign.cxx:248 AliITSSurveyToAlign.cxx:249 AliITSSurveyToAlign.cxx:250 AliITSSurveyToAlign.cxx:251 AliITSSurveyToAlign.cxx:252 AliITSSurveyToAlign.cxx:253 AliITSSurveyToAlign.cxx:254 AliITSSurveyToAlign.cxx:255 AliITSSurveyToAlign.cxx:256 AliITSSurveyToAlign.cxx:257 AliITSSurveyToAlign.cxx:258 AliITSSurveyToAlign.cxx:259 AliITSSurveyToAlign.cxx:260 AliITSSurveyToAlign.cxx:261 AliITSSurveyToAlign.cxx:262 AliITSSurveyToAlign.cxx:263 AliITSSurveyToAlign.cxx:264 AliITSSurveyToAlign.cxx:265 AliITSSurveyToAlign.cxx:266 AliITSSurveyToAlign.cxx:267 AliITSSurveyToAlign.cxx:268 AliITSSurveyToAlign.cxx:269 AliITSSurveyToAlign.cxx:270 AliITSSurveyToAlign.cxx:271 AliITSSurveyToAlign.cxx:272 AliITSSurveyToAlign.cxx:273 AliITSSurveyToAlign.cxx:274 AliITSSurveyToAlign.cxx:275 AliITSSurveyToAlign.cxx:276 AliITSSurveyToAlign.cxx:277 AliITSSurveyToAlign.cxx:278 AliITSSurveyToAlign.cxx:279 AliITSSurveyToAlign.cxx:280 AliITSSurveyToAlign.cxx:281 AliITSSurveyToAlign.cxx:282 AliITSSurveyToAlign.cxx:283 AliITSSurveyToAlign.cxx:284 AliITSSurveyToAlign.cxx:285 AliITSSurveyToAlign.cxx:286 AliITSSurveyToAlign.cxx:287 AliITSSurveyToAlign.cxx:288 AliITSSurveyToAlign.cxx:289 AliITSSurveyToAlign.cxx:290 AliITSSurveyToAlign.cxx:291 AliITSSurveyToAlign.cxx:292 AliITSSurveyToAlign.cxx:293 AliITSSurveyToAlign.cxx:294 AliITSSurveyToAlign.cxx:295 AliITSSurveyToAlign.cxx:296 AliITSSurveyToAlign.cxx:297 AliITSSurveyToAlign.cxx:298 AliITSSurveyToAlign.cxx:299 AliITSSurveyToAlign.cxx:300 AliITSSurveyToAlign.cxx:301 AliITSSurveyToAlign.cxx:302 AliITSSurveyToAlign.cxx:303 AliITSSurveyToAlign.cxx:304 AliITSSurveyToAlign.cxx:305 AliITSSurveyToAlign.cxx:306 AliITSSurveyToAlign.cxx:307 AliITSSurveyToAlign.cxx:308 AliITSSurveyToAlign.cxx:309 AliITSSurveyToAlign.cxx:310 AliITSSurveyToAlign.cxx:311 AliITSSurveyToAlign.cxx:312 AliITSSurveyToAlign.cxx:313 AliITSSurveyToAlign.cxx:314 AliITSSurveyToAlign.cxx:315 AliITSSurveyToAlign.cxx:316 AliITSSurveyToAlign.cxx:317 AliITSSurveyToAlign.cxx:318 AliITSSurveyToAlign.cxx:319 AliITSSurveyToAlign.cxx:320 AliITSSurveyToAlign.cxx:321 AliITSSurveyToAlign.cxx:322 AliITSSurveyToAlign.cxx:323 AliITSSurveyToAlign.cxx:324 AliITSSurveyToAlign.cxx:325 AliITSSurveyToAlign.cxx:326 AliITSSurveyToAlign.cxx:327 AliITSSurveyToAlign.cxx:328 AliITSSurveyToAlign.cxx:329 AliITSSurveyToAlign.cxx:330 AliITSSurveyToAlign.cxx:331 AliITSSurveyToAlign.cxx:332 AliITSSurveyToAlign.cxx:333 AliITSSurveyToAlign.cxx:334 AliITSSurveyToAlign.cxx:335 AliITSSurveyToAlign.cxx:336 AliITSSurveyToAlign.cxx:337 AliITSSurveyToAlign.cxx:338 AliITSSurveyToAlign.cxx:339 AliITSSurveyToAlign.cxx:340 AliITSSurveyToAlign.cxx:341 AliITSSurveyToAlign.cxx:342 AliITSSurveyToAlign.cxx:343 AliITSSurveyToAlign.cxx:344 AliITSSurveyToAlign.cxx:345 AliITSSurveyToAlign.cxx:346 AliITSSurveyToAlign.cxx:347 AliITSSurveyToAlign.cxx:348 AliITSSurveyToAlign.cxx:349 AliITSSurveyToAlign.cxx:350 AliITSSurveyToAlign.cxx:351 AliITSSurveyToAlign.cxx:352 AliITSSurveyToAlign.cxx:353 AliITSSurveyToAlign.cxx:354 AliITSSurveyToAlign.cxx:355 AliITSSurveyToAlign.cxx:356 AliITSSurveyToAlign.cxx:357 AliITSSurveyToAlign.cxx:358 AliITSSurveyToAlign.cxx:359 AliITSSurveyToAlign.cxx:360 AliITSSurveyToAlign.cxx:361 AliITSSurveyToAlign.cxx:362 AliITSSurveyToAlign.cxx:363 AliITSSurveyToAlign.cxx:364 AliITSSurveyToAlign.cxx:365 AliITSSurveyToAlign.cxx:366 AliITSSurveyToAlign.cxx:367 AliITSSurveyToAlign.cxx:368 AliITSSurveyToAlign.cxx:369 AliITSSurveyToAlign.cxx:370 AliITSSurveyToAlign.cxx:371 AliITSSurveyToAlign.cxx:372 AliITSSurveyToAlign.cxx:373 AliITSSurveyToAlign.cxx:374 AliITSSurveyToAlign.cxx:375 AliITSSurveyToAlign.cxx:376 AliITSSurveyToAlign.cxx:377 AliITSSurveyToAlign.cxx:378 AliITSSurveyToAlign.cxx:379 AliITSSurveyToAlign.cxx:380 AliITSSurveyToAlign.cxx:381 AliITSSurveyToAlign.cxx:382 AliITSSurveyToAlign.cxx:383 AliITSSurveyToAlign.cxx:384 AliITSSurveyToAlign.cxx:385 AliITSSurveyToAlign.cxx:386 AliITSSurveyToAlign.cxx:387 AliITSSurveyToAlign.cxx:388 AliITSSurveyToAlign.cxx:389 AliITSSurveyToAlign.cxx:390 AliITSSurveyToAlign.cxx:391 AliITSSurveyToAlign.cxx:392 AliITSSurveyToAlign.cxx:393 AliITSSurveyToAlign.cxx:394 AliITSSurveyToAlign.cxx:395 AliITSSurveyToAlign.cxx:396 AliITSSurveyToAlign.cxx:397 AliITSSurveyToAlign.cxx:398 AliITSSurveyToAlign.cxx:399 AliITSSurveyToAlign.cxx:400 AliITSSurveyToAlign.cxx:401 AliITSSurveyToAlign.cxx:402 AliITSSurveyToAlign.cxx:403 AliITSSurveyToAlign.cxx:404 AliITSSurveyToAlign.cxx:405 AliITSSurveyToAlign.cxx:406 AliITSSurveyToAlign.cxx:407 AliITSSurveyToAlign.cxx:408 AliITSSurveyToAlign.cxx:409 AliITSSurveyToAlign.cxx:410 AliITSSurveyToAlign.cxx:411 AliITSSurveyToAlign.cxx:412 AliITSSurveyToAlign.cxx:413 AliITSSurveyToAlign.cxx:414 AliITSSurveyToAlign.cxx:415 AliITSSurveyToAlign.cxx:416 AliITSSurveyToAlign.cxx:417 AliITSSurveyToAlign.cxx:418 AliITSSurveyToAlign.cxx:419 AliITSSurveyToAlign.cxx:420 AliITSSurveyToAlign.cxx:421 AliITSSurveyToAlign.cxx:422 AliITSSurveyToAlign.cxx:423 AliITSSurveyToAlign.cxx:424 AliITSSurveyToAlign.cxx:425 AliITSSurveyToAlign.cxx:426 AliITSSurveyToAlign.cxx:427 AliITSSurveyToAlign.cxx:428 AliITSSurveyToAlign.cxx:429 AliITSSurveyToAlign.cxx:430 AliITSSurveyToAlign.cxx:431 AliITSSurveyToAlign.cxx:432 AliITSSurveyToAlign.cxx:433 AliITSSurveyToAlign.cxx:434 AliITSSurveyToAlign.cxx:435 AliITSSurveyToAlign.cxx:436 AliITSSurveyToAlign.cxx:437 AliITSSurveyToAlign.cxx:438 AliITSSurveyToAlign.cxx:439 AliITSSurveyToAlign.cxx:440 AliITSSurveyToAlign.cxx:441 AliITSSurveyToAlign.cxx:442 AliITSSurveyToAlign.cxx:443 AliITSSurveyToAlign.cxx:444 AliITSSurveyToAlign.cxx:445 AliITSSurveyToAlign.cxx:446 AliITSSurveyToAlign.cxx:447 AliITSSurveyToAlign.cxx:448 AliITSSurveyToAlign.cxx:449 AliITSSurveyToAlign.cxx:450 AliITSSurveyToAlign.cxx:451 AliITSSurveyToAlign.cxx:452 AliITSSurveyToAlign.cxx:453 AliITSSurveyToAlign.cxx:454 AliITSSurveyToAlign.cxx:455 AliITSSurveyToAlign.cxx:456 AliITSSurveyToAlign.cxx:457 AliITSSurveyToAlign.cxx:458 AliITSSurveyToAlign.cxx:459 AliITSSurveyToAlign.cxx:460 AliITSSurveyToAlign.cxx:461 AliITSSurveyToAlign.cxx:462 AliITSSurveyToAlign.cxx:463 AliITSSurveyToAlign.cxx:464 AliITSSurveyToAlign.cxx:465 AliITSSurveyToAlign.cxx:466 AliITSSurveyToAlign.cxx:467 AliITSSurveyToAlign.cxx:468 AliITSSurveyToAlign.cxx:469 AliITSSurveyToAlign.cxx:470 AliITSSurveyToAlign.cxx:471 AliITSSurveyToAlign.cxx:472 AliITSSurveyToAlign.cxx:473 AliITSSurveyToAlign.cxx:474 AliITSSurveyToAlign.cxx:475 AliITSSurveyToAlign.cxx:476 AliITSSurveyToAlign.cxx:477 AliITSSurveyToAlign.cxx:478 AliITSSurveyToAlign.cxx:479 AliITSSurveyToAlign.cxx:480 AliITSSurveyToAlign.cxx:481 AliITSSurveyToAlign.cxx:482 AliITSSurveyToAlign.cxx:483 AliITSSurveyToAlign.cxx:484 AliITSSurveyToAlign.cxx:485 AliITSSurveyToAlign.cxx:486 AliITSSurveyToAlign.cxx:487 AliITSSurveyToAlign.cxx:488 AliITSSurveyToAlign.cxx:489 AliITSSurveyToAlign.cxx:490 AliITSSurveyToAlign.cxx:491 AliITSSurveyToAlign.cxx:492 AliITSSurveyToAlign.cxx:493 AliITSSurveyToAlign.cxx:494 AliITSSurveyToAlign.cxx:495 AliITSSurveyToAlign.cxx:496 AliITSSurveyToAlign.cxx:497 AliITSSurveyToAlign.cxx:498 AliITSSurveyToAlign.cxx:499 AliITSSurveyToAlign.cxx:500 AliITSSurveyToAlign.cxx:501 AliITSSurveyToAlign.cxx:502 AliITSSurveyToAlign.cxx:503 AliITSSurveyToAlign.cxx:504 AliITSSurveyToAlign.cxx:505 AliITSSurveyToAlign.cxx:506 AliITSSurveyToAlign.cxx:507 AliITSSurveyToAlign.cxx:508 AliITSSurveyToAlign.cxx:509 AliITSSurveyToAlign.cxx:510 AliITSSurveyToAlign.cxx:511 AliITSSurveyToAlign.cxx:512 AliITSSurveyToAlign.cxx:513 AliITSSurveyToAlign.cxx:514 AliITSSurveyToAlign.cxx:515 AliITSSurveyToAlign.cxx:516 AliITSSurveyToAlign.cxx:517 AliITSSurveyToAlign.cxx:518 AliITSSurveyToAlign.cxx:519 AliITSSurveyToAlign.cxx:520 AliITSSurveyToAlign.cxx:521 AliITSSurveyToAlign.cxx:522 AliITSSurveyToAlign.cxx:523 AliITSSurveyToAlign.cxx:524 AliITSSurveyToAlign.cxx:525 AliITSSurveyToAlign.cxx:526 AliITSSurveyToAlign.cxx:527 AliITSSurveyToAlign.cxx:528 AliITSSurveyToAlign.cxx:529 AliITSSurveyToAlign.cxx:530 AliITSSurveyToAlign.cxx:531 AliITSSurveyToAlign.cxx:532 AliITSSurveyToAlign.cxx:533 AliITSSurveyToAlign.cxx:534 AliITSSurveyToAlign.cxx:535 AliITSSurveyToAlign.cxx:536 AliITSSurveyToAlign.cxx:537 AliITSSurveyToAlign.cxx:538 AliITSSurveyToAlign.cxx:539 AliITSSurveyToAlign.cxx:540 AliITSSurveyToAlign.cxx:541 AliITSSurveyToAlign.cxx:542 AliITSSurveyToAlign.cxx:543 AliITSSurveyToAlign.cxx:544 AliITSSurveyToAlign.cxx:545 AliITSSurveyToAlign.cxx:546 AliITSSurveyToAlign.cxx:547 AliITSSurveyToAlign.cxx:548 AliITSSurveyToAlign.cxx:549 AliITSSurveyToAlign.cxx:550 AliITSSurveyToAlign.cxx:551 AliITSSurveyToAlign.cxx:552 AliITSSurveyToAlign.cxx:553 AliITSSurveyToAlign.cxx:554 AliITSSurveyToAlign.cxx:555 AliITSSurveyToAlign.cxx:556 AliITSSurveyToAlign.cxx:557 AliITSSurveyToAlign.cxx:558 AliITSSurveyToAlign.cxx:559 AliITSSurveyToAlign.cxx:560 AliITSSurveyToAlign.cxx:561 AliITSSurveyToAlign.cxx:562 AliITSSurveyToAlign.cxx:563 AliITSSurveyToAlign.cxx:564 AliITSSurveyToAlign.cxx:565 AliITSSurveyToAlign.cxx:566 AliITSSurveyToAlign.cxx:567 AliITSSurveyToAlign.cxx:568 AliITSSurveyToAlign.cxx:569 AliITSSurveyToAlign.cxx:570 AliITSSurveyToAlign.cxx:571 AliITSSurveyToAlign.cxx:572 AliITSSurveyToAlign.cxx:573 AliITSSurveyToAlign.cxx:574 AliITSSurveyToAlign.cxx:575 AliITSSurveyToAlign.cxx:576 AliITSSurveyToAlign.cxx:577 AliITSSurveyToAlign.cxx:578 AliITSSurveyToAlign.cxx:579 AliITSSurveyToAlign.cxx:580 AliITSSurveyToAlign.cxx:581 AliITSSurveyToAlign.cxx:582 AliITSSurveyToAlign.cxx:583 AliITSSurveyToAlign.cxx:584 AliITSSurveyToAlign.cxx:585 AliITSSurveyToAlign.cxx:586 AliITSSurveyToAlign.cxx:587 AliITSSurveyToAlign.cxx:588 AliITSSurveyToAlign.cxx:589 AliITSSurveyToAlign.cxx:590 AliITSSurveyToAlign.cxx:591 AliITSSurveyToAlign.cxx:592 AliITSSurveyToAlign.cxx:593 AliITSSurveyToAlign.cxx:594 AliITSSurveyToAlign.cxx:595 AliITSSurveyToAlign.cxx:596 AliITSSurveyToAlign.cxx:597 AliITSSurveyToAlign.cxx:598 AliITSSurveyToAlign.cxx:599 AliITSSurveyToAlign.cxx:600 AliITSSurveyToAlign.cxx:601 AliITSSurveyToAlign.cxx:602 AliITSSurveyToAlign.cxx:603 AliITSSurveyToAlign.cxx:604 AliITSSurveyToAlign.cxx:605 AliITSSurveyToAlign.cxx:606 AliITSSurveyToAlign.cxx:607 AliITSSurveyToAlign.cxx:608 AliITSSurveyToAlign.cxx:609 AliITSSurveyToAlign.cxx:610 AliITSSurveyToAlign.cxx:611 AliITSSurveyToAlign.cxx:612 AliITSSurveyToAlign.cxx:613 AliITSSurveyToAlign.cxx:614 AliITSSurveyToAlign.cxx:615 AliITSSurveyToAlign.cxx:616 AliITSSurveyToAlign.cxx:617 AliITSSurveyToAlign.cxx:618 AliITSSurveyToAlign.cxx:619 AliITSSurveyToAlign.cxx:620 AliITSSurveyToAlign.cxx:621 AliITSSurveyToAlign.cxx:622 AliITSSurveyToAlign.cxx:623 AliITSSurveyToAlign.cxx:624 AliITSSurveyToAlign.cxx:625 AliITSSurveyToAlign.cxx:626 AliITSSurveyToAlign.cxx:627 AliITSSurveyToAlign.cxx:628 AliITSSurveyToAlign.cxx:629 AliITSSurveyToAlign.cxx:630 AliITSSurveyToAlign.cxx:631 AliITSSurveyToAlign.cxx:632 AliITSSurveyToAlign.cxx:633 AliITSSurveyToAlign.cxx:634 AliITSSurveyToAlign.cxx:635 AliITSSurveyToAlign.cxx:636 AliITSSurveyToAlign.cxx:637 AliITSSurveyToAlign.cxx:638 AliITSSurveyToAlign.cxx:639 AliITSSurveyToAlign.cxx:640 AliITSSurveyToAlign.cxx:641 AliITSSurveyToAlign.cxx:642 AliITSSurveyToAlign.cxx:643 AliITSSurveyToAlign.cxx:644 AliITSSurveyToAlign.cxx:645 AliITSSurveyToAlign.cxx:646 AliITSSurveyToAlign.cxx:647 AliITSSurveyToAlign.cxx:648 AliITSSurveyToAlign.cxx:649 AliITSSurveyToAlign.cxx:650 AliITSSurveyToAlign.cxx:651 AliITSSurveyToAlign.cxx:652 AliITSSurveyToAlign.cxx:653 AliITSSurveyToAlign.cxx:654 AliITSSurveyToAlign.cxx:655 AliITSSurveyToAlign.cxx:656 AliITSSurveyToAlign.cxx:657 AliITSSurveyToAlign.cxx:658 AliITSSurveyToAlign.cxx:659 AliITSSurveyToAlign.cxx:660 AliITSSurveyToAlign.cxx:661 AliITSSurveyToAlign.cxx:662 AliITSSurveyToAlign.cxx:663 AliITSSurveyToAlign.cxx:664 AliITSSurveyToAlign.cxx:665 AliITSSurveyToAlign.cxx:666 AliITSSurveyToAlign.cxx:667 AliITSSurveyToAlign.cxx:668 AliITSSurveyToAlign.cxx:669 AliITSSurveyToAlign.cxx:670 AliITSSurveyToAlign.cxx:671 AliITSSurveyToAlign.cxx:672 AliITSSurveyToAlign.cxx:673 AliITSSurveyToAlign.cxx:674 AliITSSurveyToAlign.cxx:675 AliITSSurveyToAlign.cxx:676 AliITSSurveyToAlign.cxx:677 AliITSSurveyToAlign.cxx:678 AliITSSurveyToAlign.cxx:679 AliITSSurveyToAlign.cxx:680 AliITSSurveyToAlign.cxx:681 AliITSSurveyToAlign.cxx:682 AliITSSurveyToAlign.cxx:683 AliITSSurveyToAlign.cxx:684 AliITSSurveyToAlign.cxx:685 AliITSSurveyToAlign.cxx:686 AliITSSurveyToAlign.cxx:687 AliITSSurveyToAlign.cxx:688 AliITSSurveyToAlign.cxx:689 AliITSSurveyToAlign.cxx:690 AliITSSurveyToAlign.cxx:691 AliITSSurveyToAlign.cxx:692 AliITSSurveyToAlign.cxx:693 AliITSSurveyToAlign.cxx:694 AliITSSurveyToAlign.cxx:695 AliITSSurveyToAlign.cxx:696 AliITSSurveyToAlign.cxx:697 AliITSSurveyToAlign.cxx:698 AliITSSurveyToAlign.cxx:699 AliITSSurveyToAlign.cxx:700 AliITSSurveyToAlign.cxx:701 AliITSSurveyToAlign.cxx:702 AliITSSurveyToAlign.cxx:703 AliITSSurveyToAlign.cxx:704 AliITSSurveyToAlign.cxx:705 AliITSSurveyToAlign.cxx:706 AliITSSurveyToAlign.cxx:707 AliITSSurveyToAlign.cxx:708 AliITSSurveyToAlign.cxx:709 AliITSSurveyToAlign.cxx:710 AliITSSurveyToAlign.cxx:711 AliITSSurveyToAlign.cxx:712 AliITSSurveyToAlign.cxx:713 AliITSSurveyToAlign.cxx:714 AliITSSurveyToAlign.cxx:715 AliITSSurveyToAlign.cxx:716 AliITSSurveyToAlign.cxx:717 AliITSSurveyToAlign.cxx:718 AliITSSurveyToAlign.cxx:719 AliITSSurveyToAlign.cxx:720 AliITSSurveyToAlign.cxx:721 AliITSSurveyToAlign.cxx:722 AliITSSurveyToAlign.cxx:723 AliITSSurveyToAlign.cxx:724 AliITSSurveyToAlign.cxx:725 AliITSSurveyToAlign.cxx:726 AliITSSurveyToAlign.cxx:727 AliITSSurveyToAlign.cxx:728 AliITSSurveyToAlign.cxx:729 AliITSSurveyToAlign.cxx:730 AliITSSurveyToAlign.cxx:731 AliITSSurveyToAlign.cxx:732 AliITSSurveyToAlign.cxx:733 AliITSSurveyToAlign.cxx:734 AliITSSurveyToAlign.cxx:735 AliITSSurveyToAlign.cxx:736 AliITSSurveyToAlign.cxx:737 AliITSSurveyToAlign.cxx:738 AliITSSurveyToAlign.cxx:739 AliITSSurveyToAlign.cxx:740 AliITSSurveyToAlign.cxx:741 AliITSSurveyToAlign.cxx:742 AliITSSurveyToAlign.cxx:743 AliITSSurveyToAlign.cxx:744 AliITSSurveyToAlign.cxx:745 AliITSSurveyToAlign.cxx:746 AliITSSurveyToAlign.cxx:747 AliITSSurveyToAlign.cxx:748 AliITSSurveyToAlign.cxx:749 AliITSSurveyToAlign.cxx:750 AliITSSurveyToAlign.cxx:751 AliITSSurveyToAlign.cxx:752 AliITSSurveyToAlign.cxx:753 AliITSSurveyToAlign.cxx:754 AliITSSurveyToAlign.cxx:755 AliITSSurveyToAlign.cxx:756 AliITSSurveyToAlign.cxx:757 AliITSSurveyToAlign.cxx:758 AliITSSurveyToAlign.cxx:759 AliITSSurveyToAlign.cxx:760 AliITSSurveyToAlign.cxx:761 AliITSSurveyToAlign.cxx:762 AliITSSurveyToAlign.cxx:763 AliITSSurveyToAlign.cxx:764 AliITSSurveyToAlign.cxx:765 AliITSSurveyToAlign.cxx:766 AliITSSurveyToAlign.cxx:767 AliITSSurveyToAlign.cxx:768 AliITSSurveyToAlign.cxx:769 AliITSSurveyToAlign.cxx:770 AliITSSurveyToAlign.cxx:771 AliITSSurveyToAlign.cxx:772 AliITSSurveyToAlign.cxx:773 AliITSSurveyToAlign.cxx:774 AliITSSurveyToAlign.cxx:775 AliITSSurveyToAlign.cxx:776 AliITSSurveyToAlign.cxx:777 AliITSSurveyToAlign.cxx:778 AliITSSurveyToAlign.cxx:779 AliITSSurveyToAlign.cxx:780 AliITSSurveyToAlign.cxx:781 AliITSSurveyToAlign.cxx:782 AliITSSurveyToAlign.cxx:783 AliITSSurveyToAlign.cxx:784 AliITSSurveyToAlign.cxx:785 AliITSSurveyToAlign.cxx:786 AliITSSurveyToAlign.cxx:787 AliITSSurveyToAlign.cxx:788 AliITSSurveyToAlign.cxx:789 AliITSSurveyToAlign.cxx:790 AliITSSurveyToAlign.cxx:791 AliITSSurveyToAlign.cxx:792 AliITSSurveyToAlign.cxx:793 AliITSSurveyToAlign.cxx:794 AliITSSurveyToAlign.cxx:795 AliITSSurveyToAlign.cxx:796 AliITSSurveyToAlign.cxx:797 AliITSSurveyToAlign.cxx:798 AliITSSurveyToAlign.cxx:799 AliITSSurveyToAlign.cxx:800 AliITSSurveyToAlign.cxx:801 AliITSSurveyToAlign.cxx:802 AliITSSurveyToAlign.cxx:803 AliITSSurveyToAlign.cxx:804 AliITSSurveyToAlign.cxx:805 AliITSSurveyToAlign.cxx:806 AliITSSurveyToAlign.cxx:807 AliITSSurveyToAlign.cxx:808 AliITSSurveyToAlign.cxx:809 AliITSSurveyToAlign.cxx:810 AliITSSurveyToAlign.cxx:811 AliITSSurveyToAlign.cxx:812 AliITSSurveyToAlign.cxx:813 AliITSSurveyToAlign.cxx:814 AliITSSurveyToAlign.cxx:815 AliITSSurveyToAlign.cxx:816 AliITSSurveyToAlign.cxx:817 AliITSSurveyToAlign.cxx:818 AliITSSurveyToAlign.cxx:819 AliITSSurveyToAlign.cxx:820 AliITSSurveyToAlign.cxx:821 AliITSSurveyToAlign.cxx:822 AliITSSurveyToAlign.cxx:823 AliITSSurveyToAlign.cxx:824 AliITSSurveyToAlign.cxx:825 AliITSSurveyToAlign.cxx:826 AliITSSurveyToAlign.cxx:827 AliITSSurveyToAlign.cxx:828 AliITSSurveyToAlign.cxx:829 AliITSSurveyToAlign.cxx:830 AliITSSurveyToAlign.cxx:831 AliITSSurveyToAlign.cxx:832 AliITSSurveyToAlign.cxx:833 AliITSSurveyToAlign.cxx:834 AliITSSurveyToAlign.cxx:835 AliITSSurveyToAlign.cxx:836 AliITSSurveyToAlign.cxx:837 AliITSSurveyToAlign.cxx:838 AliITSSurveyToAlign.cxx:839 AliITSSurveyToAlign.cxx:840 AliITSSurveyToAlign.cxx:841 AliITSSurveyToAlign.cxx:842 AliITSSurveyToAlign.cxx:843 AliITSSurveyToAlign.cxx:844 AliITSSurveyToAlign.cxx:845 AliITSSurveyToAlign.cxx:846 AliITSSurveyToAlign.cxx:847 AliITSSurveyToAlign.cxx:848 AliITSSurveyToAlign.cxx:849 AliITSSurveyToAlign.cxx:850 AliITSSurveyToAlign.cxx:851 AliITSSurveyToAlign.cxx:852 AliITSSurveyToAlign.cxx:853 AliITSSurveyToAlign.cxx:854 AliITSSurveyToAlign.cxx:855 AliITSSurveyToAlign.cxx:856 AliITSSurveyToAlign.cxx:857 AliITSSurveyToAlign.cxx:858 AliITSSurveyToAlign.cxx:859 AliITSSurveyToAlign.cxx:860 AliITSSurveyToAlign.cxx:861 AliITSSurveyToAlign.cxx:862 AliITSSurveyToAlign.cxx:863 AliITSSurveyToAlign.cxx:864 AliITSSurveyToAlign.cxx:865 AliITSSurveyToAlign.cxx:866 AliITSSurveyToAlign.cxx:867 AliITSSurveyToAlign.cxx:868 AliITSSurveyToAlign.cxx:869 AliITSSurveyToAlign.cxx:870 AliITSSurveyToAlign.cxx:871 AliITSSurveyToAlign.cxx:872 AliITSSurveyToAlign.cxx:873 AliITSSurveyToAlign.cxx:874 AliITSSurveyToAlign.cxx:875 AliITSSurveyToAlign.cxx:876 AliITSSurveyToAlign.cxx:877 AliITSSurveyToAlign.cxx:878 AliITSSurveyToAlign.cxx:879 AliITSSurveyToAlign.cxx:880 AliITSSurveyToAlign.cxx:881 AliITSSurveyToAlign.cxx:882 AliITSSurveyToAlign.cxx:883 AliITSSurveyToAlign.cxx:884 AliITSSurveyToAlign.cxx:885 AliITSSurveyToAlign.cxx:886 AliITSSurveyToAlign.cxx:887 AliITSSurveyToAlign.cxx:888 AliITSSurveyToAlign.cxx:889 AliITSSurveyToAlign.cxx:890 AliITSSurveyToAlign.cxx:891 AliITSSurveyToAlign.cxx:892 AliITSSurveyToAlign.cxx:893 AliITSSurveyToAlign.cxx:894 AliITSSurveyToAlign.cxx:895 AliITSSurveyToAlign.cxx:896 AliITSSurveyToAlign.cxx:897 AliITSSurveyToAlign.cxx:898 AliITSSurveyToAlign.cxx:899 AliITSSurveyToAlign.cxx:900 AliITSSurveyToAlign.cxx:901 AliITSSurveyToAlign.cxx:902 AliITSSurveyToAlign.cxx:903 AliITSSurveyToAlign.cxx:904 AliITSSurveyToAlign.cxx:905 AliITSSurveyToAlign.cxx:906 AliITSSurveyToAlign.cxx:907 AliITSSurveyToAlign.cxx:908 AliITSSurveyToAlign.cxx:909 AliITSSurveyToAlign.cxx:910 AliITSSurveyToAlign.cxx:911 AliITSSurveyToAlign.cxx:912 AliITSSurveyToAlign.cxx:913 AliITSSurveyToAlign.cxx:914 AliITSSurveyToAlign.cxx:915 AliITSSurveyToAlign.cxx:916 AliITSSurveyToAlign.cxx:917 AliITSSurveyToAlign.cxx:918 AliITSSurveyToAlign.cxx:919 AliITSSurveyToAlign.cxx:920 AliITSSurveyToAlign.cxx:921 AliITSSurveyToAlign.cxx:922 AliITSSurveyToAlign.cxx:923 AliITSSurveyToAlign.cxx:924 AliITSSurveyToAlign.cxx:925 AliITSSurveyToAlign.cxx:926 AliITSSurveyToAlign.cxx:927 AliITSSurveyToAlign.cxx:928 AliITSSurveyToAlign.cxx:929 AliITSSurveyToAlign.cxx:930 AliITSSurveyToAlign.cxx:931 AliITSSurveyToAlign.cxx:932 AliITSSurveyToAlign.cxx:933 AliITSSurveyToAlign.cxx:934 AliITSSurveyToAlign.cxx:935 AliITSSurveyToAlign.cxx:936 AliITSSurveyToAlign.cxx:937 AliITSSurveyToAlign.cxx:938 AliITSSurveyToAlign.cxx:939 AliITSSurveyToAlign.cxx:940 AliITSSurveyToAlign.cxx:941 AliITSSurveyToAlign.cxx:942 AliITSSurveyToAlign.cxx:943 AliITSSurveyToAlign.cxx:944 AliITSSurveyToAlign.cxx:945 AliITSSurveyToAlign.cxx:946 AliITSSurveyToAlign.cxx:947 AliITSSurveyToAlign.cxx:948 AliITSSurveyToAlign.cxx:949 AliITSSurveyToAlign.cxx:950 AliITSSurveyToAlign.cxx:951 AliITSSurveyToAlign.cxx:952 AliITSSurveyToAlign.cxx:953 AliITSSurveyToAlign.cxx:954 AliITSSurveyToAlign.cxx:955 AliITSSurveyToAlign.cxx:956 AliITSSurveyToAlign.cxx:957 AliITSSurveyToAlign.cxx:958 AliITSSurveyToAlign.cxx:959 AliITSSurveyToAlign.cxx:960 AliITSSurveyToAlign.cxx:961 AliITSSurveyToAlign.cxx:962 AliITSSurveyToAlign.cxx:963 AliITSSurveyToAlign.cxx:964 AliITSSurveyToAlign.cxx:965 AliITSSurveyToAlign.cxx:966 AliITSSurveyToAlign.cxx:967 AliITSSurveyToAlign.cxx:968 AliITSSurveyToAlign.cxx:969 AliITSSurveyToAlign.cxx:970 AliITSSurveyToAlign.cxx:971 AliITSSurveyToAlign.cxx:972 AliITSSurveyToAlign.cxx:973 AliITSSurveyToAlign.cxx:974 AliITSSurveyToAlign.cxx:975 AliITSSurveyToAlign.cxx:976 AliITSSurveyToAlign.cxx:977 AliITSSurveyToAlign.cxx:978 AliITSSurveyToAlign.cxx:979 AliITSSurveyToAlign.cxx:980 AliITSSurveyToAlign.cxx:981 AliITSSurveyToAlign.cxx:982 AliITSSurveyToAlign.cxx:983 AliITSSurveyToAlign.cxx:984 AliITSSurveyToAlign.cxx:985 AliITSSurveyToAlign.cxx:986 AliITSSurveyToAlign.cxx:987 AliITSSurveyToAlign.cxx:988 AliITSSurveyToAlign.cxx:989 AliITSSurveyToAlign.cxx:990 AliITSSurveyToAlign.cxx:991 AliITSSurveyToAlign.cxx:992 AliITSSurveyToAlign.cxx:993 AliITSSurveyToAlign.cxx:994 AliITSSurveyToAlign.cxx:995 AliITSSurveyToAlign.cxx:996 AliITSSurveyToAlign.cxx:997 AliITSSurveyToAlign.cxx:998 AliITSSurveyToAlign.cxx:999 AliITSSurveyToAlign.cxx:1000 AliITSSurveyToAlign.cxx:1001 AliITSSurveyToAlign.cxx:1002 AliITSSurveyToAlign.cxx:1003 AliITSSurveyToAlign.cxx:1004 AliITSSurveyToAlign.cxx:1005 AliITSSurveyToAlign.cxx:1006 AliITSSurveyToAlign.cxx:1007 AliITSSurveyToAlign.cxx:1008 AliITSSurveyToAlign.cxx:1009 AliITSSurveyToAlign.cxx:1010 AliITSSurveyToAlign.cxx:1011 AliITSSurveyToAlign.cxx:1012 AliITSSurveyToAlign.cxx:1013 AliITSSurveyToAlign.cxx:1014 AliITSSurveyToAlign.cxx:1015 AliITSSurveyToAlign.cxx:1016 AliITSSurveyToAlign.cxx:1017 AliITSSurveyToAlign.cxx:1018 AliITSSurveyToAlign.cxx:1019 AliITSSurveyToAlign.cxx:1020 AliITSSurveyToAlign.cxx:1021 AliITSSurveyToAlign.cxx:1022 AliITSSurveyToAlign.cxx:1023 AliITSSurveyToAlign.cxx:1024 AliITSSurveyToAlign.cxx:1025 AliITSSurveyToAlign.cxx:1026 AliITSSurveyToAlign.cxx:1027 AliITSSurveyToAlign.cxx:1028 AliITSSurveyToAlign.cxx:1029 AliITSSurveyToAlign.cxx:1030 AliITSSurveyToAlign.cxx:1031 AliITSSurveyToAlign.cxx:1032 AliITSSurveyToAlign.cxx:1033 AliITSSurveyToAlign.cxx:1034 AliITSSurveyToAlign.cxx:1035 AliITSSurveyToAlign.cxx:1036 AliITSSurveyToAlign.cxx:1037 AliITSSurveyToAlign.cxx:1038 AliITSSurveyToAlign.cxx:1039 AliITSSurveyToAlign.cxx:1040 AliITSSurveyToAlign.cxx:1041 AliITSSurveyToAlign.cxx:1042 AliITSSurveyToAlign.cxx:1043 AliITSSurveyToAlign.cxx:1044 AliITSSurveyToAlign.cxx:1045 AliITSSurveyToAlign.cxx:1046 AliITSSurveyToAlign.cxx:1047 AliITSSurveyToAlign.cxx:1048 AliITSSurveyToAlign.cxx:1049 AliITSSurveyToAlign.cxx:1050 AliITSSurveyToAlign.cxx:1051 AliITSSurveyToAlign.cxx:1052 AliITSSurveyToAlign.cxx:1053 AliITSSurveyToAlign.cxx:1054 AliITSSurveyToAlign.cxx:1055 AliITSSurveyToAlign.cxx:1056 AliITSSurveyToAlign.cxx:1057 AliITSSurveyToAlign.cxx:1058 AliITSSurveyToAlign.cxx:1059 AliITSSurveyToAlign.cxx:1060 AliITSSurveyToAlign.cxx:1061 AliITSSurveyToAlign.cxx:1062 AliITSSurveyToAlign.cxx:1063 AliITSSurveyToAlign.cxx:1064 AliITSSurveyToAlign.cxx:1065 AliITSSurveyToAlign.cxx:1066 AliITSSurveyToAlign.cxx:1067 AliITSSurveyToAlign.cxx:1068 AliITSSurveyToAlign.cxx:1069 AliITSSurveyToAlign.cxx:1070 AliITSSurveyToAlign.cxx:1071 AliITSSurveyToAlign.cxx:1072 AliITSSurveyToAlign.cxx:1073 AliITSSurveyToAlign.cxx:1074 AliITSSurveyToAlign.cxx:1075 AliITSSurveyToAlign.cxx:1076 AliITSSurveyToAlign.cxx:1077 AliITSSurveyToAlign.cxx:1078 AliITSSurveyToAlign.cxx:1079 AliITSSurveyToAlign.cxx:1080 AliITSSurveyToAlign.cxx:1081 AliITSSurveyToAlign.cxx:1082 AliITSSurveyToAlign.cxx:1083 AliITSSurveyToAlign.cxx:1084 AliITSSurveyToAlign.cxx:1085 AliITSSurveyToAlign.cxx:1086 AliITSSurveyToAlign.cxx:1087 AliITSSurveyToAlign.cxx:1088 AliITSSurveyToAlign.cxx:1089 AliITSSurveyToAlign.cxx:1090 AliITSSurveyToAlign.cxx:1091 AliITSSurveyToAlign.cxx:1092 AliITSSurveyToAlign.cxx:1093 AliITSSurveyToAlign.cxx:1094 AliITSSurveyToAlign.cxx:1095 AliITSSurveyToAlign.cxx:1096 AliITSSurveyToAlign.cxx:1097 AliITSSurveyToAlign.cxx:1098 AliITSSurveyToAlign.cxx:1099 AliITSSurveyToAlign.cxx:1100 AliITSSurveyToAlign.cxx:1101 AliITSSurveyToAlign.cxx:1102 AliITSSurveyToAlign.cxx:1103 AliITSSurveyToAlign.cxx:1104 AliITSSurveyToAlign.cxx:1105 AliITSSurveyToAlign.cxx:1106 AliITSSurveyToAlign.cxx:1107 AliITSSurveyToAlign.cxx:1108 AliITSSurveyToAlign.cxx:1109 AliITSSurveyToAlign.cxx:1110 AliITSSurveyToAlign.cxx:1111 AliITSSurveyToAlign.cxx:1112 AliITSSurveyToAlign.cxx:1113 AliITSSurveyToAlign.cxx:1114 AliITSSurveyToAlign.cxx:1115 AliITSSurveyToAlign.cxx:1116 AliITSSurveyToAlign.cxx:1117 AliITSSurveyToAlign.cxx:1118 AliITSSurveyToAlign.cxx:1119 AliITSSurveyToAlign.cxx:1120 AliITSSurveyToAlign.cxx:1121 AliITSSurveyToAlign.cxx:1122 AliITSSurveyToAlign.cxx:1123 AliITSSurveyToAlign.cxx:1124 AliITSSurveyToAlign.cxx:1125 AliITSSurveyToAlign.cxx:1126 AliITSSurveyToAlign.cxx:1127 AliITSSurveyToAlign.cxx:1128 AliITSSurveyToAlign.cxx:1129 AliITSSurveyToAlign.cxx:1130 AliITSSurveyToAlign.cxx:1131 AliITSSurveyToAlign.cxx:1132 AliITSSurveyToAlign.cxx:1133 AliITSSurveyToAlign.cxx:1134 AliITSSurveyToAlign.cxx:1135 AliITSSurveyToAlign.cxx:1136 AliITSSurveyToAlign.cxx:1137 AliITSSurveyToAlign.cxx:1138 AliITSSurveyToAlign.cxx:1139 AliITSSurveyToAlign.cxx:1140 AliITSSurveyToAlign.cxx:1141 AliITSSurveyToAlign.cxx:1142 AliITSSurveyToAlign.cxx:1143 AliITSSurveyToAlign.cxx:1144 AliITSSurveyToAlign.cxx:1145 AliITSSurveyToAlign.cxx:1146 AliITSSurveyToAlign.cxx:1147 AliITSSurveyToAlign.cxx:1148 AliITSSurveyToAlign.cxx:1149 AliITSSurveyToAlign.cxx:1150 AliITSSurveyToAlign.cxx:1151 AliITSSurveyToAlign.cxx:1152 AliITSSurveyToAlign.cxx:1153 AliITSSurveyToAlign.cxx:1154 AliITSSurveyToAlign.cxx:1155 AliITSSurveyToAlign.cxx:1156 AliITSSurveyToAlign.cxx:1157 AliITSSurveyToAlign.cxx:1158 AliITSSurveyToAlign.cxx:1159 AliITSSurveyToAlign.cxx:1160 AliITSSurveyToAlign.cxx:1161 AliITSSurveyToAlign.cxx:1162 AliITSSurveyToAlign.cxx:1163 AliITSSurveyToAlign.cxx:1164 AliITSSurveyToAlign.cxx:1165 AliITSSurveyToAlign.cxx:1166 AliITSSurveyToAlign.cxx:1167 AliITSSurveyToAlign.cxx:1168 AliITSSurveyToAlign.cxx:1169 AliITSSurveyToAlign.cxx:1170 AliITSSurveyToAlign.cxx:1171 AliITSSurveyToAlign.cxx:1172 AliITSSurveyToAlign.cxx:1173 AliITSSurveyToAlign.cxx:1174 AliITSSurveyToAlign.cxx:1175 AliITSSurveyToAlign.cxx:1176 AliITSSurveyToAlign.cxx:1177 AliITSSurveyToAlign.cxx:1178 AliITSSurveyToAlign.cxx:1179 AliITSSurveyToAlign.cxx:1180 AliITSSurveyToAlign.cxx:1181 AliITSSurveyToAlign.cxx:1182 AliITSSurveyToAlign.cxx:1183 AliITSSurveyToAlign.cxx:1184 AliITSSurveyToAlign.cxx:1185 AliITSSurveyToAlign.cxx:1186 AliITSSurveyToAlign.cxx:1187 AliITSSurveyToAlign.cxx:1188 AliITSSurveyToAlign.cxx:1189 AliITSSurveyToAlign.cxx:1190 AliITSSurveyToAlign.cxx:1191 AliITSSurveyToAlign.cxx:1192 AliITSSurveyToAlign.cxx:1193 AliITSSurveyToAlign.cxx:1194 AliITSSurveyToAlign.cxx:1195 AliITSSurveyToAlign.cxx:1196 AliITSSurveyToAlign.cxx:1197 AliITSSurveyToAlign.cxx:1198 AliITSSurveyToAlign.cxx:1199 AliITSSurveyToAlign.cxx:1200 AliITSSurveyToAlign.cxx:1201 AliITSSurveyToAlign.cxx:1202 AliITSSurveyToAlign.cxx:1203 AliITSSurveyToAlign.cxx:1204 AliITSSurveyToAlign.cxx:1205 AliITSSurveyToAlign.cxx:1206 AliITSSurveyToAlign.cxx:1207 AliITSSurveyToAlign.cxx:1208 AliITSSurveyToAlign.cxx:1209 AliITSSurveyToAlign.cxx:1210 AliITSSurveyToAlign.cxx:1211 AliITSSurveyToAlign.cxx:1212 AliITSSurveyToAlign.cxx:1213 AliITSSurveyToAlign.cxx:1214 AliITSSurveyToAlign.cxx:1215 AliITSSurveyToAlign.cxx:1216 AliITSSurveyToAlign.cxx:1217 AliITSSurveyToAlign.cxx:1218 AliITSSurveyToAlign.cxx:1219 AliITSSurveyToAlign.cxx:1220 AliITSSurveyToAlign.cxx:1221 AliITSSurveyToAlign.cxx:1222 AliITSSurveyToAlign.cxx:1223 AliITSSurveyToAlign.cxx:1224 AliITSSurveyToAlign.cxx:1225 AliITSSurveyToAlign.cxx:1226 AliITSSurveyToAlign.cxx:1227 AliITSSurveyToAlign.cxx:1228 AliITSSurveyToAlign.cxx:1229 AliITSSurveyToAlign.cxx:1230 AliITSSurveyToAlign.cxx:1231 AliITSSurveyToAlign.cxx:1232 AliITSSurveyToAlign.cxx:1233 AliITSSurveyToAlign.cxx:1234 AliITSSurveyToAlign.cxx:1235 AliITSSurveyToAlign.cxx:1236 AliITSSurveyToAlign.cxx:1237 AliITSSurveyToAlign.cxx:1238 AliITSSurveyToAlign.cxx:1239 AliITSSurveyToAlign.cxx:1240 AliITSSurveyToAlign.cxx:1241 AliITSSurveyToAlign.cxx:1242 AliITSSurveyToAlign.cxx:1243 AliITSSurveyToAlign.cxx:1244 AliITSSurveyToAlign.cxx:1245 AliITSSurveyToAlign.cxx:1246 AliITSSurveyToAlign.cxx:1247 AliITSSurveyToAlign.cxx:1248 AliITSSurveyToAlign.cxx:1249 AliITSSurveyToAlign.cxx:1250 AliITSSurveyToAlign.cxx:1251 AliITSSurveyToAlign.cxx:1252 AliITSSurveyToAlign.cxx:1253 AliITSSurveyToAlign.cxx:1254 AliITSSurveyToAlign.cxx:1255 AliITSSurveyToAlign.cxx:1256 AliITSSurveyToAlign.cxx:1257 AliITSSurveyToAlign.cxx:1258 AliITSSurveyToAlign.cxx:1259 AliITSSurveyToAlign.cxx:1260 AliITSSurveyToAlign.cxx:1261 AliITSSurveyToAlign.cxx:1262 AliITSSurveyToAlign.cxx:1263 AliITSSurveyToAlign.cxx:1264 AliITSSurveyToAlign.cxx:1265 AliITSSurveyToAlign.cxx:1266 AliITSSurveyToAlign.cxx:1267 AliITSSurveyToAlign.cxx:1268 AliITSSurveyToAlign.cxx:1269 AliITSSurveyToAlign.cxx:1270 AliITSSurveyToAlign.cxx:1271 AliITSSurveyToAlign.cxx:1272 AliITSSurveyToAlign.cxx:1273 AliITSSurveyToAlign.cxx:1274 AliITSSurveyToAlign.cxx:1275 AliITSSurveyToAlign.cxx:1276 AliITSSurveyToAlign.cxx:1277 AliITSSurveyToAlign.cxx:1278