+//____________________________________________________________
+inline void AliTRDseedV1::SetCovRef(const Double_t *cov)
+{
+// Copy some "important" covariance matrix elements
+// var(y)
+// cov(y,z) var(z)
+// var(snp)
+// var(tgl)
+// cov(tgl, 1/pt) var(1/pt)
+
+ memcpy(&fRefCov[0], cov, 3*sizeof(Double_t)); // yz full covariance
+ fRefCov[3] = cov[ 5]; // snp variance
+ fRefCov[4] = cov[ 9]; // tgl variance
+ fRefCov[5] = cov[13]; // cov(tgl, 1/pt)
+ fRefCov[6] = cov[14]; // 1/pt variance
+}
+
+
+//____________________________________________________________
+inline void AliTRDseedV1::SetN(Int_t n)
+{
+ if(n<0 || n>kNclusters) return;
+ fN &= ~kMask;
+ fN |= (n&kMask);
+}
+
+//____________________________________________________________
+inline void AliTRDseedV1::SetNUsed(Int_t n)
+{
+ if(n<0 || n>kNclusters) return;
+ UInt_t mask(kMask<<kNbits);
+ fN &= ~mask;
+ n=n<<kNbits; fN |= (n&mask);
+}
+
+//____________________________________________________________
+inline void AliTRDseedV1::SetNShared(Int_t n)
+{
+ if(n<0 || n>kNclusters) return;
+ UInt_t mask((kMask<<kNbits)<<kNbits);
+ fN &= ~mask;
+ n = (n<<kNbits)<<kNbits; fN|=(n&mask);
+}
+
+//____________________________________________________________
+inline void AliTRDseedV1::Swap(Int_t &n1, Int_t &n2) const
+{
+// swap values of n1 with n2
+ Int_t tmp(n1);
+ n1=n2; n2=tmp;
+}
+
+//____________________________________________________________
+inline void AliTRDseedV1::Swap(Double_t &d1, Double_t &d2) const
+{
+// swap values of d1 with d2
+ Double_t tmp(d1);
+ d1=d2; d2=tmp;
+}
+
+