]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliVertex.cxx
Trigger input names added to ESD (Plamen)
[u/mrichter/AliRoot.git] / STEER / AliVertex.cxx
index 29946017398ab41f8f93742c9004ee8c9822bcf6..e107055ccecde650c490757304583be7ecdddd54 100644 (file)
@@ -28,39 +28,39 @@ ClassImp(AliVertex)
 
 //--------------------------------------------------------------------------
 AliVertex::AliVertex() :
-  TNamed(),
+  AliVVertex(),
   fSigma(0),
   fNContributors(0),
-  fNIndices(0)
+  fNIndices(0),
+  fIndices(0)
 {
 //
 // Default Constructor, set everything to 0
 //
   for(Int_t k=0;k<3;k++) fPosition[k]   = 0;
-  fIndices = 0;
 }
 
 //--------------------------------------------------------------------------
 AliVertex::AliVertex(Double_t position[3],Double_t dispersion,
                     Int_t nContributors):
-  TNamed(),
+  AliVVertex(),
   fSigma(dispersion),
   fNContributors(nContributors),
-  fNIndices(0)
+  fNIndices(0),
+  fIndices(0)
 {
   //
   // Standard Constructor
   //
 
   for(Int_t k=0;k<3;k++) fPosition[k]   = position[k];
-  fIndices = 0;
   SetName("BaseVertex");
 
 }
 
 //--------------------------------------------------------------------------
 AliVertex::AliVertex(const AliVertex &source):
-  TNamed(source),
+  AliVVertex(source),
   fSigma(source.GetDispersion()),
   fNContributors(source.GetNContributors()),
   fNIndices(source.GetNIndices()),
@@ -81,17 +81,18 @@ AliVertex &AliVertex::operator=(const AliVertex &source){
   //
   // assignment operator
   //
-  if(&source == this) return *this;
-  this->SetName(source.GetName());
-  this->SetTitle(source.GetTitle());
-  for(Int_t i=0;i<3;i++)fPosition[i] = source.fPosition[i];
-  fSigma = source.GetDispersion();
-  fNContributors = source.GetNContributors();
-  fNIndices = source.GetNIndices();
-  fIndices = 0x0;
-  if(source.fNIndices>0) {
-    fIndices = new UShort_t[fNIndices];
-    memcpy(fIndices,source.fIndices,fNIndices*sizeof(UShort_t));
+  if(&source != this){
+    AliVVertex::operator=(source);
+    for(Int_t i=0;i<3;i++)fPosition[i] = source.fPosition[i];
+    fSigma = source.GetDispersion();
+    fNContributors = source.GetNContributors();
+    fNIndices = source.GetNIndices();
+    if(fIndices)delete [] fIndices;
+    fIndices = 0;
+    if(fNIndices>0) {
+      fIndices = new UShort_t[fNIndices];
+      memcpy(fIndices,source.fIndices,fNIndices*sizeof(UShort_t));
+    }
   }
   return *this;
 }
@@ -103,7 +104,17 @@ AliVertex::~AliVertex() {
 // Default Destructor
 //
   delete [] fIndices;
+  fIndices = 0;
 }
+
+void AliVertex::Clear(Option_t* option) 
+{
+    // Delete allocated memory
+    delete [] fIndices;
+    fIndices = 0;
+    AliVVertex::Clear(option);
+}
+
 //--------------------------------------------------------------------------
 void AliVertex::GetXYZ(Double_t position[3]) const {
 //
@@ -116,6 +127,15 @@ void AliVertex::GetXYZ(Double_t position[3]) const {
   return;
 }
 //--------------------------------------------------------------------------
+void AliVertex::GetCovarianceMatrix(Double_t covmatrix[6]) const {
+//
+// Fake method (is implmented in AliESDVertex)
+//
+  for(Int_t i=0;i<6;i++) covmatrix[i] = -999.;
+
+  return;
+}
+//--------------------------------------------------------------------------
 void AliVertex::SetIndices(Int_t nindices,UShort_t *indices) {
 //
 // Set indices of tracks used for vertex determination 
@@ -132,7 +152,7 @@ Bool_t AliVertex::UsesTrack(Int_t index) const {
 //
 // checks if a track is used for the vertex 
 //
-  if(fNIndices<1)  { printf("fNIndices<1"); return kFALSE; }
+  if(fNIndices<1)  {/* printf("fNIndices<1"); */return kFALSE; }
   for(Int_t i=0;i<fNIndices;i++) {
     if((Int_t)fIndices[i]==index) return kTRUE;
   }