X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=ITS%2FAliITSSurveyToAlign.h;h=b4efd721f8b84ee6fa959a4b42aca9e458d455b1;hb=b5113062351878fa479f7c1b3982556e2e0bdbe8;hp=f03a0d763d16e1f43b5ba4262fc641d0459835c2;hpb=02078bdf3c17990774e3bf85f8d66cdc6ee2f3f8;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSSurveyToAlign.h b/ITS/AliITSSurveyToAlign.h index f03a0d763d1..b4efd721f8b 100644 --- a/ITS/AliITSSurveyToAlign.h +++ b/ITS/AliITSSurveyToAlign.h @@ -11,51 +11,89 @@ ////////////////////////////////////////////////////////////////////////// #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 =2, Int_t repLaddSSD = 12345, Int_t repLaddVerSSD = 1); - AliITSSurveyToAlign(const AliITSSurveyToAlign &align); // copy constructor - AliITSSurveyToAlign &operator = (const AliITSSurveyToAlign &align); //assignment operator - virtual ~AliITSSurveyToAlign(); - - virtual void Run(); - void CreateAlignObjSPD(); - void CreateAlignObjSDD(); - void CreateAlignObjDummySDD(); - void CreateAlignObjSSDModules(); - void CreateAlignObjDummySSDModules(); - void CreateAlignObjSSDLadders(); - - // - 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 +