]>
Commit | Line | Data |
---|---|---|
b33ed6c7 | 1 | #ifndef ALITOFALIGNMENT_H |
2 | #define ALITOFALIGNMENT_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | ////////////////////////////////////////////////////////////////// | |
8 | // class for TOF Alignment:: // | |
9 | ////////////////////////////////////////////////////////////////// | |
5c7c93fa | 10 | //#include <TObject.h> |
11 | //#include <TString.h> | |
b33ed6c7 | 12 | #include "TTask.h" |
5c7c93fa | 13 | //#include "TGeoManager.h" |
14 | //#include "TGeoVolume.h" | |
15 | //#include "TGeoBBox.h" | |
16 | //#include "TGeoTrd1.h" | |
17 | //#include "TGeoPhysicalNode.h" | |
18 | //#include "TGeoNode.h" | |
19 | //#include "TGeoMatrix.h" | |
52883e9e | 20 | |
5c7c93fa | 21 | class TGeoManager; |
0e46b9ae | 22 | class TObjArray; |
5c7c93fa | 23 | class TString; |
24 | class TGeoMatrix; | |
b33ed6c7 | 25 | |
26 | class AliTOFAlignment :public TTask{ | |
27 | ||
e78d8265 | 28 | enum {kMaxAlignObj=2000}; //maximal number of the TOF Alignable Objects |
b33ed6c7 | 29 | |
e78d8265 | 30 | public: |
b33ed6c7 | 31 | |
e78d8265 | 32 | AliTOFAlignment(); |
33 | AliTOFAlignment(const AliTOFAlignment &t); //Copy Ctor | |
34 | AliTOFAlignment& operator=(const AliTOFAlignment &source); // Assignment Operator | |
35 | virtual ~AliTOFAlignment(); | |
a6e0ebfe | 36 | virtual void WriteParOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun); |
37 | virtual void ReadParFromCDB(const Char_t *sel, Int_t nrun); | |
38 | virtual void WriteSimParOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun); | |
39 | virtual void ReadSimParFromCDB(const Char_t *sel, Int_t nrun); | |
216f457b | 40 | virtual void Smear(Float_t * const tr=0, Float_t * const rot=0); // create a set of AlignObj for TOF |
41 | virtual void Align(Float_t * const tr=0, Float_t * const rot=0); // create a set of AlignObj for TOF | |
52883e9e | 42 | TObjArray * GetTOFAlignArray() const {return fTOFAlignObjArray;} |
43 | ||
44 | //methods for survey | |
28dd10b6 | 45 | virtual void WriteOnCDBforDC(); |
46 | virtual void ReadFromCDBforDC(); | |
52883e9e | 47 | virtual void BuildGeomForSurvey(); //Build ideal geometry (FTOA in BTOF) |
216f457b | 48 | virtual void InsertMisAlignment(Float_t * const mis); //To test align. from Survey |
52883e9e | 49 | virtual void MakeDefData(const Int_t nf,TString namefiles[]); //Combines survey data from different files |
50 | virtual void WriteCombData(const Char_t *nomefile, Int_t option); //Write combined data on a file | |
51 | virtual void ReadSurveyDataAndAlign(); //Read survey data and call the right Alignement procedure | |
52 | virtual void WriteSimSurveyData(const Char_t *nomefile); // Write sim data in standard format | |
b33ed6c7 | 53 | |
54 | private: | |
52883e9e | 55 | |
56 | static const Double_t fgkRorigTOF; //Radius of the TOF ext. volume, cm | |
57 | static const Double_t fgkX1BTOF; //x1 size of BTOF | |
58 | static const Double_t fgkX2BTOF; //x2 size of BTOF | |
59 | static const Double_t fgkYBTOF; //y size of BTOF | |
60 | static const Double_t fgkZBTOF; //z size of BTOF | |
61 | ||
7bce547d | 62 | // Four fiducial marks on SM, expressed in local coordinates (origin=center of TOF SM) |
52883e9e | 63 | // They are positioned at x=+/- 38 cm, y=+/- 457.3 cm, z=11.2 cm |
64 | ||
65 | static const Double_t fgkXFM; //x pos of FM in BTOF, cm | |
66 | static const Double_t fgkYFM; //y pos of FM in BTOF, cm | |
67 | static const Double_t fgkZFM; //z pos of FM in BTOF, cm | |
68 | ||
69 | Int_t fNTOFAlignObj; //Number of Alignable Objects | |
70 | TGeoManager *fTOFmgr; //Pointer to TGeoManager | |
71 | TObjArray *fTOFAlignObjArray; //Pointer to the TOF alignable objects | |
72 | TGeoHMatrix* fTOFMatrixId[18]; //Ideal Matrices of TOF Volumes in the GRS | |
73 | Float_t fCombFMData[72][6]; //Combined survey data | |
74 | Int_t fNFMforSM[18][5]; //Number of FM for each SM | |
75 | ||
76 | void AlignFromSurveyABC(Int_t iSM); //From Survey data of FM ABC, derive the needed transformations to get the Alignment Objects. | |
77 | void AlignFromSurveyABD(Int_t iSM); //From Survey data of FM ABD, derive the needed transformations to get the Alignment Objects. | |
78 | void AlignFromSurveyACD(Int_t iSM); //From Survey data of FM ACD, derive the needed transformations to get the Alignment Objects. | |
79 | void AlignFromSurveyBCD(Int_t iSM); //From Survey data of FM BCD, derive the needed transformations to get the Alignment Objects. | |
5398b994 | 80 | |
5398b994 | 81 | ClassDef(AliTOFAlignment,2) // TOF Alignment |
b33ed6c7 | 82 | }; |
83 | ||
84 | #endif |