]>
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 | ////////////////////////////////////////////////////////////////// | |
10 | ||
11 | #include "TTask.h" | |
5398b994 | 12 | #include "TGeoManager.h" |
13 | #include "TGeoVolume.h" | |
14 | #include "TGeoBBox.h" | |
15 | #include "TGeoPhysicalNode.h" | |
16 | #include "TGeoNode.h" | |
0e46b9ae | 17 | |
18 | class TObjArray; | |
b33ed6c7 | 19 | |
20 | class AliTOFAlignment :public TTask{ | |
21 | ||
e78d8265 | 22 | enum {kMaxAlignObj=2000}; //maximal number of the TOF Alignable Objects |
b33ed6c7 | 23 | |
e78d8265 | 24 | public: |
b33ed6c7 | 25 | |
e78d8265 | 26 | AliTOFAlignment(); |
27 | AliTOFAlignment(const AliTOFAlignment &t); //Copy Ctor | |
28 | AliTOFAlignment& operator=(const AliTOFAlignment &source); // Assignment Operator | |
29 | virtual ~AliTOFAlignment(); | |
b33ed6c7 | 30 | virtual void WriteParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun); |
31 | virtual void ReadParFromCDB(Char_t *sel, Int_t nrun); | |
32 | virtual void WriteSimParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun); | |
33 | virtual void ReadSimParFromCDB(Char_t *sel, Int_t nrun); | |
34 | virtual void Smear(Float_t *tr=0, Float_t *rot=0); // create a set of AlignObj for TOF | |
35 | virtual void Align(Float_t *tr=0, Float_t *rot=0); // create a set of AlignObj for TOF | |
28dd10b6 | 36 | virtual void WriteOnCDBforDC(); |
37 | virtual void ReadFromCDBforDC(); | |
7bce547d | 38 | virtual void BuildGeomForSurvey(); //Generate ideal volumes for Survey |
5398b994 | 39 | virtual void AlignFromSurvey(); //Prototype to get Align Obj from Survey |
7bce547d | 40 | virtual void InsertMisAlignment( Float_t *mis); //To test align. from Survey |
28dd10b6 | 41 | TObjArray * GetTOFAlignArray() const {return fTOFAlignObjArray;} |
b33ed6c7 | 42 | |
43 | private: | |
44 | ||
5398b994 | 45 | |
7bce547d | 46 | // This is the extended box (the TOF master sensitive volume+services) |
5398b994 | 47 | static const Double_t fgkXsizeTOF; // x size of the TOF ext. volume, cm |
48 | static const Double_t fgkYsizeTOF; // y size of the TOF ext. volume, cm | |
49 | static const Double_t fgkZsizeTOF; // x size of the TOF ext. volume, cm | |
50 | static const Double_t fgkRorigTOF; // Radius of the TOF ext. volume, cm | |
51 | ||
7bce547d | 52 | // Four fiducial marks on SM, expressed in local coordinates (origin=center of TOF SM) |
5398b994 | 53 | // They are positioned at x=+/- 38 cm, y=11.2, z=+/- 456.94 cm |
54 | ||
55 | static const Double_t fgkXFM; //x FM pos, cm | |
56 | static const Double_t fgkYFM; //y FM pos, cm | |
57 | static const Double_t fgkZFM; //z FM pos, cm | |
58 | ||
59 | // This is the z size of the TOF master sensitive volume (it is shorter) | |
60 | static const Double_t fgkZsizeTOFSens; //cm | |
61 | ||
62 | Int_t fNTOFAlignObj; // Number of Alignable Objects | |
7bce547d | 63 | TGeoManager *fTOFmgr; //pointer to TGeoManager |
7aeeaf38 | 64 | TObjArray *fTOFAlignObjArray; // Pointer to the TOF alignable objects |
7bce547d | 65 | TGeoHMatrix* fTOFMatrixId[18]; // Ideal Matrices of TOF Volumes in the GRS |
66 | Float_t fTOFSurveyFM[18][4][3]; // Temporary container for Survey data xyz (4/TOF SuperModule) | |
5398b994 | 67 | ClassDef(AliTOFAlignment,2) // TOF Alignment |
b33ed6c7 | 68 | }; |
69 | ||
70 | #endif |