Bug fix - Jira ticket ALIROOT-5665
[u/mrichter/AliRoot.git] / ITS / AliITSAlignMille2ConstrArray.h
CommitLineData
6526a72c 1#ifndef ALIITSALIGNMILLE2CONSTRARRAY_H
2#define ALIITSALIGNMILLE2CONSTRARRAY_H
3
4/*-------------------------------------------------------------------------------------
5Set of gaussian constraints on LOCAL corrections of the module parameters defined
6for a set of modules.
7
8Author: ruben.shahoyan@cern.ch
9--------------------------------------------------------------------------------------*/
10#include "AliITSAlignMille2Constraint.h"
11class AliITSAlignMille2Modle;
12
13class 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