]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONAlignment.h
Decrease verbosity
[u/mrichter/AliRoot.git] / MUON / AliMUONAlignment.h
index f246b7e1d23579f42bd6ceb27a075f24de73ff5f..0c36cd7e031b4e5ee4a22ccd05e0ade3549a09bc 100644 (file)
@@ -19,7 +19,7 @@ class AliMillepede;
 class AliMUONGeometryTransformer;
 class AliMUONTrack;
 class AliMUONTrackParam;
-class AliMUONHitForRec;
+class AliMUONVCluster;
 
 class AliMUONAlignment:public TObject
 {
@@ -34,12 +34,27 @@ public:
     fTransform = transformer;
   }
 
+  /// Set flag for Magnetic field On/Off
+  void SetBFieldOn(Bool_t bBFieldOn) {
+    fBFieldOn =  bBFieldOn;
+  }
+  /// Define chambers to align
+  void SetChOnOff(Bool_t *bChOnOff) {
+    for(int iCh=0; iCh<10; iCh++)
+      fChOnOff[iCh] =  bChOnOff[iCh];
+  }
+  /// Possibility to align only one side of the detector
+  void SetSpecLROnOff(Bool_t *bSpecLROnOff) {
+    fSpecLROnOff[0] =  bSpecLROnOff[0];    
+    fSpecLROnOff[1] =  bSpecLROnOff[1];    
+  }
   void FixStation(Int_t iSt);
-  void FixHalfSpectrometer(Bool_t *bStOnOff, Bool_t *bSpecLROnOff);
-  void AllowVariations(Bool_t *bStOnOff);
-  void SetNonLinear(Bool_t *bStOnOff, Bool_t *bVarXYT);
-  void AddConstraints(Bool_t *bStOnOff, Bool_t *bVarXYT);
-  void AddConstraints(Bool_t *bStOnOff, Bool_t *bVarXYT, Bool_t *bDetTLBR, Bool_t *bSpecLROnOff);
+  void FixChamber(Int_t iCh);
+  void FixHalfSpectrometer(Bool_t *bChOnOff, Bool_t *bSpecLROnOff);
+  void AllowVariations(Bool_t *bChOnOff);
+  void SetNonLinear(Bool_t *bChOnOff, Bool_t *bVarXYT);
+  void AddConstraints(Bool_t *bChOnOff, Bool_t *bVarXYT);
+  void AddConstraints(Bool_t *bChOnOff, Bool_t *bVarXYT, Bool_t *bDetTLBR, Bool_t *bSpecLROnOff);
   void ResetConstraints();
 
   void FixParameter(Int_t param, Double_t value);
@@ -62,6 +77,8 @@ public:
   AliMUONGeometryTransformer* 
     ReAlign(const AliMUONGeometryTransformer * transformer, double *misAlignments, Bool_t verbose);
 
+  void SetAlignmentResolution(const TClonesArray* misAlignArray, Int_t chId, Double_t chResX, Double_t chResY, Double_t deResX, Double_t deResY);
+
  private:
   /// Not implemented
   AliMUONAlignment(const AliMUONAlignment& right);
@@ -83,7 +100,8 @@ public:
   TGeoCombiTrans ReAlign(const TGeoCombiTrans& transform, double *detElemMisAlignment) const;
 
   Bool_t fBFieldOn;        ///< Flag for Magnetic filed On/Off
-                                                                      
+  Bool_t fChOnOff[10];     ///< Flags for chamber On/Off
+  Bool_t fSpecLROnOff[2];  ///< Flags for left right On/Off                                                                   
   Bool_t fDoF[3];          ///< Flags degrees of freedom to align (x,y,phi)
   Double_t fAllowVar[3];   ///< "Encouraged" variation for degrees of freedom 
   Double_t fStartFac;      ///< Initial value for chi2 cut 
@@ -93,11 +111,10 @@ public:
 
   AliMillepede *fMillepede; ///< Detector independent alignment class
   
-  TClonesArray *fTrackParamAtHit; ///< Array of track parameters 
-  TClonesArray *fHitForRecAtHit;  ///< Array of track hits 
-  AliMUONTrack *fTrack;           ///< AliMUONTrack 
-  AliMUONHitForRec *fRecHit;      ///< AliMUONHitForRec
-  AliMUONTrackParam *fTrackParam; ///< Track parameters 
+  TClonesArray *fTrackParamAtCluster; ///< Array of track parameters 
+  AliMUONTrack *fTrack;               ///< AliMUONTrack 
+  AliMUONVCluster *fCluster;          ///< AliMUONVCluster
+  AliMUONTrackParam *fTrackParam;     ///< Track parameters 
 
   Int_t fNGlobal;  ///< Number of global parameters
   Int_t fNLocal;   ///< Number of local parameters
@@ -179,6 +196,7 @@ public:
   static Int_t fgNDetElemCh[10]; ///< Number of detection elements per chamber
   static Int_t fgSNDetElemCh[10];///< Sum of detection elements up to this chamber (inc)
 
-ClassDef(AliMUONAlignment, 0)};
+ClassDef(AliMUONAlignment, 0) //Class for alignment of muon spectrometer
+};
 
 #endif