]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliAODVertex.h
Fix in the printout of the validity time-stamps
[u/mrichter/AliRoot.git] / STEER / AliAODVertex.h
index 04317be52fd287e0750d6c3d297641a7331d1b18..cfb4ceb8ecdf38be73bbcd11fe99c1c07a68cf31 100644 (file)
@@ -101,12 +101,12 @@ class AliAODVertex : public AliVVertex {
 
   void     AddDaughter(TObject *daughter);
   void     RemoveDaughter(TObject *daughter) { fDaughters.Remove(daughter); }
-  void     RemoveDaughters() { fDaughters.Clear(); }
+  void     RemoveDaughters() { fDaughters.Clear(); if(fProngs) {delete [] fProngs; fProngs=0; MakeProngs(); fIprong=0;} }
   TObject* GetDaughter(Int_t i); 
   Bool_t   HasDaughter(TObject *daughter) const;
   Int_t    GetNDaughters() const;
   Int_t    GetNContributors() const;
-
+  void     SetNContributors(Int_t nc) {fNContributors = nc;}
   // covariance matrix elements after rotation by phi around z-axis 
   // and, then, by theta around new y-axis
   Double_t  RotatedCovMatrixXX(Double_t phi = 0., Double_t theta = 0.) const;
@@ -121,26 +121,27 @@ class AliAODVertex : public AliVVertex {
   Double_t  ErrorDistanceToVertex(AliAODVertex *vtx) const;
   Double_t  DistanceXYToVertex(AliAODVertex *vtx) const;
   Double_t  ErrorDistanceXYToVertex(AliAODVertex *vtx) const;
-
+  
   void     PrintIndices() const;
   void     Print(Option_t* option = "") const;
   private:
-  void     MakeProngs() {if (fNprong > 0) fProngs = new TRef[fNprong];}
+  void     MakeProngs() {if (fNprong > 0) {fProngs = new TRef[fNprong]; fIprong=0;}}
          
  private:
 
-  Double32_t      fPosition[3]; // vertex position
-  Double32_t      fChi2perNDF;  // chi2/NDF of vertex fit
-  Short_t         fID;          // vertex ID; corresponds to the array index of the appropriate ESD container
-  Char_t          fType;        // vertex type
-  Int_t           fNprong;      // number of prongs
-  Int_t           fIprong;      //!index  of prong
-  AliAODRedCov<3> *fCovMatrix;  // vertex covariance matrix; values of and below the diagonal
-  TRef            fParent;      // reference to the parent particle
-  TRefArray       fDaughters;   // references to the daughter particles
-  TRef            *fProngs;     //[fNprong] alternative daughters for n-prong vertex
+  Double32_t      fPosition[3];   // vertex position
+  Double32_t      fChi2perNDF;    // chi2/NDF of vertex fit
+  Short_t         fID;            // vertex ID; corresponds to the array index of the appropriate ESD container
+  Char_t          fType;          // vertex type
+  Int_t           fNprong;        // number of prongs
+  Int_t           fIprong;        //!index  of prong
+  Int_t           fNContributors; // Number of contributors for SPD vertex
+  AliAODRedCov<3> *fCovMatrix;    // vertex covariance matrix; values of and below the diagonal
+  TRef            fParent;        // reference to the parent particle
+  TRefArray       fDaughters;     // references to the daughter particles
+  TRef            *fProngs;       //[fNprong] alternative daughters for n-prong vertex
   
-  ClassDef(AliAODVertex, 5);
+  ClassDef(AliAODVertex, 6);
 };
 
 inline  Int_t AliAODVertex::GetNDaughters() const