Line data Source code
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 0 : virtual ~AliITSAlignMille2ConstrArray() {}
21 : //
22 0 : Double_t GetError() const {return fError;}
23 0 : Int_t GetNModules() const {return fModuleIDs.GetSize();}
24 0 : Int_t GetNCoeffs() const {return fCoeffs.GetSize();}
25 0 : Int_t GetModuleID(Int_t i) const {return fModuleIDs[i];}
26 0 : 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 0 : 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 116 : ClassDef(AliITSAlignMille2ConstrArray,0)
48 : };
49 :
50 :
51 : #endif
|