commented define _ClusterTopology_ - to be used only for the special productions
[u/mrichter/AliRoot.git] / ITS / AliITSAlignMille2ConstrArray.h
1 #ifndef ALIITSALIGNMILLE2CONSTRARRAY_H
2 #define ALIITSALIGNMILLE2CONSTRARRAY_H
3
4 /*-------------------------------------------------------------------------------------
5 Set of gaussian constraints on LOCAL corrections of the module parameters defined 
6 for a set of modules. 
7
8 Author: ruben.shahoyan@cern.ch
9 --------------------------------------------------------------------------------------*/
10 #include "AliITSAlignMille2Constraint.h"
11 class AliITSAlignMille2Modle;
12
13 class AliITSAlignMille2ConstrArray : public AliITSAlignMille2Constraint
14 {
15  public:
16   enum {kTypeGaussian=10};
17   //
18   AliITSAlignMille2ConstrArray();
19   AliITSAlignMille2ConstrArray(const Char_t* name,Double_t *parcf,Int_t npar,Double_t val,Double_t err);
20   virtual ~AliITSAlignMille2ConstrArray() {}
21   //
22   Double_t     GetError()               const {return fError;}
23   Int_t        GetNModules()            const {return fModuleIDs.GetSize();}
24   Int_t        GetNCoeffs()             const {return fCoeffs.GetSize();}
25   Int_t        GetModuleID(Int_t i)     const {return fModuleIDs[i];}
26   Double_t     GetCoeff(Int_t i)        const {return fCoeffs[i];}
27   void         Print(Option_t* opt="")  const;
28   //
29   void         AddModule(AliITSAlignMille2Module* mod,Bool_t needGeom = kTRUE);
30   void         SetError(Double_t err)         {fError = err;}
31   //
32   virtual Bool_t IncludesModule(Int_t id)            const;
33   virtual Bool_t IncludesModPar(Int_t id,Int_t par)  const;
34   virtual Bool_t IncludesModPar(const AliITSAlignMille2Module* mod, Int_t par) const;
35   //
36  protected:
37   AliITSAlignMille2ConstrArray(const AliITSAlignMille2ConstrArray& src);
38   AliITSAlignMille2ConstrArray& operator=(const AliITSAlignMille2ConstrArray& ) {return *this;}
39   //
40  protected:
41   TArrayS           fModuleIDs;         // module id' to apply this constraint
42   TArrayS           fModulePatt;        // pattern of variables involved (in the frame of varied params)
43   TArrayD           fCoeffs;            // weight for each param          
44   Double_t          fError;             // constraint error
45   
46   //
47   ClassDef(AliITSAlignMille2ConstrArray,0)
48 };
49
50
51 #endif