]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONSurveyUtil.h
New class for AOD<->MC association
[u/mrichter/AliRoot.git] / MUON / AliMUONSurveyUtil.h
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                               */
5
6 /// \ingroup geometry 
7 /// \class AliMUONSurveyUtil
8 /// \brief Utility class for survey of muon spectrometer
9 //
10 // Authors: Javier Castillo
11
12 class AliMUONGeometryTransformer;
13 class TGeoCombiTrans;
14 class TClonesArray;
15
16 class AliMUONSurveyUtil:public TObject
17 {
18
19  public:
20   /// Destructor
21   virtual ~AliMUONSurveyUtil();
22
23   static AliMUONSurveyUtil *Instance();
24
25   static Bool_t MatrixToAngles(const Double_t *rot, Double_t *angles);
26   static void AnglesToMatrix(const Double_t *angles, Double_t *rot);
27
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);
42   
43   static AliMUONGeometryTransformer *ReAlign(const AliMUONGeometryTransformer * transformer, 
44                                              int rMod, int rNDetElems, int rDetElemToDetElemId[], TGeoCombiTrans deltaDetElemTransf[], Bool_t verbose);
45
46   static  void SetAlignmentResolution(const TClonesArray* misAlignArray, Int_t chId, Double_t chResX, Double_t chResY, Double_t deResX, Double_t deResY);
47   
48  protected:   
49   /// Default constructor
50   AliMUONSurveyUtil() : TObject() {}
51
52  private:
53   static int fgNDetElemCh[10];
54   static AliMUONSurveyUtil *fgInstance;
55
56 ClassDef(AliMUONSurveyUtil, 0) //Class for alignment of muon spectrometer
57 };
58
59 #endif