1 #ifndef ALITOFALIGNMENT_H
2 #define ALITOFALIGNMENT_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //////////////////////////////////////////////////////////////////
8 // class for TOF Alignment:: //
9 //////////////////////////////////////////////////////////////////
12 #include "TGeoManager.h"
13 #include "TGeoVolume.h"
15 #include "TGeoPhysicalNode.h"
20 class AliTOFAlignment :public TTask{
22 enum {kMaxAlignObj=2000}; //maximal number of the TOF Alignable Objects
27 AliTOFAlignment(const AliTOFAlignment &t); //Copy Ctor
28 AliTOFAlignment& operator=(const AliTOFAlignment &source); // Assignment Operator
29 virtual ~AliTOFAlignment();
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
36 virtual void WriteOnCDBforDC();
37 virtual void ReadFromCDBforDC();
38 virtual void BuildGeomForSurvey(); //Generate needed ideal volumes for Survey
39 virtual void AlignFromSurvey(); //Prototype to get Align Obj from Survey
40 virtual void TestAlignFromSurvey( Float_t *mis); //To test align. from Survey
41 TObjArray * GetTOFAlignArray() const {return fTOFAlignObjArray;}
46 // This is the big box containing the TOF master sensitive volume+services
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
52 // Four fiducial marks on SM, expressed in local coordinates
53 // They are positioned at x=+/- 38 cm, y=11.2, z=+/- 456.94 cm
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
59 // This is the z size of the TOF master sensitive volume (it is shorter)
60 static const Double_t fgkZsizeTOFSens; //cm
62 Int_t fNTOFAlignObj; // Number of Alignable Objects
64 TObjArray *fTOFAlignObjArray; // Pointer to the TOF alignable objects
65 TGeoHMatrix* fTOFMatrixId[18];
66 Float_t fTOFSurveyFM[18][4][3]; // Vector Containing Survey Marks Position GF
67 ClassDef(AliTOFAlignment,2) // TOF Alignment