New class to go from survey tables to alignment objects for both SDD and SSD - It...
[u/mrichter/AliRoot.git] / ITS / AliITSSurveyToAlign.h
CommitLineData
02078bdf 1#ifndef ALIITSSURVEYTOALIGN_H
2#define ALIITSSURVEYTOALIGN_H
3/* Copyright(c) 2008-2010, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8//////////////////////////////////////////////////////////////////////////
9// Class to convert survey tables in alignment objects
10// for SSD and SDD
11//////////////////////////////////////////////////////////////////////////
12
13#include "AliSurveyToAlignObjs.h"
14
15class TClonesArray;
16class AliSurveyObj;
17class AliAlignObjParams;
18
19
20class AliITSSurveyToAlign : public AliSurveyToAlignObjs {
21
22 public:
23 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);
24 AliITSSurveyToAlign(const AliITSSurveyToAlign &align); // copy constructor
25 AliITSSurveyToAlign &operator = (const AliITSSurveyToAlign &align); //assignment operator
26 virtual ~AliITSSurveyToAlign();
27
28 virtual void Run();
29 void CreateAlignObjSPD();
30 void CreateAlignObjSDD();
31 void CreateAlignObjDummySDD();
32 void CreateAlignObjSSDModules();
33 void CreateAlignObjDummySSDModules();
34 void CreateAlignObjSSDLadders();
35
36 //
37 private:
38 Int_t fRun; // the run number for the OCDB
39 Int_t fSDDrepNumber;
40 Int_t fSDDrepVersion;
41 Int_t fSSDModuleRepNumber;
42 Int_t fSSDModuleRepVersion;
43 Int_t fSSDLadderRepNumber;
44 Int_t fSSDLadderRepVersion;
45
46 Double_t fSDDmeP[6][6]; //meas. pos. of ref. marks.for current module
47 Double_t fSDDidP[6][3]; //ideal pos. of ref. marks for current module
48 Bool_t fSDDisMe[6];
49
50 static const Double_t fgkLocR[6][3]; //id. pos. of ref. marks in RS of right oriented modules
51 static const Double_t fgkLocL[6][3]; //id. pos. of ref. marks in RS of lefr oriented modules
52
53 void GetIdPosSDD(Int_t uid, Int_t layer, Int_t module, Int_t iPoint);
54 void ReadPointNameSDD(const char str[], Int_t &iLayer, Int_t &iLader, Int_t &iModul, Int_t &iPoint);
55 void ConvertToRSofModulesAndRotSDD(Int_t Layer, Int_t Module);
56 void CalcShiftSDD(Double_t &x0,Double_t &y0,Double_t &z0);
57 void CalcShiftRotSDD(Double_t &tet,Double_t &psi,Double_t &phi,Double_t &x0,Double_t &y0,Double_t &z0);
58
59 ClassDef(AliITSSurveyToAlign,0);
60};
61#endif