]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/ESD/AliESDMuonGlobalTrack.cxx
make it compile
[u/mrichter/AliRoot.git] / STEER / ESD / AliESDMuonGlobalTrack.cxx
index 93acbc6cd8d6038f5bc6a0b05882d162a030ece2..a0d77c396a1199ac137d1980f1a61e1ebec1f188 100644 (file)
@@ -53,6 +53,7 @@ AliESDMuonGlobalTrack::AliESDMuonGlobalTrack():
   fXAtVertex(0),
   fYAtVertex(0),
   fRAtAbsorberEnd(0),
+  fCovariances(0),
   fChi2OverNdf(0),
   fChi2MatchTrigger(0),
   fLabel(-1),
@@ -66,6 +67,10 @@ AliESDMuonGlobalTrack::AliESDMuonGlobalTrack():
 
   //  Default constructor
 
+  fProdVertexXYZ[0]=0;
+  fProdVertexXYZ[1]=0;
+  fProdVertexXYZ[2]=0;
+
 }
 
 //====================================================================================================================================================
@@ -90,6 +95,7 @@ AliESDMuonGlobalTrack::AliESDMuonGlobalTrack(Double_t px, Double_t py, Double_t
   fXAtVertex(0),
   fYAtVertex(0),
   fRAtAbsorberEnd(0),
+  fCovariances(0),
   fChi2OverNdf(0),
   fChi2MatchTrigger(0),
   fLabel(-1),
@@ -105,6 +111,10 @@ AliESDMuonGlobalTrack::AliESDMuonGlobalTrack(Double_t px, Double_t py, Double_t
 
   SetPxPyPz(px, py, pz);
 
+  fProdVertexXYZ[0]=0;
+  fProdVertexXYZ[1]=0;
+  fProdVertexXYZ[2]=0;
+
 }
 
 //====================================================================================================================================================
@@ -129,6 +139,7 @@ AliESDMuonGlobalTrack::AliESDMuonGlobalTrack(const AliESDMuonGlobalTrack& muonTr
   fXAtVertex(muonTrack.fXAtVertex),
   fYAtVertex(muonTrack.fYAtVertex),
   fRAtAbsorberEnd(muonTrack.fRAtAbsorberEnd),
+  fCovariances(0),
   fChi2OverNdf(muonTrack.fChi2OverNdf),
   fChi2MatchTrigger(muonTrack.fChi2MatchTrigger),
   fLabel(muonTrack.fLabel),
@@ -142,6 +153,12 @@ AliESDMuonGlobalTrack::AliESDMuonGlobalTrack(const AliESDMuonGlobalTrack& muonTr
 
   // Copy constructor
   
+  fProdVertexXYZ[0]=muonTrack.fProdVertexXYZ[0];
+  fProdVertexXYZ[1]=muonTrack.fProdVertexXYZ[1];
+  fProdVertexXYZ[2]=muonTrack.fProdVertexXYZ[2];
+
+  if (muonTrack.fCovariances) fCovariances = new TMatrixD(*(muonTrack.fCovariances));
+
 }
 
 //====================================================================================================================================================
@@ -183,6 +200,19 @@ AliESDMuonGlobalTrack& AliESDMuonGlobalTrack::operator=(const AliESDMuonGlobalTr
   fIsConnected            = muonTrack.fIsConnected;
   fESDEvent               = muonTrack.fESDEvent;
 
+  fProdVertexXYZ[0]=muonTrack.fProdVertexXYZ[0];
+  fProdVertexXYZ[1]=muonTrack.fProdVertexXYZ[1];
+  fProdVertexXYZ[2]=muonTrack.fProdVertexXYZ[2];
+
+  if (muonTrack.fCovariances) {
+    if (fCovariances) *fCovariances = *(muonTrack.fCovariances);
+    else fCovariances = new TMatrixD(*(muonTrack.fCovariances));
+  } 
+  else {
+    delete fCovariances;
+    fCovariances = 0x0;
+  }
+  
   return *this;
 
 }
@@ -222,3 +252,28 @@ void AliESDMuonGlobalTrack::SetPxPyPz(Double_t px, Double_t py, Double_t pz) {
 }
 
 //====================================================================================================================================================
+
+const TMatrixD& AliESDMuonGlobalTrack::GetCovariances() const {
+
+  // Return the covariance matrix (create it before if needed)
+
+  if (!fCovariances) {
+    fCovariances = new TMatrixD(5,5);
+    fCovariances->Zero();
+  }
+  return *fCovariances;
+
+}
+
+//====================================================================================================================================================
+
+void AliESDMuonGlobalTrack::SetCovariances(const TMatrixD& covariances) {
+
+  // Set the covariance matrix
+
+  if (fCovariances) *fCovariances = covariances;
+  else fCovariances = new TMatrixD(covariances);
+
+}
+
+//====================================================================================================================================================