+ TString surveyFileName;
+
+ const Char_t * szEnv = gSystem->Getenv("ALICE_ROOT");
+ if (szEnv && szEnv[0]) {
+ surveyFileName += szEnv;
+ if (surveyFileName[surveyFileName.Length() - 1] != '/')
+ surveyFileName += '/';
+ } else {
+ Warning(macroName, "cannot find ALICE_ROOT environment variable\n"
+ "probably, I wan't be able to find survey file");
+ }
+
+ surveyFileName += "PHOS/data/phos_mod3_survey_2008.txt";
+
+ new(alobj[i++]) AliAlignObjParams("PHOS/Module1", volid, 0., 0., 0., 0., 0., 0., kTRUE);
+ new(alobj[i++]) AliAlignObjParams("PHOS/Module2", volid, 2., 0., 0., 0., 0., 0., kTRUE);
+ //
+ AliSurveyObj survey;
+ survey.FillFromLocalFile(surveyFileName.Data());
+ TGeoHMatrix module3Delta;
+ AliPHOSModuleMisalignment delta(*phosGeom);
+ delta.DeltaTransformation(2, survey.GetData(), "T2_10000", "T2_10027", "T2_24000",
+ &module3Delta);
+ new(alobj[i++]) AliAlignObjParams("PHOS/Module3", volid, module3Delta, kTRUE);
+ //
+ new(alobj[i++]) AliAlignObjParams("PHOS/Module4", volid, 0., 0., 0., 0., 0., 0., kTRUE);
+ new(alobj[i++]) AliAlignObjParams("PHOS/Module5", volid, 0., 0., 0., 0., 0., 0., kTRUE);
+
+ const Double_t dx = 0., dy = 0., dz = 0. ;
+ // Alignment of CPV modules
+ new(alobj[i++]) AliAlignObjParams("PHOS/Module1/CPV",
+ volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
+ new(alobj[i++]) AliAlignObjParams("PHOS/Module2/CPV",
+ volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
+ new(alobj[i++]) AliAlignObjParams("PHOS/Module3/CPV",
+ volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
+ new(alobj[i++]) AliAlignObjParams("PHOS/Module4/CPV",
+ volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
+ new(alobj[i++]) AliAlignObjParams("PHOS/Module5/CPV",
+ volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
+