+AliStrLine& AliStrLine::operator=(const AliStrLine& source){
+ // Assignment operator
+ if(this !=&source){
+ this->~AliStrLine();
+ new(this)AliStrLine(source);
+ }
+ return *this;
+}
+
+//________________________________________________________
+void AliStrLine::GetWMatrix(Double_t *wmat)const {
+// Getter for weighting matrix, as a [9] dim. array
+ if(!fWMatrix)return;
+ Int_t k = 0;
+ for(Int_t i=0;i<3;i++){
+ for(Int_t j=0;j<3;j++){
+ if(j>=i){
+ wmat[3*i+j]=fWMatrix[k++];
+ }
+ else{
+ wmat[3*i+j]=wmat[3*j+i];
+ }
+ }
+ }
+}
+
+//________________________________________________________
+void AliStrLine::SetWMatrix(const Double_t *wmat) {
+// Setter for weighting matrix, strating from a [9] dim. array
+ if(fWMatrix)delete [] fWMatrix;
+ fWMatrix = new Double_t [6];
+ Int_t k = 0;
+ for(Int_t i=0;i<3;i++){
+ for(Int_t j=0;j<3;j++)if(j>=i)fWMatrix[k++]=wmat[3*i+j];
+ }
+}
+
+//________________________________________________________
+void AliStrLine::InitDirection(const Double_t *const point, const Double_t *const cd)
+{