]>
Commit | Line | Data |
---|---|---|
6526a72c | 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 | // | |
ef24eb3b | 29 | void AddModule(AliITSAlignMille2Module* mod,Bool_t needGeom = kTRUE); |
6526a72c | 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; | |
45993b23 | 34 | virtual Bool_t IncludesModPar(const AliITSAlignMille2Module* mod, Int_t par) const; |
6526a72c | 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 |