//////////////////////////////////////////////////////////////////////////
#include "AliSurveyToAlignObjs.h"
+#include "TString.h"
class TClonesArray;
+class TGeoMatrix;
+class TSystem;
+class TFile;
class AliSurveyObj;
class AliAlignObjParams;
+class AliCDBStorage;
+class AliCDBEntry;
-class AliITSSurveyToAlign : public AliSurveyToAlignObjs {
-
- public:
- AliITSSurveyToAlign(Int_t run = 0, Int_t repSDD = 845069, Int_t repVerSDD = 1, Int_t repModSSD = 887877, Int_t repModVerSSD =3, Int_t repLaddSSD = 980521, Int_t repLaddVerSSD = 1);
- AliITSSurveyToAlign(const AliITSSurveyToAlign& align); // copy constructor
- AliITSSurveyToAlign &operator = (const AliITSSurveyToAlign& /* align */); //assignment operator
- virtual ~AliITSSurveyToAlign();
-
- void Run();
- Bool_t CreateAlignObjs();
- void CreateAlignObjDummySPD();
- void CreateAlignObjSDD();
- void CreateAlignObjDummySDD();
- void CreateAlignObjSSDModules();
- void CreateAlignObjDummySSDModules();
- void CreateAlignObjSSDLadders();
- Bool_t ApplyAlignObjSSDLadders();
-
- //
- private:
- Int_t fRun; // the run number for the OCDB
- Int_t fSDDrepNumber;
- Int_t fSDDrepVersion;
- Int_t fSSDModuleRepNumber;
- Int_t fSSDModuleRepVersion;
- Int_t fSSDLadderRepNumber;
- Int_t fSSDLadderRepVersion;
-
- Double_t fSDDmeP[6][6]; //meas. pos. of ref. marks.for current module
- Double_t fSDDidP[6][3]; //ideal pos. of ref. marks for current module
- Bool_t fSDDisMe[6];
-
- static const Double_t fgkLocR[6][3]; //id. pos. of ref. marks in RS of right oriented modules
- static const Double_t fgkLocL[6][3]; //id. pos. of ref. marks in RS of lefr oriented modules
-
- void GetIdPosSDD(Int_t uid, Int_t layer, Int_t module, Int_t iPoint);
- void ReadPointNameSDD(const char str[], Int_t &iLayer, Int_t &iLader, Int_t &iModul, Int_t &iPoint);
- void ConvertToRSofModulesAndRotSDD(Int_t Layer, Int_t Module);
- void CalcShiftSDD(Double_t &x0,Double_t &y0,Double_t &z0);
- void CalcShiftRotSDD(Double_t &tet,Double_t &psi,Double_t &phi,Double_t &x0,Double_t &y0,Double_t &z0);
-
- ClassDef(AliITSSurveyToAlign,0);
+class AliITSSurveyToAlign : public AliSurveyToAlignObjs
+{
+
+public:
+ AliITSSurveyToAlign(Int_t run = 0, Int_t repModSDD = 845069, Int_t repModVerSDD = 1,
+ Int_t repLadSDD = 999999, Int_t repLadVerSDD = 1, Int_t repModSSD = 887877,
+ Int_t repModVerSSD =3, Int_t repLaddSSD = 980521, Int_t repLaddVerSSD = 2);
+ AliITSSurveyToAlign(const AliITSSurveyToAlign& align); // copy constructor
+ AliITSSurveyToAlign &operator = (const AliITSSurveyToAlign& align); //assignment operator
+ virtual ~AliITSSurveyToAlign();
+
+ void Run();
+ Bool_t CreateAlignObjs();
+ void CreateAlignObjDummySPD();
+
+ void CreateAlignObjDummySDDModules();
+ void CreateAlignObjDummySDDLadders();
+ void CreateAlignObjSDDModules();
+ void CreateAlignObjSDDLadders();
+ Bool_t ApplyAlignObjSDD();
+
+ void CreateAlignObjSSDModules();
+ void CreateAlignObjDummySSDModules();
+ void CreateAlignObjSSDLadders();
+ Bool_t ApplyAlignObjSSDLadders();
+
+private:
+ Int_t fRun; // the run number for the OCDB
+ Int_t fSDDModuleRepNumber; // SDD Module survey report number (EDMS)
+ Int_t fSDDModuleRepVersion; // SDD Module survey report version (det DB)
+ Int_t fSDDLadderRepNumber; // SDD Ladder survey report number (EDMS)
+ Int_t fSDDLadderRepVersion; // SDD Ladder survey report version (det DB)
+ Int_t fSSDModuleRepNumber; // SSD Module survey report number (EDMS)
+ Int_t fSSDModuleRepVersion; // SSD Module survey report version (det DB)
+ Int_t fSSDLadderRepNumber; // SSD Ladder survey report number (EDMS)
+ Int_t fSSDLadderRepVersion; // SSD Ladder survey report version (det DB)
+
+ Double_t fSDDmeP[6][6]; //measured positions of ref. marks for current module
+ Double_t fSDDidP[6][3]; //ideal positions of ref. marks for current module
+ Bool_t fSDDisMe[6]; //flag indicating if the positions of ref. mark is measured.
+
+ static const Double_t fgkLocR[6][3]; //id. pos. of ref. marks in RS of right oriented modules
+ static const Double_t fgkLocL[6][3]; //id. pos. of ref. marks in RS of lefr oriented modules
+
+ void GetIdPosSDD(Int_t uid, Int_t layer, Int_t module, Int_t iPoint);
+ void ReadPointNameSDD(const char str[], Int_t &iLayer, Int_t &iLader, Int_t &iModul, Int_t &iPoint) const;
+ void ConvertToRSofModulesAndRotSDD(Int_t Layer, Int_t Module);
+ void CalcShiftSDD(Double_t &x0,Double_t &y0,Double_t &z0) const;
+ void CalcShiftRotSDD(Double_t &tet,Double_t &psi,Double_t &phi,Double_t &x0,Double_t &y0,Double_t &z0);
+
+
+ // these are tmp vars.
+ //to be removed later
+ Int_t fuidSDDm[260]; //uid of SDD module
+ TString fsymnameSDDm[260]; //symname of SDD module
+ Double_t fxSDDm[260]; //x-shift of SDD module
+ Double_t fySDDm[260]; //y-shift of SDD module
+ Double_t fzSDDm[260]; //z-shift of SDD module
+ Double_t fpsiSDDm[260]; //psi of SDD module
+ Double_t ftetSDDm[260]; //tet of SDD module
+ Double_t fphiSDDm[260]; //phi of SDD module
+ Int_t fuidSDDl[36]; //uid of SDD ladder
+ TString fsymnameSDDl[36]; //symname of SDD ladder
+ Double_t fxSDDl[36]; //x-shift of SDD ladder
+ Double_t fySDDl[36]; //y-shift of SDD ladder
+ Double_t fzSDDl[36]; //z-shift of SDD ladder
+ Double_t fpsiSDDl[36]; //psi of SDD ladder
+ Double_t ftetSDDl[36]; //phi of SDD ladder
+ Double_t fphiSDDl[36]; //phi of SDD ladder
+
+ ClassDef(AliITSSurveyToAlign,0);
};
#endif
+