#include <TGeoManager.h>
#include <TGeoMatrix.h>
#include "AliITSAlignMille2Module.h"
#include "AliITSgeomTGeo.h"
#include "AliGeomManager.h"
#include "AliAlignObjParams.h"
#include "AliLog.h"
#include "AliITSAlignMille2.h"
ClassImp(AliITSAlignMille2Module)
#define CORHW_
const Float_t AliITSAlignMille2Module::fgkDummyConstraint = 1e-2;
AliITSAlignMille2Module::AliITSAlignMille2Module() :
TNamed(),
fNSensVol(0),
fIndex(-1),
fDetType(-1),
fVolumeID(0),
fNParTot(0),
fNParFree(0),
fParOffs(0),
fNProcPoints(0),
fParVals(0),
fParErrs(0),
fParCstr(0),
fSensVolIndex(0),
fSensVolVolumeID(0),
fMatrix(NULL),
fSensVolMatrix(NULL),
fSensVolModifMatrix(NULL),
fParent(NULL),
fChildren(0)
{
fMatrix = new TGeoHMatrix;
fSensVolMatrix = new TGeoHMatrix;
fSensVolModifMatrix = new TGeoHMatrix;
fSensVolIndex.Set(1);
fSensVolVolumeID.Set(1);
fSigmaFactor[0]=fSigmaFactor[1]=fSigmaFactor[2]=1.0;
}
AliITSAlignMille2Module::AliITSAlignMille2Module(Int_t index, UShort_t volid, const char* symname,
const TGeoHMatrix *m, Int_t nsv, const UShort_t *volidsv) :
TNamed(),
fNSensVol(0),
fIndex(-1),
fDetType(-1),
fVolumeID(0),
fNParTot(0),
fNParFree(0),
fParOffs(kMaxParGeom),
fNProcPoints(0),
fParVals(0),
fParErrs(0),
fParCstr(0),
fSensVolIndex(0),
fSensVolVolumeID(0),
fMatrix(NULL),
fSensVolMatrix(NULL),
fSensVolModifMatrix(NULL),
fParent(NULL),
fChildren(0)
{
fMatrix = new TGeoHMatrix;
fSensVolMatrix = new TGeoHMatrix;
fSensVolModifMatrix = new TGeoHMatrix;
fSigmaFactor[0]=fSigmaFactor[1]=fSigmaFactor[2]=1.0;
for (int i=kMaxParGeom;i--;) fParOffs[i] = -1;
if (Set(index,volid,symname,m,nsv,volidsv)) {
AliInfo("Error in AliITSAlignMille2Module::Set() - initializing void supermodule...");
}
AssignDetType();
}
AliITSAlignMille2Module::AliITSAlignMille2Module(UShort_t volid) :
TNamed(),
fNSensVol(0),
fIndex(-1),
fDetType(-1),
fVolumeID(0),
fNParTot(0),
fNParFree(0),
fParOffs(kMaxParGeom),
fNProcPoints(0),
fParVals(0),
fParErrs(0),
fParCstr(0),
fSensVolIndex(0),
fSensVolVolumeID(0),
fMatrix(NULL),
fSensVolMatrix(NULL),
fSensVolModifMatrix(NULL),
fParent(NULL),
fChildren(0)
{
fMatrix = new TGeoHMatrix;
fSensVolMatrix = new TGeoHMatrix;
fSensVolModifMatrix = new TGeoHMatrix;
fSensVolIndex.Set(1);
fSensVolVolumeID.Set(1);
fSigmaFactor[0]=fSigmaFactor[1]=fSigmaFactor[2]=1.0;
for (int i=kMaxParGeom;i--;) fParOffs[i] = -1;
fIndex = GetIndexFromVolumeID(volid);
if (fIndex>=0 && gGeoManager) {
SetName(AliGeomManager::SymName(volid));
fVolumeID = volid;
AddSensitiveVolume(volid);
SetSensorsProvided(kTRUE);
if (SensVolMatrix(volid, fMatrix))
AliInfo("Matrix not defined");
}
else {
AliInfo("Wrong VolumeID or Geometry not loaded - initializing void supermodule...");
}
AssignDetType();
}
AliITSAlignMille2Module::AliITSAlignMille2Module(const AliITSAlignMille2Module &m) :
TNamed(m),
fNSensVol(m.fNSensVol),
fIndex(m.fIndex),
fDetType(m.fDetType),
fVolumeID(m.fVolumeID),
fNParTot(m.fNParTot),
fNParFree(m.fNParFree),
fParOffs(m.fNParTot),
fNProcPoints(0),
fParVals(0),
fParErrs(0),
fParCstr(0),
fSensVolIndex(m.fSensVolIndex),
fSensVolVolumeID(m.fSensVolVolumeID),
fMatrix(new TGeoHMatrix(*m.GetMatrix())),
fSensVolMatrix(new TGeoHMatrix),
fSensVolModifMatrix(new TGeoHMatrix),
fParent(m.fParent),
fChildren(0)
{
fSensVolIndex = m.fSensVolIndex;
fSensVolVolumeID = m.fSensVolVolumeID;
for (int i=m.fNParTot;i--;) fParOffs[i] = m.fParOffs[i];
for (int i=3;i--;) fSigmaFactor[i] = m.fSigmaFactor[i];
if (fNParTot) {
fParVals = new Float_t[fNParTot];
fParErrs = new Float_t[fNParTot];
fParCstr = new Float_t[fNParTot];
for (int i=fNParTot;i--;) {
fParVals[i] = m.fParVals[i];
fParErrs[i] = m.fParErrs[i];
fParCstr[i] = m.fParCstr[i];
}
}
}
AliITSAlignMille2Module& AliITSAlignMille2Module::operator=(const AliITSAlignMille2Module &m)
{
if(this==&m) return *this;
this->TNamed::operator=(m);
fNSensVol=m.fNSensVol;
fIndex=m.fIndex;
fDetType = m.fDetType;
fVolumeID=m.fVolumeID;
fNParTot = m.fNParTot;
fNParFree = m.fNParFree;
fNProcPoints = m.fNProcPoints;
delete[] fParVals; fParVals = 0;
delete[] fParErrs; fParErrs = 0;
delete[] fParCstr; fParCstr = 0;
if (fNParTot) {
fParVals = new Float_t[fNParTot];
fParErrs = new Float_t[fNParTot];
fParCstr = new Float_t[fNParTot];
for (int i=m.GetNParTot();i--;) {
fParVals[i] = m.fParVals[i];
fParErrs[i] = m.fParErrs[i];
fParCstr[i] = m.fParCstr[i];
}
}
fParOffs.Set(fNParTot);
for (int i=0;i<fNParTot;i++) fParOffs[i] = m.fParOffs[i];
for (int i=0;i<3;i++) fSigmaFactor[i] = m.fSigmaFactor[i];
if (fMatrix) delete fMatrix;
fMatrix=new TGeoHMatrix(*m.GetMatrix());
if(fSensVolMatrix) delete fSensVolMatrix;
fSensVolMatrix = new TGeoHMatrix(*m.fSensVolMatrix);
if(fSensVolModifMatrix) delete fSensVolModifMatrix;
fSensVolModifMatrix = new TGeoHMatrix(*m.fSensVolModifMatrix);
fSensVolIndex = m.fSensVolIndex;
fSensVolVolumeID = m.fSensVolVolumeID;
fParent = m.fParent;
fChildren.Clear();
for (int i=0;i<m.GetNChildren();i++) fChildren.Add(m.GetChild(i));
return *this;
}
AliITSAlignMille2Module::~AliITSAlignMille2Module() {
delete fMatrix;
delete fSensVolMatrix;
delete fSensVolModifMatrix;
delete[] fParVals;
delete[] fParErrs;
delete[] fParCstr;
fChildren.Clear();
}
Int_t AliITSAlignMille2Module::Set(Int_t index, UShort_t volid, const char* symname,
const TGeoHMatrix *m, Int_t nsv, const UShort_t *volidsv)
{
if (index<2198) {
AliInfo("Index must be >= 2198");
return -1;
}
if (volid<14336) {
AliInfo("VolumeID must be >= 14336");
return -2;
}
if (!symname) return -3;
for (Int_t i=0; i<2198; i++) {
if (!strcmp(symname,AliITSgeomTGeo::GetSymName(i))) {
AliInfo("Symname already used by a Sensitive Volume");
return -3;
}
}
if (!m) return -4;
fIndex = index;
fVolumeID = volid;
SetName(symname);
(*fMatrix) = (*m);
fSensVolIndex.Set(nsv);
fSensVolVolumeID.Set(nsv);
for (Int_t i=0; i<nsv; i++) AddSensitiveVolume(volidsv[i]);
return 0;
}
void AliITSAlignMille2Module::SetFreeDOF(Int_t dof,Double_t cstr)
{
if (AliITSAlignMille2::IsZero(cstr)) fParCstr[dof] = 0;
else if (cstr>0) fParCstr[dof] = fgkDummyConstraint+1.;
else fParCstr[dof] = -cstr;
}
Bool_t AliITSAlignMille2Module::IsSensor(UShort_t voluid)
{
AliGeomManager::ELayerID layId = AliGeomManager::VolUIDToLayerSafe(voluid);
if (layId>0 && layId<7) {
Int_t mId = Int_t(voluid & 0x7ff);
if( mId>=0 && mId<AliGeomManager::LayerSize(layId)) return kTRUE;
}
return kFALSE;
}
Int_t AliITSAlignMille2Module::GetIndexFromVolumeID(UShort_t voluid) {
AliGeomManager::ELayerID lay = AliGeomManager::VolUIDToLayer(voluid);
if (lay<1|| lay>6) return -1;
Int_t idx=Int_t(voluid)-2048*lay;
if (idx>=AliGeomManager::LayerSize(lay)) return -1;
for (Int_t ilay=1; ilay<lay; ilay++)
idx += AliGeomManager::LayerSize(ilay);
return idx;
}
void AliITSAlignMille2Module::AddSensitiveVolume(UShort_t voluid)
{
if (GetIndexFromVolumeID(voluid)<0) return;
if (fSensVolVolumeID.GetSize()<fNSensVol+1) {
fSensVolVolumeID.Set(fNSensVol+1);
fSensVolIndex.Set(fNSensVol+1);
}
fSensVolVolumeID[fNSensVol] = Short_t(voluid);
fSensVolIndex[fNSensVol] = GetIndexFromVolumeID(voluid);
fNSensVol++;
}
void AliITSAlignMille2Module::DelSensitiveVolume(Int_t at)
{
int lastValid = --fNSensVol;
int tmpv = fSensVolIndex[at];
fSensVolIndex[at] = fSensVolIndex[lastValid];
tmpv = fSensVolVolumeID[at];
fSensVolVolumeID[at] = fSensVolVolumeID[lastValid];
fSensVolVolumeID[lastValid] = tmpv;
}
Bool_t AliITSAlignMille2Module::IsIn(UShort_t voluid) const
{
if (!voluid) return kFALSE;
for (Int_t i=0; i<fNSensVol; i++) if (UShort_t(fSensVolVolumeID[i])==voluid) return kTRUE;
return kFALSE;
}
Bool_t AliITSAlignMille2Module::BelongsTo(AliITSAlignMille2Module* parent) const
{
if (fNSensVol<1 || fNSensVol>=parent->GetNSensitiveVolumes()) return kFALSE;
return parent->IsIn( fSensVolVolumeID[0] );
}
TGeoHMatrix *AliITSAlignMille2Module::GetSensitiveVolumeModifiedMatrix(UShort_t voluid, const Double_t *delta,Bool_t local)
{
if (!IsIn(voluid)) return NULL;
if (!gGeoManager) return NULL;
Double_t tr[3],ang[3];
tr[0]=delta[0];
tr[1]=delta[1];
tr[2]=delta[2];
ang[0]=delta[3];
ang[1]=delta[4];
ang[2]=delta[5];
static AliAlignObjParams tempAlignObj;
tempAlignObj.SetRotation(ang[0],ang[1],ang[2]);
tempAlignObj.SetTranslation(tr[0],tr[1],tr[2]);
AliDebug(3,Form("Delta angles: psi=%f theta=%f phi=%f",ang[0],ang[1],ang[2]));
TGeoHMatrix hm;
tempAlignObj.GetMatrix(hm);
if (SensVolMatrix(voluid, fSensVolModifMatrix)) return NULL;
if (local) {
fSensVolModifMatrix->MultiplyLeft( &fMatrix->Inverse() );
fSensVolModifMatrix->MultiplyLeft( &hm );
fSensVolModifMatrix->MultiplyLeft( fMatrix );
}
else fSensVolModifMatrix->MultiplyLeft( &hm );
return fSensVolModifMatrix;
}
AliAlignObjParams *AliITSAlignMille2Module::GetSensitiveVolumeMisalignment(UShort_t voluid, const Double_t *deltalocal)
{
if (!IsIn(voluid)) return NULL;
if (!gGeoManager) return NULL;
Double_t tr[3],ang[3];
tr[0]=deltalocal[0];
tr[1]=deltalocal[1];
tr[2]=deltalocal[2];
ang[0]=deltalocal[3];
ang[1]=deltalocal[4];
ang[2]=deltalocal[5];
static AliAlignObjParams tempAlignObj;
tempAlignObj.SetRotation(ang[0],ang[1],ang[2]);
tempAlignObj.SetTranslation(tr[0],tr[1],tr[2]);
AliDebug(3,Form("Delta angles: psi=%f theta=%f phi=%f",ang[0],ang[1],ang[2]));
return GetSensitiveVolumeMisalignment(voluid,&tempAlignObj);
}
AliAlignObjParams *AliITSAlignMille2Module::GetSensitiveVolumeMisalignment(UShort_t voluid, const AliAlignObjParams *a)
{
if (!IsIn(voluid)) return NULL;
if (!gGeoManager) return NULL;
TGeoHMatrix dg;
a->GetMatrix(dg);
if (SensVolMatrix(voluid, fSensVolModifMatrix)) return NULL;
fSensVolModifMatrix->MultiplyLeft( &fMatrix->Inverse() );
fSensVolModifMatrix->MultiplyLeft( &dg );
fSensVolModifMatrix->MultiplyLeft( fMatrix );
if (SensVolMatrix(voluid, &dg)) return NULL;
fSensVolModifMatrix->MultiplyLeft( &dg.Inverse() );
static AliAlignObjParams tempAlignObj;
tempAlignObj.SetVolUID(0);
tempAlignObj.SetSymName("");
tempAlignObj.SetTranslation(0,0,0);
tempAlignObj.SetRotation(0,0,0);
#ifdef CORHW_
if (voluid>=2048 && voluid<4256) {
TGeoHMatrix deltay;
double dy[3]={0.,0.0081,0.};
deltay.SetTranslation(dy);
fSensVolModifMatrix->MultiplyLeft( &deltay );
fSensVolModifMatrix->Multiply( &deltay.Inverse() );
}
#endif
if (!tempAlignObj.SetMatrix(*fSensVolModifMatrix)) return NULL;
tempAlignObj.SetVolUID(voluid);
tempAlignObj.SetSymName(AliGeomManager::SymName(voluid));
return &tempAlignObj;
}
AliAlignObjParams *AliITSAlignMille2Module::GetSensitiveVolumeTotalMisalignment(UShort_t voluid, const Double_t *deltalocal)
{
if (!IsIn(voluid)) return NULL;
if (!gGeoManager) return NULL;
Double_t tr[3],ang[3];
tr[0]=deltalocal[0];
tr[1]=deltalocal[1];
tr[2]=deltalocal[2];
ang[0]=deltalocal[3];
ang[1]=deltalocal[4];
ang[2]=deltalocal[5];
static AliAlignObjParams tempAlignObj;
tempAlignObj.SetVolUID(0);
tempAlignObj.SetSymName("");
tempAlignObj.SetRotation(ang[0],ang[1],ang[2]);
tempAlignObj.SetTranslation(tr[0],tr[1],tr[2]);
AliDebug(3,Form("Delta angles: psi=%f theta=%f phi=%f",ang[0],ang[1],ang[2]));
TGeoHMatrix dg;
tempAlignObj.GetMatrix(dg);
if (SensVolMatrix(voluid, fSensVolModifMatrix)) return NULL;
fSensVolModifMatrix->MultiplyLeft( &fMatrix->Inverse() );
fSensVolModifMatrix->MultiplyLeft( &dg );
fSensVolModifMatrix->MultiplyLeft( fMatrix );
if (SensVolOrigGlobalMatrix(voluid, &dg)) return NULL;
fSensVolModifMatrix->MultiplyLeft( &dg.Inverse() );
tempAlignObj.SetVolUID(0);
tempAlignObj.SetSymName("");
tempAlignObj.SetTranslation(0,0,0);
tempAlignObj.SetRotation(0,0,0);
#ifdef CORHW_
if (voluid>=2048 && voluid<4256) {
TGeoHMatrix deltay;
double dy[3]={0.,0.0081,0.};
deltay.SetTranslation(dy);
fSensVolModifMatrix->MultiplyLeft( &deltay );
fSensVolModifMatrix->Multiply( &deltay.Inverse() );
}
#endif
if (!tempAlignObj.SetMatrix(*fSensVolModifMatrix)) return NULL;
tempAlignObj.SetVolUID(voluid);
tempAlignObj.SetSymName(AliGeomManager::SymName(voluid));
return &tempAlignObj;
}
AliAlignObjParams *AliITSAlignMille2Module::GetSensitiveVolumeGlobalMisalignment(UShort_t voluid, const Double_t *deltalocal)
{
if (!IsIn(voluid)) return NULL;
if (!gGeoManager) return NULL;
Double_t tr[3],ang[3];
tr[0]=deltalocal[0];
tr[1]=deltalocal[1];
tr[2]=deltalocal[2];
ang[0]=deltalocal[3];
ang[1]=deltalocal[4];
ang[2]=deltalocal[5];
static AliAlignObjParams tempAlignObj;
tempAlignObj.SetTranslation(0,0,0);
tempAlignObj.SetRotation(0,0,0);
tempAlignObj.SetRotation(ang[0],ang[1],ang[2]);
tempAlignObj.SetTranslation(tr[0],tr[1],tr[2]);
AliDebug(3,Form("Delta angles: psi=%f theta=%f phi=%f",ang[0],ang[1],ang[2]));
TGeoHMatrix dg;
tempAlignObj.GetMatrix(dg);
dg.MultiplyLeft( fMatrix );
dg.Multiply( &fMatrix->Inverse() );
tempAlignObj.SetTranslation(0,0,0);
tempAlignObj.SetRotation(0,0,0);
tempAlignObj.SetVolUID(voluid);
tempAlignObj.SetSymName(AliGeomManager::SymName(voluid));
if (!tempAlignObj.SetMatrix(dg)) return NULL;
return &tempAlignObj;
}
TGeoHMatrix *AliITSAlignMille2Module::GetSensitiveVolumeMatrix(UShort_t voluid)
{
if (SensVolMatrix(voluid,fSensVolMatrix)) return NULL;
return fSensVolMatrix;
}
TGeoHMatrix *AliITSAlignMille2Module::GetSensitiveVolumeOrigGlobalMatrix(UShort_t voluid)
{
if (SensVolOrigGlobalMatrix(voluid,fSensVolMatrix)) return NULL;
return fSensVolMatrix;
}
Int_t AliITSAlignMille2Module::SensVolMatrix(UShort_t volid, TGeoHMatrix *m)
{
Double_t rot[9];
Int_t idx=GetIndexFromVolumeID(volid);
if (idx<0) return -1;
if (!AliITSgeomTGeo::GetRotation(idx,rot)) return -2;
m->SetRotation(rot);
Double_t oLoc[3]={0,0,0};
Double_t oGlo[3]={0,0,0};
if (!AliITSgeomTGeo::LocalToGlobal(idx,oLoc,oGlo)) return -3;
m->SetTranslation(oGlo);
return 0;
}
Int_t AliITSAlignMille2Module::SensVolOrigGlobalMatrix(UShort_t volid, TGeoHMatrix *m)
{
Int_t idx=GetIndexFromVolumeID(volid);
if (idx<0) return -1;
TGeoHMatrix mo;
if (!AliGeomManager::GetOrigGlobalMatrix(AliGeomManager::SymName(volid),mo)) return -1;
(*m)=mo;
#ifdef CORHW_
if (volid<5000) {
Double_t oLoc[3]={0.0,0.0081,0.0};
Double_t oGlo[3]={0,0,0};
m->LocalToMaster(oLoc,oGlo);
m->SetTranslation(oGlo);
}
#endif
return 0;
}
UShort_t AliITSAlignMille2Module::GetVolumeIDFromSymname(const Char_t *symname) {
if (!symname) return 0;
for (UShort_t voluid=2000; voluid<13300; voluid++) {
Int_t modId;
AliGeomManager::ELayerID layerId = AliGeomManager::VolUIDToLayer(voluid,modId);
if (layerId>0 && layerId<7 && modId>=0 && modId<AliGeomManager::LayerSize(layerId)) {
if (!strcmp(symname,AliGeomManager::SymName(layerId,modId))) return voluid;
}
}
return 0;
}
UShort_t AliITSAlignMille2Module::GetVolumeIDFromIndex(Int_t index) {
if (index<0 || index>2197) return 0;
return GetVolumeIDFromSymname(AliITSgeomTGeo::GetSymName(index));
}
void AliITSAlignMille2Module::Print(Option_t*) const
{
const char* typeName[] = {"SPD","SDD","SSD"};
printf("*** ITS SuperModule for AliITSAlignMille ***\n");
printf("symname : %s (type: %s)\n",GetName(),fDetType<0 ? "N/A":typeName[fDetType]);
printf("parent : %s | %d children\n",fParent ? fParent->GetName() : "N/A",GetNChildren());
printf("volumeID : %4d | index : %4d | Geom.Params are %s\n",fVolumeID,fIndex,
GeomParamsGlobal() ? "Global":"Local");
printf("Factors : X=%.2f Y=%.2f Z=%.2f\n"
"DOF: %cTx:%5d| %cTy:%5d| %cTz:%5d| %cPsi:%5d| %cTheta:%5d| %cPhi:%5d|",
fSigmaFactor[0],fSigmaFactor[1],fSigmaFactor[2],
IsFreeDOF(kDOFTX) ? '+':'-',GetParOffset(kDOFTX),IsFreeDOF(kDOFTY) ? '+':'-',GetParOffset(kDOFTY),
IsFreeDOF(kDOFTZ) ? '+':'-',GetParOffset(kDOFTZ),IsFreeDOF(kDOFPS) ? '+':'-',GetParOffset(kDOFPS),
IsFreeDOF(kDOFTH) ? '+':'-',GetParOffset(kDOFTH),IsFreeDOF(kDOFPH) ? '+':'-',GetParOffset(kDOFPH));
if (IsSDD()) {
printf("%cT0:%5d| %cDVl:%5d| %cDVr:%5d|",IsFreeDOF(kDOFT0)?'+':'-',GetParOffset(kDOFT0),
IsFreeDOF(kDOFDVL)?'+':'-',GetParOffset(kDOFDVL),IsFreeDOF(kDOFDVR)?'+':'-',GetParOffset(kDOFDVR));
if (IsVDriftLRSame()) printf("(dVL=dVR)");
}
printf("\n");
fMatrix->Print();
printf("%4d Sensitive volumes | %6d Processed Points\n",fNSensVol,fNProcPoints);
for (Int_t i=0; i<fNSensVol; i++) printf(" voluid[%d] = %d\n",i,UShort_t(fSensVolVolumeID[i]));
}
Bool_t AliITSAlignMille2Module::IsAlignable() const
{
TGeoManager* geoManager = AliGeomManager::GetGeometry();
if (!geoManager) {
AliInfo("Couldn't initialize geometry");
return kFALSE;
}
return geoManager->GetAlignableEntry(GetName())!=0;
}
void AliITSAlignMille2Module::GetLocalMatrix(TGeoHMatrix &mat) const
{
mat = *fMatrix;
if (fParent) mat.MultiplyLeft( &fParent->GetMatrix()->Inverse() );
}
void AliITSAlignMille2Module::AssignDetType()
{
TString tp = GetName();
if (tp.Contains("SPD",TString::kIgnoreCase)) fDetType = kSPD;
else if (tp.Contains("SDD",TString::kIgnoreCase)) fDetType = kSDD;
else if (tp.Contains("SSD",TString::kIgnoreCase)) fDetType = kSSD;
else fDetType = -1;
fNParTot = IsSDD() ? kMaxParTot:kMaxParGeom;
fNParFree = 0;
fParVals = new Float_t[fNParTot];
fParErrs = new Float_t[fNParTot];
fParCstr = new Float_t[fNParTot];
if (fParOffs.GetSize()<fNParTot) fParOffs.Set(fNParTot);
for (int i=fNParTot;i--;) {
fParVals[i] = fParErrs[i] = 0.;
fParCstr[i] = 0.;
fParOffs[i] = -1;
}
}
void AliITSAlignMille2Module::EvaluateDOF()
{
fNParFree = 0;
for (int i=fNParTot;i--;) if (IsFreeDOF(i)) fNParFree++;
}
void AliITSAlignMille2Module::GetSensVolGlobalParams(UShort_t volid,Double_t *t, Double_t *r)
{
for (int i=3;i--;) t[i] = r[i] = 0.;
if (SensVolMatrix(volid,fSensVolMatrix)) return;
AliAlignObjParams tempAlignObj;
tempAlignObj.SetMatrix(*fSensVolMatrix);
tempAlignObj.GetPars(t,r);
}
void AliITSAlignMille2Module::GetSensVolLocalParams(UShort_t volid,Double_t *t, Double_t *r)
{
for (int i=3;i--;) t[i] = r[i] = 0.;
if (SensVolMatrix(volid,fSensVolMatrix)) return;
fSensVolMatrix->MultiplyLeft( &fMatrix->Inverse() );
AliAlignObjParams tempAlignObj;
tempAlignObj.SetMatrix(*fSensVolMatrix);
tempAlignObj.GetPars(t,r);
}
void AliITSAlignMille2Module::GetSensVolGlobalParams(UShort_t volid,const Double_t* loct, const Double_t* locr,Double_t *t, Double_t *r)
{
for (int i=3;i--;) t[i] = r[i] = 0.;
if (SensVolMatrix(volid,fSensVolMatrix)) return;
AliAlignObjParams tempAlignObj;
tempAlignObj.SetTranslation(loct[0],loct[1],loct[2]);
tempAlignObj.SetRotation(locr[0],locr[1],locr[2]);
tempAlignObj.GetMatrix(*fSensVolModifMatrix);
fSensVolModifMatrix->MultiplyLeft( fSensVolMatrix );
tempAlignObj.SetMatrix(*fSensVolModifMatrix);
tempAlignObj.GetPars(t,r);
}
void AliITSAlignMille2Module::GetSensVolLocalParams(UShort_t volid,const Double_t* loct,const Double_t* locr,Double_t *t, Double_t *r)
{
for (int i=3;i--;) t[i] = r[i] = 0.;
if (SensVolMatrix(volid,fSensVolMatrix)) return;
AliAlignObjParams tempAlignObj;
tempAlignObj.SetTranslation(loct[0],loct[1],loct[2]);
tempAlignObj.SetRotation(locr[0],locr[1],locr[2]);
tempAlignObj.GetMatrix(*fSensVolModifMatrix);
fSensVolModifMatrix->MultiplyLeft( fSensVolMatrix );
fSensVolModifMatrix->MultiplyLeft( &fMatrix->Inverse() );
tempAlignObj.SetMatrix(*fSensVolModifMatrix);
tempAlignObj.GetPars(t,r);
}
void AliITSAlignMille2Module::SetParVals(Double_t *vl,Int_t npar)
{
for (int i=TMath::Min(npar,(Int_t)fNParTot);i--;) fParVals[i] = vl[i];
}
void AliITSAlignMille2Module::GetGeomParamsGlo(Double_t *pars)
{
if (GeomParamsGlobal()) {for (int i=kMaxParGeom;i--;) pars[i] = fParVals[i]; return;}
*fSensVolMatrix = *fMatrix;
AliAlignObjParams tempAlignObj;
AliITSAlignMille2Module* parent = GetParent();
while (parent) {
if (parent->GeomParamsGlobal()) {
AliError("Cannot convert params to Global when the parents are already Global\n");
for (int i=kMaxParGeom;i--;) pars[i] = 0;
return;
}
fSensVolMatrix->MultiplyLeft( &parent->GetMatrix()->Inverse() );
Float_t *parpar = parent->GetParVals();
tempAlignObj.SetTranslation(parpar[0],parpar[1],parpar[2]);
tempAlignObj.SetRotation(parpar[3],parpar[4],parpar[5]);
tempAlignObj.GetMatrix(*fSensVolModifMatrix);
fSensVolMatrix->MultiplyLeft(fSensVolModifMatrix);
fSensVolMatrix->MultiplyLeft(parent->GetMatrix());
parent = parent->GetParent();
}
tempAlignObj.SetTranslation(fParVals[0],fParVals[1],fParVals[2]);
tempAlignObj.SetRotation(fParVals[3],fParVals[4],fParVals[5]);
tempAlignObj.GetMatrix(*fSensVolModifMatrix);
fSensVolModifMatrix->Multiply( &fSensVolMatrix->Inverse() );
fSensVolModifMatrix->MultiplyLeft( fSensVolMatrix );
tempAlignObj.SetMatrix( *fSensVolModifMatrix );
tempAlignObj.GetPars(pars,pars+3);
}
void AliITSAlignMille2Module::GetGeomParamsLoc(Double_t *pars)
{
if (!GeomParamsGlobal()) {for (int i=kMaxParGeom;i--;) pars[i] = fParVals[i]; return;}
AliITSAlignMille2Module* parent = GetParent();
AliAlignObjParams tempAlignObj;
tempAlignObj.SetTranslation(0.,0.,0.);
tempAlignObj.SetRotation(0.,0.,0.);
tempAlignObj.GetMatrix(*fSensVolMatrix);
while (parent) {
if (!parent->GeomParamsGlobal()) {
AliError("Cannot convert params to Local when the parents are already Local\n");
for (int i=kMaxParGeom;i--;) pars[i] = 0;
return;
}
Float_t *parpar = parent->GetParVals();
tempAlignObj.SetTranslation(parpar[0],parpar[1],parpar[2]);
tempAlignObj.SetRotation(parpar[3],parpar[4],parpar[5]);
tempAlignObj.GetMatrix(*fSensVolModifMatrix);
fSensVolMatrix->Multiply(fSensVolModifMatrix);
parent = parent->GetParent();
}
fSensVolMatrix->Multiply(fMatrix);
tempAlignObj.SetTranslation(fParVals[0],fParVals[1],fParVals[2]);
tempAlignObj.SetRotation(fParVals[3],fParVals[4],fParVals[5]);
tempAlignObj.GetMatrix(*fSensVolModifMatrix);
fSensVolModifMatrix->MultiplyLeft( &fSensVolMatrix->Inverse() );
fSensVolModifMatrix->Multiply( fSensVolMatrix );
tempAlignObj.SetMatrix( *fSensVolModifMatrix );
tempAlignObj.GetPars(pars,pars+3);
}
void AliITSAlignMille2Module::CalcDerivDPosDPar(Int_t sensVol,const Double_t* pl, Double_t *deriv)
{
const double kDel = 0.01;
double pos0[3],pos1[3],pos2[3],pos3[3];
double delta[kMaxParGeom];
for (int ip=kMaxParGeom;ip--;) delta[ip] = 0;
for (int ip=kMaxParGeom;ip--;) {
delta[ip] -= kDel;
GetSensitiveVolumeModifiedMatrix(sensVol,delta,!GeomParamsGlobal())->LocalToMaster(pl,pos0);
delta[ip] += kDel/2;
GetSensitiveVolumeModifiedMatrix(sensVol,delta,!GeomParamsGlobal())->LocalToMaster(pl,pos1);
delta[ip] += kDel;
GetSensitiveVolumeModifiedMatrix(sensVol,delta,!GeomParamsGlobal())->LocalToMaster(pl,pos2);
delta[ip] += kDel/2;
GetSensitiveVolumeModifiedMatrix(sensVol,delta,!GeomParamsGlobal())->LocalToMaster(pl,pos3);
delta[ip] = 0;
double *curd = deriv + ip*3;
for (int i=3;i--;) curd[i] = (8.*(pos2[i]-pos1[i]) - (pos3[i]-pos0[i]))/6./kDel;
}
}
void AliITSAlignMille2Module::CalcDerivGloLoc(Int_t idx,Double_t *deriv)
{
Double_t lpar[kMaxParGeom];
for (int i=kMaxParGeom;i--;) lpar[i] = 0.;
Double_t par1[kMaxParGeom];
Double_t par2[kMaxParGeom];
Double_t par3[kMaxParGeom];
Double_t par4[kMaxParGeom];
const Double_t dpar = 1e-3;
lpar[idx] -= dpar;
GetGlobalParams(lpar,lpar+3, par1,par1+3);
lpar[idx] += dpar/2;
GetGlobalParams(lpar,lpar+3, par2,par2+3);
lpar[idx] += dpar;
GetGlobalParams(lpar,lpar+3, par3,par3+3);
lpar[idx] += dpar/2;
GetGlobalParams(lpar,lpar+3, par4,par4+3);
Double_t h2 = 1./(2.*dpar);
for (int i=kMaxParGeom;i--;) {
Double_t d0 = par4[i]-par1[i];
Double_t d2 = 2.*(par3[i]-par2[i]);
deriv[i] = h2*(4*d2 - d0)/3.;
if (TMath::Abs(deriv[i]) < 1.0e-9) deriv[i] = 0.0;
}
}
void AliITSAlignMille2Module::CalcDerivLocGlo(Double_t *deriv)
{
Double_t gpar[kMaxParGeom];
for (int i=kMaxParGeom;i--;) gpar[i] = 0.;
Double_t par1[kMaxParGeom];
Double_t par2[kMaxParGeom];
Double_t par3[kMaxParGeom];
Double_t par4[kMaxParGeom];
const Double_t dpar = 1e-3;
for (int ig=kMaxParGeom;ig--;) {
gpar[ig] -= dpar;
GetLocalParams(gpar,gpar+3, par1,par1+3);
gpar[ig] += dpar/2;
GetLocalParams(gpar,gpar+3, par2,par2+3);
gpar[ig] += dpar;
GetLocalParams(gpar,gpar+3, par3,par3+3);
gpar[ig] += dpar/2;
GetLocalParams(gpar,gpar+3, par4,par4+3);
Double_t h2 = 1./(2.*dpar);
for (int i=kMaxParGeom;i--;) {
Double_t d0 = par4[i]-par1[i];
Double_t d2 = 2.*(par3[i]-par2[i]);
int idig = i*kMaxParGeom + ig;
deriv[idig] = h2*(4*d2 - d0)/3.;
if (TMath::Abs(deriv[idig]) < 1.0e-9) deriv[idig] = 0.0;
}
}
}
void AliITSAlignMille2Module::CalcDerivGloLoc(Int_t sensVol,Int_t paridx,Double_t* derivative)
{
Double_t lpar[kMaxParGeom];
for (int i=kMaxParGeom;i--;) lpar[i] = 0.;
Double_t par1[kMaxParGeom];
Double_t par2[kMaxParGeom];
Double_t par3[kMaxParGeom];
Double_t par4[kMaxParGeom];
const Double_t dpar = 1e-3;
lpar[paridx] -= dpar;
GetSensVolGlobalParams(sensVol,lpar,lpar+3, par1,par1+3);
lpar[paridx] += dpar/2;
GetSensVolGlobalParams(sensVol,lpar,lpar+3, par2,par2+3);
lpar[paridx] += dpar;
GetSensVolGlobalParams(sensVol,lpar,lpar+3, par3,par3+3);
lpar[paridx] += dpar/2;
GetSensVolGlobalParams(sensVol,lpar,lpar+3, par4,par4+3);
Double_t h2 = 1./(2.*dpar);
for (int i=kMaxParGeom;i--;) {
Double_t d0 = par4[i]-par1[i];
Double_t d2 = 2.*(par3[i]-par2[i]);
derivative[i] = h2*(4*d2 - d0)/3.;
if (TMath::Abs(derivative[i]) < 1.0e-9) derivative[i] = 0.0;
}
}
void AliITSAlignMille2Module::CalcDerivCurLoc(Int_t sensVol,Int_t paridx,Double_t* derivative)
{
Double_t lpar[kMaxParGeom];
for (int i=kMaxParGeom;i--;) lpar[i] = 0.;
Double_t par1[kMaxParGeom];
Double_t par2[kMaxParGeom];
Double_t par3[kMaxParGeom];
Double_t par4[kMaxParGeom];
const Double_t dpar = 1e-3;
lpar[paridx] -= dpar;
GetSensVolLocalParams(sensVol,lpar,lpar+3, par1,par1+3);
lpar[paridx] += dpar/2;
GetSensVolLocalParams(sensVol,lpar,lpar+3, par2,par2+3);
lpar[paridx] += dpar;
GetSensVolLocalParams(sensVol,lpar,lpar+3, par3,par3+3);
lpar[paridx] += dpar/2;
GetSensVolLocalParams(sensVol,lpar,lpar+3, par4,par4+3);
Double_t h2 = 1./(2.*dpar);
for (int i=kMaxParGeom;i--;) {
Double_t d0 = par4[i]-par1[i];
Double_t d2 = 2.*(par3[i]-par2[i]);
derivative[i] = h2*(4*d2 - d0)/3.;
if (TMath::Abs(derivative[i]) < 1.0e-9) derivative[i] = 0.0;
}
}
void AliITSAlignMille2Module::GetGlobalParams(Double_t *t, Double_t *r) const
{
AliAlignObjParams tempAlignObj;
tempAlignObj.SetMatrix( *fMatrix );
tempAlignObj.GetPars(t,r);
}
void AliITSAlignMille2Module::GetGlobalParams(const Double_t* loct, const Double_t* locr, Double_t *t, Double_t *r)
{
AliAlignObjParams tempAlignObj;
tempAlignObj.SetTranslation(loct[0],loct[1],loct[2]);
tempAlignObj.SetRotation(locr[0],locr[1],locr[2]);
tempAlignObj.GetMatrix(*fSensVolModifMatrix);
*fSensVolMatrix = *fMatrix;
fSensVolMatrix->Multiply(fSensVolModifMatrix);
tempAlignObj.SetMatrix(*fSensVolMatrix);
tempAlignObj.GetPars(t,r);
}
void AliITSAlignMille2Module::GetLocalParams(const Double_t* glot, const Double_t* glor, Double_t *t, Double_t *r)
{
AliAlignObjParams tempAlignObj;
tempAlignObj.SetTranslation(glot[0],glot[1],glot[2]);
tempAlignObj.SetRotation(glor[0],glor[1],glor[2]);
tempAlignObj.GetMatrix(*fSensVolMatrix);
fSensVolMatrix->Multiply( fMatrix );
fSensVolMatrix->MultiplyLeft( &fMatrix->Inverse() );
tempAlignObj.SetMatrix(*fSensVolMatrix);
tempAlignObj.GetPars(t,r);
}
AliITSAlignMille2Module.cxx:1 AliITSAlignMille2Module.cxx:2 AliITSAlignMille2Module.cxx:3 AliITSAlignMille2Module.cxx:4 AliITSAlignMille2Module.cxx:5 AliITSAlignMille2Module.cxx:6 AliITSAlignMille2Module.cxx:7 AliITSAlignMille2Module.cxx:8 AliITSAlignMille2Module.cxx:9 AliITSAlignMille2Module.cxx:10 AliITSAlignMille2Module.cxx:11 AliITSAlignMille2Module.cxx:12 AliITSAlignMille2Module.cxx:13 AliITSAlignMille2Module.cxx:14 AliITSAlignMille2Module.cxx:15 AliITSAlignMille2Module.cxx:16 AliITSAlignMille2Module.cxx:17 AliITSAlignMille2Module.cxx:18 AliITSAlignMille2Module.cxx:19 AliITSAlignMille2Module.cxx:20 AliITSAlignMille2Module.cxx:21 AliITSAlignMille2Module.cxx:22 AliITSAlignMille2Module.cxx:23 AliITSAlignMille2Module.cxx:24 AliITSAlignMille2Module.cxx:25 AliITSAlignMille2Module.cxx:26 AliITSAlignMille2Module.cxx:27 AliITSAlignMille2Module.cxx:28 AliITSAlignMille2Module.cxx:29 AliITSAlignMille2Module.cxx:30 AliITSAlignMille2Module.cxx:31 AliITSAlignMille2Module.cxx:32 AliITSAlignMille2Module.cxx:33 AliITSAlignMille2Module.cxx:34 AliITSAlignMille2Module.cxx:35 AliITSAlignMille2Module.cxx:36 AliITSAlignMille2Module.cxx:37 AliITSAlignMille2Module.cxx:38 AliITSAlignMille2Module.cxx:39 AliITSAlignMille2Module.cxx:40 AliITSAlignMille2Module.cxx:41 AliITSAlignMille2Module.cxx:42 AliITSAlignMille2Module.cxx:43 AliITSAlignMille2Module.cxx:44 AliITSAlignMille2Module.cxx:45 AliITSAlignMille2Module.cxx:46 AliITSAlignMille2Module.cxx:47 AliITSAlignMille2Module.cxx:48 AliITSAlignMille2Module.cxx:49 AliITSAlignMille2Module.cxx:50 AliITSAlignMille2Module.cxx:51 AliITSAlignMille2Module.cxx:52 AliITSAlignMille2Module.cxx:53 AliITSAlignMille2Module.cxx:54 AliITSAlignMille2Module.cxx:55 AliITSAlignMille2Module.cxx:56 AliITSAlignMille2Module.cxx:57 AliITSAlignMille2Module.cxx:58 AliITSAlignMille2Module.cxx:59 AliITSAlignMille2Module.cxx:60 AliITSAlignMille2Module.cxx:61 AliITSAlignMille2Module.cxx:62 AliITSAlignMille2Module.cxx:63 AliITSAlignMille2Module.cxx:64 AliITSAlignMille2Module.cxx:65 AliITSAlignMille2Module.cxx:66 AliITSAlignMille2Module.cxx:67 AliITSAlignMille2Module.cxx:68 AliITSAlignMille2Module.cxx:69 AliITSAlignMille2Module.cxx:70 AliITSAlignMille2Module.cxx:71 AliITSAlignMille2Module.cxx:72 AliITSAlignMille2Module.cxx:73 AliITSAlignMille2Module.cxx:74 AliITSAlignMille2Module.cxx:75 AliITSAlignMille2Module.cxx:76 AliITSAlignMille2Module.cxx:77 AliITSAlignMille2Module.cxx:78 AliITSAlignMille2Module.cxx:79 AliITSAlignMille2Module.cxx:80 AliITSAlignMille2Module.cxx:81 AliITSAlignMille2Module.cxx:82 AliITSAlignMille2Module.cxx:83 AliITSAlignMille2Module.cxx:84 AliITSAlignMille2Module.cxx:85 AliITSAlignMille2Module.cxx:86 AliITSAlignMille2Module.cxx:87 AliITSAlignMille2Module.cxx:88 AliITSAlignMille2Module.cxx:89 AliITSAlignMille2Module.cxx:90 AliITSAlignMille2Module.cxx:91 AliITSAlignMille2Module.cxx:92 AliITSAlignMille2Module.cxx:93 AliITSAlignMille2Module.cxx:94 AliITSAlignMille2Module.cxx:95 AliITSAlignMille2Module.cxx:96 AliITSAlignMille2Module.cxx:97 AliITSAlignMille2Module.cxx:98 AliITSAlignMille2Module.cxx:99 AliITSAlignMille2Module.cxx:100 AliITSAlignMille2Module.cxx:101 AliITSAlignMille2Module.cxx:102 AliITSAlignMille2Module.cxx:103 AliITSAlignMille2Module.cxx:104 AliITSAlignMille2Module.cxx:105 AliITSAlignMille2Module.cxx:106 AliITSAlignMille2Module.cxx:107 AliITSAlignMille2Module.cxx:108 AliITSAlignMille2Module.cxx:109 AliITSAlignMille2Module.cxx:110 AliITSAlignMille2Module.cxx:111 AliITSAlignMille2Module.cxx:112 AliITSAlignMille2Module.cxx:113 AliITSAlignMille2Module.cxx:114 AliITSAlignMille2Module.cxx:115 AliITSAlignMille2Module.cxx:116 AliITSAlignMille2Module.cxx:117 AliITSAlignMille2Module.cxx:118 AliITSAlignMille2Module.cxx:119 AliITSAlignMille2Module.cxx:120 AliITSAlignMille2Module.cxx:121 AliITSAlignMille2Module.cxx:122 AliITSAlignMille2Module.cxx:123 AliITSAlignMille2Module.cxx:124 AliITSAlignMille2Module.cxx:125 AliITSAlignMille2Module.cxx:126 AliITSAlignMille2Module.cxx:127 AliITSAlignMille2Module.cxx:128 AliITSAlignMille2Module.cxx:129 AliITSAlignMille2Module.cxx:130 AliITSAlignMille2Module.cxx:131 AliITSAlignMille2Module.cxx:132 AliITSAlignMille2Module.cxx:133 AliITSAlignMille2Module.cxx:134 AliITSAlignMille2Module.cxx:135 AliITSAlignMille2Module.cxx:136 AliITSAlignMille2Module.cxx:137 AliITSAlignMille2Module.cxx:138 AliITSAlignMille2Module.cxx:139 AliITSAlignMille2Module.cxx:140 AliITSAlignMille2Module.cxx:141 AliITSAlignMille2Module.cxx:142 AliITSAlignMille2Module.cxx:143 AliITSAlignMille2Module.cxx:144 AliITSAlignMille2Module.cxx:145 AliITSAlignMille2Module.cxx:146 AliITSAlignMille2Module.cxx:147 AliITSAlignMille2Module.cxx:148 AliITSAlignMille2Module.cxx:149 AliITSAlignMille2Module.cxx:150 AliITSAlignMille2Module.cxx:151 AliITSAlignMille2Module.cxx:152 AliITSAlignMille2Module.cxx:153 AliITSAlignMille2Module.cxx:154 AliITSAlignMille2Module.cxx:155 AliITSAlignMille2Module.cxx:156 AliITSAlignMille2Module.cxx:157 AliITSAlignMille2Module.cxx:158 AliITSAlignMille2Module.cxx:159 AliITSAlignMille2Module.cxx:160 AliITSAlignMille2Module.cxx:161 AliITSAlignMille2Module.cxx:162 AliITSAlignMille2Module.cxx:163 AliITSAlignMille2Module.cxx:164 AliITSAlignMille2Module.cxx:165 AliITSAlignMille2Module.cxx:166 AliITSAlignMille2Module.cxx:167 AliITSAlignMille2Module.cxx:168 AliITSAlignMille2Module.cxx:169 AliITSAlignMille2Module.cxx:170 AliITSAlignMille2Module.cxx:171 AliITSAlignMille2Module.cxx:172 AliITSAlignMille2Module.cxx:173 AliITSAlignMille2Module.cxx:174 AliITSAlignMille2Module.cxx:175 AliITSAlignMille2Module.cxx:176 AliITSAlignMille2Module.cxx:177 AliITSAlignMille2Module.cxx:178 AliITSAlignMille2Module.cxx:179 AliITSAlignMille2Module.cxx:180 AliITSAlignMille2Module.cxx:181 AliITSAlignMille2Module.cxx:182 AliITSAlignMille2Module.cxx:183 AliITSAlignMille2Module.cxx:184 AliITSAlignMille2Module.cxx:185 AliITSAlignMille2Module.cxx:186 AliITSAlignMille2Module.cxx:187 AliITSAlignMille2Module.cxx:188 AliITSAlignMille2Module.cxx:189 AliITSAlignMille2Module.cxx:190 AliITSAlignMille2Module.cxx:191 AliITSAlignMille2Module.cxx:192 AliITSAlignMille2Module.cxx:193 AliITSAlignMille2Module.cxx:194 AliITSAlignMille2Module.cxx:195 AliITSAlignMille2Module.cxx:196 AliITSAlignMille2Module.cxx:197 AliITSAlignMille2Module.cxx:198 AliITSAlignMille2Module.cxx:199 AliITSAlignMille2Module.cxx:200 AliITSAlignMille2Module.cxx:201 AliITSAlignMille2Module.cxx:202 AliITSAlignMille2Module.cxx:203 AliITSAlignMille2Module.cxx:204 AliITSAlignMille2Module.cxx:205 AliITSAlignMille2Module.cxx:206 AliITSAlignMille2Module.cxx:207 AliITSAlignMille2Module.cxx:208 AliITSAlignMille2Module.cxx:209 AliITSAlignMille2Module.cxx:210 AliITSAlignMille2Module.cxx:211 AliITSAlignMille2Module.cxx:212 AliITSAlignMille2Module.cxx:213 AliITSAlignMille2Module.cxx:214 AliITSAlignMille2Module.cxx:215 AliITSAlignMille2Module.cxx:216 AliITSAlignMille2Module.cxx:217 AliITSAlignMille2Module.cxx:218 AliITSAlignMille2Module.cxx:219 AliITSAlignMille2Module.cxx:220 AliITSAlignMille2Module.cxx:221 AliITSAlignMille2Module.cxx:222 AliITSAlignMille2Module.cxx:223 AliITSAlignMille2Module.cxx:224 AliITSAlignMille2Module.cxx:225 AliITSAlignMille2Module.cxx:226 AliITSAlignMille2Module.cxx:227 AliITSAlignMille2Module.cxx:228 AliITSAlignMille2Module.cxx:229 AliITSAlignMille2Module.cxx:230 AliITSAlignMille2Module.cxx:231 AliITSAlignMille2Module.cxx:232 AliITSAlignMille2Module.cxx:233 AliITSAlignMille2Module.cxx:234 AliITSAlignMille2Module.cxx:235 AliITSAlignMille2Module.cxx:236 AliITSAlignMille2Module.cxx:237 AliITSAlignMille2Module.cxx:238 AliITSAlignMille2Module.cxx:239 AliITSAlignMille2Module.cxx:240 AliITSAlignMille2Module.cxx:241 AliITSAlignMille2Module.cxx:242 AliITSAlignMille2Module.cxx:243 AliITSAlignMille2Module.cxx:244 AliITSAlignMille2Module.cxx:245 AliITSAlignMille2Module.cxx:246 AliITSAlignMille2Module.cxx:247 AliITSAlignMille2Module.cxx:248 AliITSAlignMille2Module.cxx:249 AliITSAlignMille2Module.cxx:250 AliITSAlignMille2Module.cxx:251 AliITSAlignMille2Module.cxx:252 AliITSAlignMille2Module.cxx:253 AliITSAlignMille2Module.cxx:254 AliITSAlignMille2Module.cxx:255 AliITSAlignMille2Module.cxx:256 AliITSAlignMille2Module.cxx:257 AliITSAlignMille2Module.cxx:258 AliITSAlignMille2Module.cxx:259 AliITSAlignMille2Module.cxx:260 AliITSAlignMille2Module.cxx:261 AliITSAlignMille2Module.cxx:262 AliITSAlignMille2Module.cxx:263 AliITSAlignMille2Module.cxx:264 AliITSAlignMille2Module.cxx:265 AliITSAlignMille2Module.cxx:266 AliITSAlignMille2Module.cxx:267 AliITSAlignMille2Module.cxx:268 AliITSAlignMille2Module.cxx:269 AliITSAlignMille2Module.cxx:270 AliITSAlignMille2Module.cxx:271 AliITSAlignMille2Module.cxx:272 AliITSAlignMille2Module.cxx:273 AliITSAlignMille2Module.cxx:274 AliITSAlignMille2Module.cxx:275 AliITSAlignMille2Module.cxx:276 AliITSAlignMille2Module.cxx:277 AliITSAlignMille2Module.cxx:278 AliITSAlignMille2Module.cxx:279 AliITSAlignMille2Module.cxx:280 AliITSAlignMille2Module.cxx:281 AliITSAlignMille2Module.cxx:282 AliITSAlignMille2Module.cxx:283 AliITSAlignMille2Module.cxx:284 AliITSAlignMille2Module.cxx:285 AliITSAlignMille2Module.cxx:286 AliITSAlignMille2Module.cxx:287 AliITSAlignMille2Module.cxx:288 AliITSAlignMille2Module.cxx:289 AliITSAlignMille2Module.cxx:290 AliITSAlignMille2Module.cxx:291 AliITSAlignMille2Module.cxx:292 AliITSAlignMille2Module.cxx:293 AliITSAlignMille2Module.cxx:294 AliITSAlignMille2Module.cxx:295 AliITSAlignMille2Module.cxx:296 AliITSAlignMille2Module.cxx:297 AliITSAlignMille2Module.cxx:298 AliITSAlignMille2Module.cxx:299 AliITSAlignMille2Module.cxx:300 AliITSAlignMille2Module.cxx:301 AliITSAlignMille2Module.cxx:302 AliITSAlignMille2Module.cxx:303 AliITSAlignMille2Module.cxx:304 AliITSAlignMille2Module.cxx:305 AliITSAlignMille2Module.cxx:306 AliITSAlignMille2Module.cxx:307 AliITSAlignMille2Module.cxx:308 AliITSAlignMille2Module.cxx:309 AliITSAlignMille2Module.cxx:310 AliITSAlignMille2Module.cxx:311 AliITSAlignMille2Module.cxx:312 AliITSAlignMille2Module.cxx:313 AliITSAlignMille2Module.cxx:314 AliITSAlignMille2Module.cxx:315 AliITSAlignMille2Module.cxx:316 AliITSAlignMille2Module.cxx:317 AliITSAlignMille2Module.cxx:318 AliITSAlignMille2Module.cxx:319 AliITSAlignMille2Module.cxx:320 AliITSAlignMille2Module.cxx:321 AliITSAlignMille2Module.cxx:322 AliITSAlignMille2Module.cxx:323 AliITSAlignMille2Module.cxx:324 AliITSAlignMille2Module.cxx:325 AliITSAlignMille2Module.cxx:326 AliITSAlignMille2Module.cxx:327 AliITSAlignMille2Module.cxx:328 AliITSAlignMille2Module.cxx:329 AliITSAlignMille2Module.cxx:330 AliITSAlignMille2Module.cxx:331 AliITSAlignMille2Module.cxx:332 AliITSAlignMille2Module.cxx:333 AliITSAlignMille2Module.cxx:334 AliITSAlignMille2Module.cxx:335 AliITSAlignMille2Module.cxx:336 AliITSAlignMille2Module.cxx:337 AliITSAlignMille2Module.cxx:338 AliITSAlignMille2Module.cxx:339 AliITSAlignMille2Module.cxx:340 AliITSAlignMille2Module.cxx:341 AliITSAlignMille2Module.cxx:342 AliITSAlignMille2Module.cxx:343 AliITSAlignMille2Module.cxx:344 AliITSAlignMille2Module.cxx:345 AliITSAlignMille2Module.cxx:346 AliITSAlignMille2Module.cxx:347 AliITSAlignMille2Module.cxx:348 AliITSAlignMille2Module.cxx:349 AliITSAlignMille2Module.cxx:350 AliITSAlignMille2Module.cxx:351 AliITSAlignMille2Module.cxx:352 AliITSAlignMille2Module.cxx:353 AliITSAlignMille2Module.cxx:354 AliITSAlignMille2Module.cxx:355 AliITSAlignMille2Module.cxx:356 AliITSAlignMille2Module.cxx:357 AliITSAlignMille2Module.cxx:358 AliITSAlignMille2Module.cxx:359 AliITSAlignMille2Module.cxx:360 AliITSAlignMille2Module.cxx:361 AliITSAlignMille2Module.cxx:362 AliITSAlignMille2Module.cxx:363 AliITSAlignMille2Module.cxx:364 AliITSAlignMille2Module.cxx:365 AliITSAlignMille2Module.cxx:366 AliITSAlignMille2Module.cxx:367 AliITSAlignMille2Module.cxx:368 AliITSAlignMille2Module.cxx:369 AliITSAlignMille2Module.cxx:370 AliITSAlignMille2Module.cxx:371 AliITSAlignMille2Module.cxx:372 AliITSAlignMille2Module.cxx:373 AliITSAlignMille2Module.cxx:374 AliITSAlignMille2Module.cxx:375 AliITSAlignMille2Module.cxx:376 AliITSAlignMille2Module.cxx:377 AliITSAlignMille2Module.cxx:378 AliITSAlignMille2Module.cxx:379 AliITSAlignMille2Module.cxx:380 AliITSAlignMille2Module.cxx:381 AliITSAlignMille2Module.cxx:382 AliITSAlignMille2Module.cxx:383 AliITSAlignMille2Module.cxx:384 AliITSAlignMille2Module.cxx:385 AliITSAlignMille2Module.cxx:386 AliITSAlignMille2Module.cxx:387 AliITSAlignMille2Module.cxx:388 AliITSAlignMille2Module.cxx:389 AliITSAlignMille2Module.cxx:390 AliITSAlignMille2Module.cxx:391 AliITSAlignMille2Module.cxx:392 AliITSAlignMille2Module.cxx:393 AliITSAlignMille2Module.cxx:394 AliITSAlignMille2Module.cxx:395 AliITSAlignMille2Module.cxx:396 AliITSAlignMille2Module.cxx:397 AliITSAlignMille2Module.cxx:398 AliITSAlignMille2Module.cxx:399 AliITSAlignMille2Module.cxx:400 AliITSAlignMille2Module.cxx:401 AliITSAlignMille2Module.cxx:402 AliITSAlignMille2Module.cxx:403 AliITSAlignMille2Module.cxx:404 AliITSAlignMille2Module.cxx:405 AliITSAlignMille2Module.cxx:406 AliITSAlignMille2Module.cxx:407 AliITSAlignMille2Module.cxx:408 AliITSAlignMille2Module.cxx:409 AliITSAlignMille2Module.cxx:410 AliITSAlignMille2Module.cxx:411 AliITSAlignMille2Module.cxx:412 AliITSAlignMille2Module.cxx:413 AliITSAlignMille2Module.cxx:414 AliITSAlignMille2Module.cxx:415 AliITSAlignMille2Module.cxx:416 AliITSAlignMille2Module.cxx:417 AliITSAlignMille2Module.cxx:418 AliITSAlignMille2Module.cxx:419 AliITSAlignMille2Module.cxx:420 AliITSAlignMille2Module.cxx:421 AliITSAlignMille2Module.cxx:422 AliITSAlignMille2Module.cxx:423 AliITSAlignMille2Module.cxx:424 AliITSAlignMille2Module.cxx:425 AliITSAlignMille2Module.cxx:426 AliITSAlignMille2Module.cxx:427 AliITSAlignMille2Module.cxx:428 AliITSAlignMille2Module.cxx:429 AliITSAlignMille2Module.cxx:430 AliITSAlignMille2Module.cxx:431 AliITSAlignMille2Module.cxx:432 AliITSAlignMille2Module.cxx:433 AliITSAlignMille2Module.cxx:434 AliITSAlignMille2Module.cxx:435 AliITSAlignMille2Module.cxx:436 AliITSAlignMille2Module.cxx:437 AliITSAlignMille2Module.cxx:438 AliITSAlignMille2Module.cxx:439 AliITSAlignMille2Module.cxx:440 AliITSAlignMille2Module.cxx:441 AliITSAlignMille2Module.cxx:442 AliITSAlignMille2Module.cxx:443 AliITSAlignMille2Module.cxx:444 AliITSAlignMille2Module.cxx:445 AliITSAlignMille2Module.cxx:446 AliITSAlignMille2Module.cxx:447 AliITSAlignMille2Module.cxx:448 AliITSAlignMille2Module.cxx:449 AliITSAlignMille2Module.cxx:450 AliITSAlignMille2Module.cxx:451 AliITSAlignMille2Module.cxx:452 AliITSAlignMille2Module.cxx:453 AliITSAlignMille2Module.cxx:454 AliITSAlignMille2Module.cxx:455 AliITSAlignMille2Module.cxx:456 AliITSAlignMille2Module.cxx:457 AliITSAlignMille2Module.cxx:458 AliITSAlignMille2Module.cxx:459 AliITSAlignMille2Module.cxx:460 AliITSAlignMille2Module.cxx:461 AliITSAlignMille2Module.cxx:462 AliITSAlignMille2Module.cxx:463 AliITSAlignMille2Module.cxx:464 AliITSAlignMille2Module.cxx:465 AliITSAlignMille2Module.cxx:466 AliITSAlignMille2Module.cxx:467 AliITSAlignMille2Module.cxx:468 AliITSAlignMille2Module.cxx:469 AliITSAlignMille2Module.cxx:470 AliITSAlignMille2Module.cxx:471 AliITSAlignMille2Module.cxx:472 AliITSAlignMille2Module.cxx:473 AliITSAlignMille2Module.cxx:474 AliITSAlignMille2Module.cxx:475 AliITSAlignMille2Module.cxx:476 AliITSAlignMille2Module.cxx:477 AliITSAlignMille2Module.cxx:478 AliITSAlignMille2Module.cxx:479 AliITSAlignMille2Module.cxx:480 AliITSAlignMille2Module.cxx:481 AliITSAlignMille2Module.cxx:482 AliITSAlignMille2Module.cxx:483 AliITSAlignMille2Module.cxx:484 AliITSAlignMille2Module.cxx:485 AliITSAlignMille2Module.cxx:486 AliITSAlignMille2Module.cxx:487 AliITSAlignMille2Module.cxx:488 AliITSAlignMille2Module.cxx:489 AliITSAlignMille2Module.cxx:490 AliITSAlignMille2Module.cxx:491 AliITSAlignMille2Module.cxx:492 AliITSAlignMille2Module.cxx:493 AliITSAlignMille2Module.cxx:494 AliITSAlignMille2Module.cxx:495 AliITSAlignMille2Module.cxx:496 AliITSAlignMille2Module.cxx:497 AliITSAlignMille2Module.cxx:498 AliITSAlignMille2Module.cxx:499 AliITSAlignMille2Module.cxx:500 AliITSAlignMille2Module.cxx:501 AliITSAlignMille2Module.cxx:502 AliITSAlignMille2Module.cxx:503 AliITSAlignMille2Module.cxx:504 AliITSAlignMille2Module.cxx:505 AliITSAlignMille2Module.cxx:506 AliITSAlignMille2Module.cxx:507 AliITSAlignMille2Module.cxx:508 AliITSAlignMille2Module.cxx:509 AliITSAlignMille2Module.cxx:510 AliITSAlignMille2Module.cxx:511 AliITSAlignMille2Module.cxx:512 AliITSAlignMille2Module.cxx:513 AliITSAlignMille2Module.cxx:514 AliITSAlignMille2Module.cxx:515 AliITSAlignMille2Module.cxx:516 AliITSAlignMille2Module.cxx:517 AliITSAlignMille2Module.cxx:518 AliITSAlignMille2Module.cxx:519 AliITSAlignMille2Module.cxx:520 AliITSAlignMille2Module.cxx:521 AliITSAlignMille2Module.cxx:522 AliITSAlignMille2Module.cxx:523 AliITSAlignMille2Module.cxx:524 AliITSAlignMille2Module.cxx:525 AliITSAlignMille2Module.cxx:526 AliITSAlignMille2Module.cxx:527 AliITSAlignMille2Module.cxx:528 AliITSAlignMille2Module.cxx:529 AliITSAlignMille2Module.cxx:530 AliITSAlignMille2Module.cxx:531 AliITSAlignMille2Module.cxx:532 AliITSAlignMille2Module.cxx:533 AliITSAlignMille2Module.cxx:534 AliITSAlignMille2Module.cxx:535 AliITSAlignMille2Module.cxx:536 AliITSAlignMille2Module.cxx:537 AliITSAlignMille2Module.cxx:538 AliITSAlignMille2Module.cxx:539 AliITSAlignMille2Module.cxx:540 AliITSAlignMille2Module.cxx:541 AliITSAlignMille2Module.cxx:542 AliITSAlignMille2Module.cxx:543 AliITSAlignMille2Module.cxx:544 AliITSAlignMille2Module.cxx:545 AliITSAlignMille2Module.cxx:546 AliITSAlignMille2Module.cxx:547 AliITSAlignMille2Module.cxx:548 AliITSAlignMille2Module.cxx:549 AliITSAlignMille2Module.cxx:550 AliITSAlignMille2Module.cxx:551 AliITSAlignMille2Module.cxx:552 AliITSAlignMille2Module.cxx:553 AliITSAlignMille2Module.cxx:554 AliITSAlignMille2Module.cxx:555 AliITSAlignMille2Module.cxx:556 AliITSAlignMille2Module.cxx:557 AliITSAlignMille2Module.cxx:558 AliITSAlignMille2Module.cxx:559 AliITSAlignMille2Module.cxx:560 AliITSAlignMille2Module.cxx:561 AliITSAlignMille2Module.cxx:562 AliITSAlignMille2Module.cxx:563 AliITSAlignMille2Module.cxx:564 AliITSAlignMille2Module.cxx:565 AliITSAlignMille2Module.cxx:566 AliITSAlignMille2Module.cxx:567 AliITSAlignMille2Module.cxx:568 AliITSAlignMille2Module.cxx:569 AliITSAlignMille2Module.cxx:570 AliITSAlignMille2Module.cxx:571 AliITSAlignMille2Module.cxx:572 AliITSAlignMille2Module.cxx:573 AliITSAlignMille2Module.cxx:574 AliITSAlignMille2Module.cxx:575 AliITSAlignMille2Module.cxx:576 AliITSAlignMille2Module.cxx:577 AliITSAlignMille2Module.cxx:578 AliITSAlignMille2Module.cxx:579 AliITSAlignMille2Module.cxx:580 AliITSAlignMille2Module.cxx:581 AliITSAlignMille2Module.cxx:582 AliITSAlignMille2Module.cxx:583 AliITSAlignMille2Module.cxx:584 AliITSAlignMille2Module.cxx:585 AliITSAlignMille2Module.cxx:586 AliITSAlignMille2Module.cxx:587 AliITSAlignMille2Module.cxx:588 AliITSAlignMille2Module.cxx:589 AliITSAlignMille2Module.cxx:590 AliITSAlignMille2Module.cxx:591 AliITSAlignMille2Module.cxx:592 AliITSAlignMille2Module.cxx:593 AliITSAlignMille2Module.cxx:594 AliITSAlignMille2Module.cxx:595 AliITSAlignMille2Module.cxx:596 AliITSAlignMille2Module.cxx:597 AliITSAlignMille2Module.cxx:598 AliITSAlignMille2Module.cxx:599 AliITSAlignMille2Module.cxx:600 AliITSAlignMille2Module.cxx:601 AliITSAlignMille2Module.cxx:602 AliITSAlignMille2Module.cxx:603 AliITSAlignMille2Module.cxx:604 AliITSAlignMille2Module.cxx:605 AliITSAlignMille2Module.cxx:606 AliITSAlignMille2Module.cxx:607 AliITSAlignMille2Module.cxx:608 AliITSAlignMille2Module.cxx:609 AliITSAlignMille2Module.cxx:610 AliITSAlignMille2Module.cxx:611 AliITSAlignMille2Module.cxx:612 AliITSAlignMille2Module.cxx:613 AliITSAlignMille2Module.cxx:614 AliITSAlignMille2Module.cxx:615 AliITSAlignMille2Module.cxx:616 AliITSAlignMille2Module.cxx:617 AliITSAlignMille2Module.cxx:618 AliITSAlignMille2Module.cxx:619 AliITSAlignMille2Module.cxx:620 AliITSAlignMille2Module.cxx:621 AliITSAlignMille2Module.cxx:622 AliITSAlignMille2Module.cxx:623 AliITSAlignMille2Module.cxx:624 AliITSAlignMille2Module.cxx:625 AliITSAlignMille2Module.cxx:626 AliITSAlignMille2Module.cxx:627 AliITSAlignMille2Module.cxx:628 AliITSAlignMille2Module.cxx:629 AliITSAlignMille2Module.cxx:630 AliITSAlignMille2Module.cxx:631 AliITSAlignMille2Module.cxx:632 AliITSAlignMille2Module.cxx:633 AliITSAlignMille2Module.cxx:634 AliITSAlignMille2Module.cxx:635 AliITSAlignMille2Module.cxx:636 AliITSAlignMille2Module.cxx:637 AliITSAlignMille2Module.cxx:638 AliITSAlignMille2Module.cxx:639 AliITSAlignMille2Module.cxx:640 AliITSAlignMille2Module.cxx:641 AliITSAlignMille2Module.cxx:642 AliITSAlignMille2Module.cxx:643 AliITSAlignMille2Module.cxx:644 AliITSAlignMille2Module.cxx:645 AliITSAlignMille2Module.cxx:646 AliITSAlignMille2Module.cxx:647 AliITSAlignMille2Module.cxx:648 AliITSAlignMille2Module.cxx:649 AliITSAlignMille2Module.cxx:650 AliITSAlignMille2Module.cxx:651 AliITSAlignMille2Module.cxx:652 AliITSAlignMille2Module.cxx:653 AliITSAlignMille2Module.cxx:654 AliITSAlignMille2Module.cxx:655 AliITSAlignMille2Module.cxx:656 AliITSAlignMille2Module.cxx:657 AliITSAlignMille2Module.cxx:658 AliITSAlignMille2Module.cxx:659 AliITSAlignMille2Module.cxx:660 AliITSAlignMille2Module.cxx:661 AliITSAlignMille2Module.cxx:662 AliITSAlignMille2Module.cxx:663 AliITSAlignMille2Module.cxx:664 AliITSAlignMille2Module.cxx:665 AliITSAlignMille2Module.cxx:666 AliITSAlignMille2Module.cxx:667 AliITSAlignMille2Module.cxx:668 AliITSAlignMille2Module.cxx:669 AliITSAlignMille2Module.cxx:670 AliITSAlignMille2Module.cxx:671 AliITSAlignMille2Module.cxx:672 AliITSAlignMille2Module.cxx:673 AliITSAlignMille2Module.cxx:674 AliITSAlignMille2Module.cxx:675 AliITSAlignMille2Module.cxx:676 AliITSAlignMille2Module.cxx:677 AliITSAlignMille2Module.cxx:678 AliITSAlignMille2Module.cxx:679 AliITSAlignMille2Module.cxx:680 AliITSAlignMille2Module.cxx:681 AliITSAlignMille2Module.cxx:682 AliITSAlignMille2Module.cxx:683 AliITSAlignMille2Module.cxx:684 AliITSAlignMille2Module.cxx:685 AliITSAlignMille2Module.cxx:686 AliITSAlignMille2Module.cxx:687 AliITSAlignMille2Module.cxx:688 AliITSAlignMille2Module.cxx:689 AliITSAlignMille2Module.cxx:690 AliITSAlignMille2Module.cxx:691 AliITSAlignMille2Module.cxx:692 AliITSAlignMille2Module.cxx:693 AliITSAlignMille2Module.cxx:694 AliITSAlignMille2Module.cxx:695 AliITSAlignMille2Module.cxx:696 AliITSAlignMille2Module.cxx:697 AliITSAlignMille2Module.cxx:698 AliITSAlignMille2Module.cxx:699 AliITSAlignMille2Module.cxx:700 AliITSAlignMille2Module.cxx:701 AliITSAlignMille2Module.cxx:702 AliITSAlignMille2Module.cxx:703 AliITSAlignMille2Module.cxx:704 AliITSAlignMille2Module.cxx:705 AliITSAlignMille2Module.cxx:706 AliITSAlignMille2Module.cxx:707 AliITSAlignMille2Module.cxx:708 AliITSAlignMille2Module.cxx:709 AliITSAlignMille2Module.cxx:710 AliITSAlignMille2Module.cxx:711 AliITSAlignMille2Module.cxx:712 AliITSAlignMille2Module.cxx:713 AliITSAlignMille2Module.cxx:714 AliITSAlignMille2Module.cxx:715 AliITSAlignMille2Module.cxx:716 AliITSAlignMille2Module.cxx:717 AliITSAlignMille2Module.cxx:718 AliITSAlignMille2Module.cxx:719 AliITSAlignMille2Module.cxx:720 AliITSAlignMille2Module.cxx:721 AliITSAlignMille2Module.cxx:722 AliITSAlignMille2Module.cxx:723 AliITSAlignMille2Module.cxx:724 AliITSAlignMille2Module.cxx:725 AliITSAlignMille2Module.cxx:726 AliITSAlignMille2Module.cxx:727 AliITSAlignMille2Module.cxx:728 AliITSAlignMille2Module.cxx:729 AliITSAlignMille2Module.cxx:730 AliITSAlignMille2Module.cxx:731 AliITSAlignMille2Module.cxx:732 AliITSAlignMille2Module.cxx:733 AliITSAlignMille2Module.cxx:734 AliITSAlignMille2Module.cxx:735 AliITSAlignMille2Module.cxx:736 AliITSAlignMille2Module.cxx:737 AliITSAlignMille2Module.cxx:738 AliITSAlignMille2Module.cxx:739 AliITSAlignMille2Module.cxx:740 AliITSAlignMille2Module.cxx:741 AliITSAlignMille2Module.cxx:742 AliITSAlignMille2Module.cxx:743 AliITSAlignMille2Module.cxx:744 AliITSAlignMille2Module.cxx:745 AliITSAlignMille2Module.cxx:746 AliITSAlignMille2Module.cxx:747 AliITSAlignMille2Module.cxx:748 AliITSAlignMille2Module.cxx:749 AliITSAlignMille2Module.cxx:750 AliITSAlignMille2Module.cxx:751 AliITSAlignMille2Module.cxx:752 AliITSAlignMille2Module.cxx:753 AliITSAlignMille2Module.cxx:754 AliITSAlignMille2Module.cxx:755 AliITSAlignMille2Module.cxx:756 AliITSAlignMille2Module.cxx:757 AliITSAlignMille2Module.cxx:758 AliITSAlignMille2Module.cxx:759 AliITSAlignMille2Module.cxx:760 AliITSAlignMille2Module.cxx:761 AliITSAlignMille2Module.cxx:762 AliITSAlignMille2Module.cxx:763 AliITSAlignMille2Module.cxx:764 AliITSAlignMille2Module.cxx:765 AliITSAlignMille2Module.cxx:766 AliITSAlignMille2Module.cxx:767 AliITSAlignMille2Module.cxx:768 AliITSAlignMille2Module.cxx:769 AliITSAlignMille2Module.cxx:770 AliITSAlignMille2Module.cxx:771 AliITSAlignMille2Module.cxx:772 AliITSAlignMille2Module.cxx:773 AliITSAlignMille2Module.cxx:774 AliITSAlignMille2Module.cxx:775 AliITSAlignMille2Module.cxx:776 AliITSAlignMille2Module.cxx:777 AliITSAlignMille2Module.cxx:778 AliITSAlignMille2Module.cxx:779 AliITSAlignMille2Module.cxx:780 AliITSAlignMille2Module.cxx:781 AliITSAlignMille2Module.cxx:782 AliITSAlignMille2Module.cxx:783 AliITSAlignMille2Module.cxx:784 AliITSAlignMille2Module.cxx:785 AliITSAlignMille2Module.cxx:786 AliITSAlignMille2Module.cxx:787 AliITSAlignMille2Module.cxx:788 AliITSAlignMille2Module.cxx:789 AliITSAlignMille2Module.cxx:790 AliITSAlignMille2Module.cxx:791 AliITSAlignMille2Module.cxx:792 AliITSAlignMille2Module.cxx:793 AliITSAlignMille2Module.cxx:794 AliITSAlignMille2Module.cxx:795 AliITSAlignMille2Module.cxx:796 AliITSAlignMille2Module.cxx:797 AliITSAlignMille2Module.cxx:798 AliITSAlignMille2Module.cxx:799 AliITSAlignMille2Module.cxx:800 AliITSAlignMille2Module.cxx:801 AliITSAlignMille2Module.cxx:802 AliITSAlignMille2Module.cxx:803 AliITSAlignMille2Module.cxx:804 AliITSAlignMille2Module.cxx:805 AliITSAlignMille2Module.cxx:806 AliITSAlignMille2Module.cxx:807 AliITSAlignMille2Module.cxx:808 AliITSAlignMille2Module.cxx:809 AliITSAlignMille2Module.cxx:810 AliITSAlignMille2Module.cxx:811 AliITSAlignMille2Module.cxx:812 AliITSAlignMille2Module.cxx:813 AliITSAlignMille2Module.cxx:814 AliITSAlignMille2Module.cxx:815 AliITSAlignMille2Module.cxx:816 AliITSAlignMille2Module.cxx:817 AliITSAlignMille2Module.cxx:818 AliITSAlignMille2Module.cxx:819 AliITSAlignMille2Module.cxx:820 AliITSAlignMille2Module.cxx:821 AliITSAlignMille2Module.cxx:822 AliITSAlignMille2Module.cxx:823 AliITSAlignMille2Module.cxx:824 AliITSAlignMille2Module.cxx:825 AliITSAlignMille2Module.cxx:826 AliITSAlignMille2Module.cxx:827 AliITSAlignMille2Module.cxx:828 AliITSAlignMille2Module.cxx:829 AliITSAlignMille2Module.cxx:830 AliITSAlignMille2Module.cxx:831 AliITSAlignMille2Module.cxx:832 AliITSAlignMille2Module.cxx:833 AliITSAlignMille2Module.cxx:834 AliITSAlignMille2Module.cxx:835 AliITSAlignMille2Module.cxx:836 AliITSAlignMille2Module.cxx:837 AliITSAlignMille2Module.cxx:838 AliITSAlignMille2Module.cxx:839 AliITSAlignMille2Module.cxx:840 AliITSAlignMille2Module.cxx:841 AliITSAlignMille2Module.cxx:842 AliITSAlignMille2Module.cxx:843 AliITSAlignMille2Module.cxx:844 AliITSAlignMille2Module.cxx:845 AliITSAlignMille2Module.cxx:846 AliITSAlignMille2Module.cxx:847 AliITSAlignMille2Module.cxx:848 AliITSAlignMille2Module.cxx:849 AliITSAlignMille2Module.cxx:850 AliITSAlignMille2Module.cxx:851 AliITSAlignMille2Module.cxx:852 AliITSAlignMille2Module.cxx:853 AliITSAlignMille2Module.cxx:854 AliITSAlignMille2Module.cxx:855 AliITSAlignMille2Module.cxx:856 AliITSAlignMille2Module.cxx:857 AliITSAlignMille2Module.cxx:858 AliITSAlignMille2Module.cxx:859 AliITSAlignMille2Module.cxx:860 AliITSAlignMille2Module.cxx:861 AliITSAlignMille2Module.cxx:862 AliITSAlignMille2Module.cxx:863 AliITSAlignMille2Module.cxx:864 AliITSAlignMille2Module.cxx:865 AliITSAlignMille2Module.cxx:866 AliITSAlignMille2Module.cxx:867 AliITSAlignMille2Module.cxx:868 AliITSAlignMille2Module.cxx:869 AliITSAlignMille2Module.cxx:870 AliITSAlignMille2Module.cxx:871 AliITSAlignMille2Module.cxx:872 AliITSAlignMille2Module.cxx:873 AliITSAlignMille2Module.cxx:874 AliITSAlignMille2Module.cxx:875 AliITSAlignMille2Module.cxx:876 AliITSAlignMille2Module.cxx:877 AliITSAlignMille2Module.cxx:878 AliITSAlignMille2Module.cxx:879 AliITSAlignMille2Module.cxx:880 AliITSAlignMille2Module.cxx:881 AliITSAlignMille2Module.cxx:882 AliITSAlignMille2Module.cxx:883 AliITSAlignMille2Module.cxx:884 AliITSAlignMille2Module.cxx:885 AliITSAlignMille2Module.cxx:886 AliITSAlignMille2Module.cxx:887 AliITSAlignMille2Module.cxx:888 AliITSAlignMille2Module.cxx:889 AliITSAlignMille2Module.cxx:890 AliITSAlignMille2Module.cxx:891 AliITSAlignMille2Module.cxx:892 AliITSAlignMille2Module.cxx:893 AliITSAlignMille2Module.cxx:894 AliITSAlignMille2Module.cxx:895 AliITSAlignMille2Module.cxx:896 AliITSAlignMille2Module.cxx:897 AliITSAlignMille2Module.cxx:898 AliITSAlignMille2Module.cxx:899 AliITSAlignMille2Module.cxx:900 AliITSAlignMille2Module.cxx:901 AliITSAlignMille2Module.cxx:902 AliITSAlignMille2Module.cxx:903 AliITSAlignMille2Module.cxx:904 AliITSAlignMille2Module.cxx:905 AliITSAlignMille2Module.cxx:906 AliITSAlignMille2Module.cxx:907 AliITSAlignMille2Module.cxx:908 AliITSAlignMille2Module.cxx:909 AliITSAlignMille2Module.cxx:910 AliITSAlignMille2Module.cxx:911 AliITSAlignMille2Module.cxx:912 AliITSAlignMille2Module.cxx:913 AliITSAlignMille2Module.cxx:914 AliITSAlignMille2Module.cxx:915 AliITSAlignMille2Module.cxx:916 AliITSAlignMille2Module.cxx:917 AliITSAlignMille2Module.cxx:918 AliITSAlignMille2Module.cxx:919 AliITSAlignMille2Module.cxx:920 AliITSAlignMille2Module.cxx:921 AliITSAlignMille2Module.cxx:922 AliITSAlignMille2Module.cxx:923 AliITSAlignMille2Module.cxx:924 AliITSAlignMille2Module.cxx:925 AliITSAlignMille2Module.cxx:926 AliITSAlignMille2Module.cxx:927 AliITSAlignMille2Module.cxx:928 AliITSAlignMille2Module.cxx:929 AliITSAlignMille2Module.cxx:930 AliITSAlignMille2Module.cxx:931 AliITSAlignMille2Module.cxx:932 AliITSAlignMille2Module.cxx:933 AliITSAlignMille2Module.cxx:934 AliITSAlignMille2Module.cxx:935 AliITSAlignMille2Module.cxx:936 AliITSAlignMille2Module.cxx:937 AliITSAlignMille2Module.cxx:938 AliITSAlignMille2Module.cxx:939 AliITSAlignMille2Module.cxx:940 AliITSAlignMille2Module.cxx:941 AliITSAlignMille2Module.cxx:942 AliITSAlignMille2Module.cxx:943 AliITSAlignMille2Module.cxx:944 AliITSAlignMille2Module.cxx:945 AliITSAlignMille2Module.cxx:946 AliITSAlignMille2Module.cxx:947 AliITSAlignMille2Module.cxx:948 AliITSAlignMille2Module.cxx:949 AliITSAlignMille2Module.cxx:950 AliITSAlignMille2Module.cxx:951 AliITSAlignMille2Module.cxx:952 AliITSAlignMille2Module.cxx:953 AliITSAlignMille2Module.cxx:954 AliITSAlignMille2Module.cxx:955 AliITSAlignMille2Module.cxx:956 AliITSAlignMille2Module.cxx:957 AliITSAlignMille2Module.cxx:958 AliITSAlignMille2Module.cxx:959 AliITSAlignMille2Module.cxx:960 AliITSAlignMille2Module.cxx:961 AliITSAlignMille2Module.cxx:962 AliITSAlignMille2Module.cxx:963 AliITSAlignMille2Module.cxx:964 AliITSAlignMille2Module.cxx:965 AliITSAlignMille2Module.cxx:966 AliITSAlignMille2Module.cxx:967 AliITSAlignMille2Module.cxx:968 AliITSAlignMille2Module.cxx:969 AliITSAlignMille2Module.cxx:970 AliITSAlignMille2Module.cxx:971 AliITSAlignMille2Module.cxx:972 AliITSAlignMille2Module.cxx:973 AliITSAlignMille2Module.cxx:974 AliITSAlignMille2Module.cxx:975 AliITSAlignMille2Module.cxx:976 AliITSAlignMille2Module.cxx:977 AliITSAlignMille2Module.cxx:978 AliITSAlignMille2Module.cxx:979 AliITSAlignMille2Module.cxx:980 AliITSAlignMille2Module.cxx:981 AliITSAlignMille2Module.cxx:982 AliITSAlignMille2Module.cxx:983 AliITSAlignMille2Module.cxx:984 AliITSAlignMille2Module.cxx:985 AliITSAlignMille2Module.cxx:986 AliITSAlignMille2Module.cxx:987 AliITSAlignMille2Module.cxx:988 AliITSAlignMille2Module.cxx:989 AliITSAlignMille2Module.cxx:990 AliITSAlignMille2Module.cxx:991 AliITSAlignMille2Module.cxx:992 AliITSAlignMille2Module.cxx:993 AliITSAlignMille2Module.cxx:994 AliITSAlignMille2Module.cxx:995 AliITSAlignMille2Module.cxx:996 AliITSAlignMille2Module.cxx:997 AliITSAlignMille2Module.cxx:998 AliITSAlignMille2Module.cxx:999 AliITSAlignMille2Module.cxx:1000 AliITSAlignMille2Module.cxx:1001 AliITSAlignMille2Module.cxx:1002 AliITSAlignMille2Module.cxx:1003 AliITSAlignMille2Module.cxx:1004 AliITSAlignMille2Module.cxx:1005 AliITSAlignMille2Module.cxx:1006 AliITSAlignMille2Module.cxx:1007 AliITSAlignMille2Module.cxx:1008 AliITSAlignMille2Module.cxx:1009 AliITSAlignMille2Module.cxx:1010 AliITSAlignMille2Module.cxx:1011 AliITSAlignMille2Module.cxx:1012 AliITSAlignMille2Module.cxx:1013 AliITSAlignMille2Module.cxx:1014 AliITSAlignMille2Module.cxx:1015 AliITSAlignMille2Module.cxx:1016 AliITSAlignMille2Module.cxx:1017 AliITSAlignMille2Module.cxx:1018 AliITSAlignMille2Module.cxx:1019 AliITSAlignMille2Module.cxx:1020 AliITSAlignMille2Module.cxx:1021 AliITSAlignMille2Module.cxx:1022 AliITSAlignMille2Module.cxx:1023 AliITSAlignMille2Module.cxx:1024 AliITSAlignMille2Module.cxx:1025 AliITSAlignMille2Module.cxx:1026 AliITSAlignMille2Module.cxx:1027 AliITSAlignMille2Module.cxx:1028 AliITSAlignMille2Module.cxx:1029 AliITSAlignMille2Module.cxx:1030 AliITSAlignMille2Module.cxx:1031 AliITSAlignMille2Module.cxx:1032 AliITSAlignMille2Module.cxx:1033 AliITSAlignMille2Module.cxx:1034 AliITSAlignMille2Module.cxx:1035 AliITSAlignMille2Module.cxx:1036 AliITSAlignMille2Module.cxx:1037 AliITSAlignMille2Module.cxx:1038 AliITSAlignMille2Module.cxx:1039 AliITSAlignMille2Module.cxx:1040 AliITSAlignMille2Module.cxx:1041 AliITSAlignMille2Module.cxx:1042 AliITSAlignMille2Module.cxx:1043 AliITSAlignMille2Module.cxx:1044 AliITSAlignMille2Module.cxx:1045 AliITSAlignMille2Module.cxx:1046 AliITSAlignMille2Module.cxx:1047 AliITSAlignMille2Module.cxx:1048 AliITSAlignMille2Module.cxx:1049 AliITSAlignMille2Module.cxx:1050 AliITSAlignMille2Module.cxx:1051 AliITSAlignMille2Module.cxx:1052 AliITSAlignMille2Module.cxx:1053 AliITSAlignMille2Module.cxx:1054 AliITSAlignMille2Module.cxx:1055 AliITSAlignMille2Module.cxx:1056 AliITSAlignMille2Module.cxx:1057 AliITSAlignMille2Module.cxx:1058 AliITSAlignMille2Module.cxx:1059 AliITSAlignMille2Module.cxx:1060 AliITSAlignMille2Module.cxx:1061 AliITSAlignMille2Module.cxx:1062 AliITSAlignMille2Module.cxx:1063 AliITSAlignMille2Module.cxx:1064 AliITSAlignMille2Module.cxx:1065 AliITSAlignMille2Module.cxx:1066 AliITSAlignMille2Module.cxx:1067 AliITSAlignMille2Module.cxx:1068 AliITSAlignMille2Module.cxx:1069 AliITSAlignMille2Module.cxx:1070 AliITSAlignMille2Module.cxx:1071 AliITSAlignMille2Module.cxx:1072 AliITSAlignMille2Module.cxx:1073 AliITSAlignMille2Module.cxx:1074 AliITSAlignMille2Module.cxx:1075 AliITSAlignMille2Module.cxx:1076 AliITSAlignMille2Module.cxx:1077 AliITSAlignMille2Module.cxx:1078 AliITSAlignMille2Module.cxx:1079 AliITSAlignMille2Module.cxx:1080 AliITSAlignMille2Module.cxx:1081 AliITSAlignMille2Module.cxx:1082 AliITSAlignMille2Module.cxx:1083 AliITSAlignMille2Module.cxx:1084 AliITSAlignMille2Module.cxx:1085 AliITSAlignMille2Module.cxx:1086 AliITSAlignMille2Module.cxx:1087 AliITSAlignMille2Module.cxx:1088 AliITSAlignMille2Module.cxx:1089 AliITSAlignMille2Module.cxx:1090 AliITSAlignMille2Module.cxx:1091 AliITSAlignMille2Module.cxx:1092 AliITSAlignMille2Module.cxx:1093 AliITSAlignMille2Module.cxx:1094 AliITSAlignMille2Module.cxx:1095 AliITSAlignMille2Module.cxx:1096 AliITSAlignMille2Module.cxx:1097 AliITSAlignMille2Module.cxx:1098 AliITSAlignMille2Module.cxx:1099 AliITSAlignMille2Module.cxx:1100 AliITSAlignMille2Module.cxx:1101 AliITSAlignMille2Module.cxx:1102 AliITSAlignMille2Module.cxx:1103 AliITSAlignMille2Module.cxx:1104 AliITSAlignMille2Module.cxx:1105 AliITSAlignMille2Module.cxx:1106 AliITSAlignMille2Module.cxx:1107 AliITSAlignMille2Module.cxx:1108 AliITSAlignMille2Module.cxx:1109 AliITSAlignMille2Module.cxx:1110 AliITSAlignMille2Module.cxx:1111 AliITSAlignMille2Module.cxx:1112 AliITSAlignMille2Module.cxx:1113 AliITSAlignMille2Module.cxx:1114 AliITSAlignMille2Module.cxx:1115 AliITSAlignMille2Module.cxx:1116 AliITSAlignMille2Module.cxx:1117 AliITSAlignMille2Module.cxx:1118 AliITSAlignMille2Module.cxx:1119 AliITSAlignMille2Module.cxx:1120 AliITSAlignMille2Module.cxx:1121 AliITSAlignMille2Module.cxx:1122 AliITSAlignMille2Module.cxx:1123 AliITSAlignMille2Module.cxx:1124 AliITSAlignMille2Module.cxx:1125 AliITSAlignMille2Module.cxx:1126 AliITSAlignMille2Module.cxx:1127 AliITSAlignMille2Module.cxx:1128 AliITSAlignMille2Module.cxx:1129 AliITSAlignMille2Module.cxx:1130 AliITSAlignMille2Module.cxx:1131 AliITSAlignMille2Module.cxx:1132 AliITSAlignMille2Module.cxx:1133 AliITSAlignMille2Module.cxx:1134 AliITSAlignMille2Module.cxx:1135 AliITSAlignMille2Module.cxx:1136 AliITSAlignMille2Module.cxx:1137 AliITSAlignMille2Module.cxx:1138 AliITSAlignMille2Module.cxx:1139 AliITSAlignMille2Module.cxx:1140 AliITSAlignMille2Module.cxx:1141 AliITSAlignMille2Module.cxx:1142 AliITSAlignMille2Module.cxx:1143 AliITSAlignMille2Module.cxx:1144 AliITSAlignMille2Module.cxx:1145 AliITSAlignMille2Module.cxx:1146 AliITSAlignMille2Module.cxx:1147 AliITSAlignMille2Module.cxx:1148 AliITSAlignMille2Module.cxx:1149 AliITSAlignMille2Module.cxx:1150 AliITSAlignMille2Module.cxx:1151 AliITSAlignMille2Module.cxx:1152 AliITSAlignMille2Module.cxx:1153 AliITSAlignMille2Module.cxx:1154 AliITSAlignMille2Module.cxx:1155 AliITSAlignMille2Module.cxx:1156 AliITSAlignMille2Module.cxx:1157 AliITSAlignMille2Module.cxx:1158 AliITSAlignMille2Module.cxx:1159 AliITSAlignMille2Module.cxx:1160 AliITSAlignMille2Module.cxx:1161 AliITSAlignMille2Module.cxx:1162 AliITSAlignMille2Module.cxx:1163 AliITSAlignMille2Module.cxx:1164 AliITSAlignMille2Module.cxx:1165 AliITSAlignMille2Module.cxx:1166 AliITSAlignMille2Module.cxx:1167 AliITSAlignMille2Module.cxx:1168 AliITSAlignMille2Module.cxx:1169 AliITSAlignMille2Module.cxx:1170 AliITSAlignMille2Module.cxx:1171 AliITSAlignMille2Module.cxx:1172 AliITSAlignMille2Module.cxx:1173 AliITSAlignMille2Module.cxx:1174 AliITSAlignMille2Module.cxx:1175 AliITSAlignMille2Module.cxx:1176 AliITSAlignMille2Module.cxx:1177 AliITSAlignMille2Module.cxx:1178 AliITSAlignMille2Module.cxx:1179 AliITSAlignMille2Module.cxx:1180 AliITSAlignMille2Module.cxx:1181 AliITSAlignMille2Module.cxx:1182 AliITSAlignMille2Module.cxx:1183 AliITSAlignMille2Module.cxx:1184 AliITSAlignMille2Module.cxx:1185 AliITSAlignMille2Module.cxx:1186 AliITSAlignMille2Module.cxx:1187 AliITSAlignMille2Module.cxx:1188 AliITSAlignMille2Module.cxx:1189 AliITSAlignMille2Module.cxx:1190 AliITSAlignMille2Module.cxx:1191 AliITSAlignMille2Module.cxx:1192 AliITSAlignMille2Module.cxx:1193 AliITSAlignMille2Module.cxx:1194 AliITSAlignMille2Module.cxx:1195 AliITSAlignMille2Module.cxx:1196 AliITSAlignMille2Module.cxx:1197 AliITSAlignMille2Module.cxx:1198 AliITSAlignMille2Module.cxx:1199 AliITSAlignMille2Module.cxx:1200 AliITSAlignMille2Module.cxx:1201 AliITSAlignMille2Module.cxx:1202 AliITSAlignMille2Module.cxx:1203 AliITSAlignMille2Module.cxx:1204 AliITSAlignMille2Module.cxx:1205 AliITSAlignMille2Module.cxx:1206 AliITSAlignMille2Module.cxx:1207 AliITSAlignMille2Module.cxx:1208 AliITSAlignMille2Module.cxx:1209 AliITSAlignMille2Module.cxx:1210 AliITSAlignMille2Module.cxx:1211 AliITSAlignMille2Module.cxx:1212 AliITSAlignMille2Module.cxx:1213 AliITSAlignMille2Module.cxx:1214 AliITSAlignMille2Module.cxx:1215 AliITSAlignMille2Module.cxx:1216 AliITSAlignMille2Module.cxx:1217 AliITSAlignMille2Module.cxx:1218 AliITSAlignMille2Module.cxx:1219 AliITSAlignMille2Module.cxx:1220 AliITSAlignMille2Module.cxx:1221 AliITSAlignMille2Module.cxx:1222 AliITSAlignMille2Module.cxx:1223