X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSAlignMille2Module.h;h=39adb77c443c93955b047df9883cd439a420d913;hb=e80c6769fc740ce4849c951ee108323b750bfa30;hp=7758fe8d08b6abb6b04a963756145f533a515697;hpb=7b85e477508179cc269d3c3a43d83cdd5e99cc5a;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSAlignMille2Module.h b/ITS/AliITSAlignMille2Module.h index 7758fe8d08b..39adb77c443 100644 --- a/ITS/AliITSAlignMille2Module.h +++ b/ITS/AliITSAlignMille2Module.h @@ -18,6 +18,7 @@ #include #include #include +#include class AliITSAlignMille2; class AliAlignObjParams; @@ -26,6 +27,10 @@ class TGeoHMatrix; class AliITSAlignMille2Module : public TNamed { public: + enum {kSPD,kSDD,kSSD}; + enum {kMaxParGeom=6,kMaxParTot=8,kSensDefBit=0,kGlobalGeomBit=1}; + enum {kDOFTX,kDOFTY,kDOFTZ,kDOFPS,kDOFTH,kDOFPH,kDOFT0,kDOFDV}; + // AliITSAlignMille2Module(); AliITSAlignMille2Module(UShort_t volid); AliITSAlignMille2Module(Int_t index, UShort_t volid, char* symname, TGeoHMatrix *m, Int_t nsv=0, UShort_t *volidsv=NULL); @@ -48,15 +53,39 @@ public: Float_t GetSigmaYFactor() const {return fSigmaFactor[1];} Float_t GetSigmaZFactor() const {return fSigmaFactor[2];} Int_t GetNProcessedPoints() const {return fNProcPoints;} - Bool_t IsFreeDOF(Int_t dof) const {return TestBit(1<0;} + Bool_t AreSensorsProvided() const {return TestBit(1<<(kSensDefBit+1));} + Bool_t GeomParamsGlobal() const {return TestBit(1<<(kGlobalGeomBit+1));} Bool_t IsIn(UShort_t volid) const; Bool_t IsAlignable() const; Bool_t BelongsTo(AliITSAlignMille2Module* parent) const; AliITSAlignMille2Module* GetParent() const {return fParent;} + AliITSAlignMille2Module* GetChild(Int_t i) const {return (AliITSAlignMille2Module*)fChildren[i];} + Int_t GetNChildren() const {return fChildren.GetLast()+1;} + // void Print(Option_t* opt="") const; // + void EvaluateDOF(); + UShort_t GetNParTot() const {return fNParTot;} + UShort_t GetNParFree() const {return fNParFree;} + Float_t *GetParVals() const {return fParVals;} + Double_t GetParVal(int par) const {return fParVals[par];} + Double_t GetParErr(int par) const {return fParErrs[par];} + Double_t GetParConstraint(int par) const {return fParCstr[par];} + Int_t GetParOffset(Int_t par) const {return fParOffs[par];} + Int_t GetDetType() const {return fDetType;} + Bool_t IsParConstrained(Int_t par) const {return fParCstr[par]>0 && fParCstr[par]0. ? s:0.0;} void SetSigmaFactor(Int_t i,Float_t v) {fSigmaFactor[i]=v;} void SetSigmaXFactor(Float_t v) {fSigmaFactor[0]=v;} void SetSigmaYFactor(Float_t v) {fSigmaFactor[1]=v;} @@ -64,12 +93,18 @@ public: void IncNProcessedPoints(Int_t step=1) {fNProcPoints += step;} void SetNProcessedPoints(Int_t v) {fNProcPoints = v;} void SetParent(AliITSAlignMille2Module* par) {fParent = par;} - void SetFreeDOF(Int_t dof,Bool_t free=kTRUE) {SetBit(1<