]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSAlignMille2Constraint.h
commented define _ClusterTopology_ - to be used only for the special productions
[u/mrichter/AliRoot.git] / ITS / AliITSAlignMille2Constraint.h
index 4717aee50b7522a066b49f7b79b59a7445256a6e..3012cfb54a08365874698b054ab5fdbf1ec30726 100644 (file)
@@ -31,26 +31,26 @@ class AliITSAlignMille2Constraint : public TNamed
   Int_t        GetType()                const {return fType;}
   Int_t        GetModuleID()            const {return fModuleID;}
   Double_t     GetValue()               const {return fVal;}
-  UInt_t       GetPattern()             const {return (UInt_t)TestBits(0x0ffff);}
+  UInt_t       GetPattern()             const {return fPattern;}
   UInt_t       GetAppliedPattern()      const {return fApplied;}
   UInt_t       GetRemainingPattern()    const {return (~fApplied)&GetPattern();}
   Bool_t       IsApplied(Int_t par)     const {return fApplied & (0x1<<par);}
   Bool_t       IsApplied()              const {return (fApplied&0xffff)==GetPattern();}
-  Bool_t       IncludesParam(int id)    const {return TestBit( 0x0ffff&(0x1<<id) );}
+  Bool_t       IncludesParam(int id)    const {return fPattern&BIT(id);}
   void         Print(Option_t* opt="")  const;
   //
   void         SetConstraintID(UInt_t id)            {SetUniqueID(id);}
   void         SetType(Int_t t)                      {fType = t;}
-  void         SetPattern(UInt_t pat)                {SetBit(pat);}
+  void         SetPattern(UInt_t pat)                {fPattern = pat;}
   void         SetValue(Double_t val)                {fVal = val;}
   void         SetApplied(Int_t par)                 {fApplied |= par<0 ? 0x0ffff : (0x1<<par);}
-  void         Disable()                             {fApplied |= 0x1<<kDisabledBit;}
-  void         Enable()                              {fApplied &= ~(0x1<<kDisabledBit);}
+  void         Disable()                             {fApplied |= UInt_t(0x1)<<kDisabledBit;}
+  void         Enable()                              {fApplied &= ~(UInt_t(0x1)<<kDisabledBit);}
   Bool_t       IsDisabled()             const        {return (fApplied>>kDisabledBit)&0x1;}
   //
   virtual Bool_t IncludesModule(Int_t id)            const {return fModuleID==id;}
   virtual Bool_t IncludesModPar(Int_t id,Int_t par)  const {return IncludesModule(id) && IncludesParam(par);}
-  virtual Bool_t IncludesModPar(AliITSAlignMille2Module* mod, Int_t par) const;
+  virtual Bool_t IncludesModPar(const AliITSAlignMille2Module* mod, Int_t par) const;
   //
  protected:
   AliITSAlignMille2Constraint(const AliITSAlignMille2Constraint& src);
@@ -61,6 +61,7 @@ class AliITSAlignMille2Constraint : public TNamed
   Double_t          fVal;               // constraint value
   Int_t             fModuleID;          // Id of the module involved, -1 for orphans
   UInt_t            fApplied;           // was it already applied?
+  UInt_t            fPattern;           // pattern of params involved
   //
   ClassDef(AliITSAlignMille2Constraint,0)
 };