1 #ifndef ALIMUONSURVEYUTIL_H
2 #define ALIMUONSURVEYUTIL_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 /// \class AliMUONSurveyUtil
8 /// \brief Utility class for survey of muon spectrometer
10 // Authors: Javier Castillo
12 class AliMUONGeometryTransformer;
16 class AliMUONSurveyUtil:public TObject
21 virtual ~AliMUONSurveyUtil();
23 static AliMUONSurveyUtil *Instance();
25 static Bool_t MatrixToAngles(const Double_t *rot, Double_t *angles);
26 static void AnglesToMatrix(const Double_t *angles, Double_t *rot);
28 Double_t xpCenter(Double_t *x, Double_t *par);
29 Double_t xnCenter(Double_t *x, Double_t *par);
30 Double_t ypCenter(Double_t *x, Double_t *par);
31 Double_t ynCenter(Double_t *x, Double_t *par);
32 Double_t zpCenter(Double_t *x, Double_t *par);
33 Double_t znCenter(Double_t *x, Double_t *par);
34 Double_t phixpp(Double_t *x, Double_t *par);
35 Double_t phixpn(Double_t *x, Double_t *par);
36 Double_t phixnp(Double_t *x, Double_t *par);
37 Double_t phixnn(Double_t *x, Double_t *par);
38 Double_t phiypp(Double_t *x, Double_t *par);
39 Double_t phiypn(Double_t *x, Double_t *par);
40 Double_t phiynp(Double_t *x, Double_t *par);
41 Double_t phiynn(Double_t *x, Double_t *par);
43 static AliMUONGeometryTransformer *ReAlign(const AliMUONGeometryTransformer * transformer,
44 int rMod, int rNDetElems, int rDetElemToDetElemId[], TGeoCombiTrans deltaDetElemTransf[], Bool_t verbose);
46 static void SetAlignmentResolution(const TClonesArray* misAlignArray, Int_t chId, Double_t chResX, Double_t chResY, Double_t deResX, Double_t deResY);
49 /// Default constructor
50 AliMUONSurveyUtil() : TObject() {}
53 static int fgNDetElemCh[10];
54 static AliMUONSurveyUtil *fgInstance;
56 ClassDef(AliMUONSurveyUtil, 0) //Class for alignment of muon spectrometer