LCOV - code coverage report
Current view: top level - STEER/ESD - AliVertex.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 23 34 67.6 %
Date: 2016-06-14 17:26:59 Functions: 17 27 63.0 %

          Line data    Source code
       1             : #ifndef ALIVERTEX_H
       2             : #define ALIVERTEX_H
       3             : /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : 
       7             : //-------------------------------------------------------
       8             : //                    Base Vertex Class
       9             : //   Used for secondary vertices and as a base class for primary vertices
      10             : //   Origin: F. Prino, Torino, prino@to.infn.it
      11             : //-------------------------------------------------------
      12             : 
      13             : #include <TString.h>
      14             : #include "AliVVertex.h"
      15             : 
      16             : class AliVertex : public AliVVertex {
      17             :  
      18             :  public:
      19             :  
      20             :   AliVertex();
      21             :   AliVertex(const Double_t position[3],Double_t dispersion,
      22             :                 Int_t nContributors);
      23             :   AliVertex(const AliVertex &source);
      24             :   AliVertex &operator=(const AliVertex &source);
      25             :   virtual ~AliVertex();
      26             : 
      27             :   virtual void   Clear(Option_t *option="");
      28             :   virtual void   SetXYZ(Double_t pos[3]) 
      29         920 :                    {for(Int_t j=0; j<3; j++) fPosition[j]=pos[j];}
      30          16 :   virtual void   SetXv(Double_t xVert) {fPosition[0]=xVert; }
      31          16 :   virtual void   SetYv(Double_t yVert) {fPosition[1]=yVert; }
      32          80 :   virtual void   SetZv(Double_t zVert) {fPosition[2]=zVert; }
      33         128 :   virtual void   SetDispersion(Double_t disp) { fSigma=disp; }
      34         272 :   virtual void   SetNContributors(Int_t nContr) {fNContributors=nContr; }
      35             : 
      36             :   virtual void     GetXYZ(Double_t position[3]) const;
      37             : 
      38        4036 :   virtual Double_t GetX()  const { return fPosition[0]; }
      39        4036 :   virtual Double_t GetY()  const { return fPosition[1]; }
      40        2092 :   virtual Double_t GetZ()  const { return fPosition[2]; }
      41         308 :   virtual Double_t GetDispersion() const { return fSigma; }
      42         816 :   virtual Int_t    GetNContributors() const { return fNContributors; }
      43         412 :   virtual Int_t    GetNIndices() const { return fNIndices; }
      44             :   virtual Bool_t   GetStatus() const {
      45         786 :     TString title = GetTitle();
      46         814 :     if(fNContributors>0 || (title.Contains("cosmics") && !title.Contains("failed"))) return 1;
      47          56 :     if(title.Contains("smearMC")) return 1;
      48          28 :     return 0;
      49         393 :   }
      50             :   virtual Bool_t IsFromVertexer3D() const {
      51           0 :     TString title = GetTitle();  
      52           0 :     if(title.Contains("vertexer: 3D")) return kTRUE;
      53           0 :     else return kFALSE;
      54           0 :   }
      55             :   virtual Bool_t IsFromVertexerZ() const {
      56          48 :     TString title = GetTitle();  
      57          48 :     if(title.Contains("vertexer: Z")) return kTRUE;
      58          24 :     else return kFALSE;
      59          24 :   }
      60             : 
      61             :   virtual void     Print(Option_t* option = "") const;
      62             :   virtual void     SetIndices(Int_t nindices,UShort_t *indices); 
      63          96 :   virtual UShort_t *GetIndices() const { return fIndices; }
      64             :   virtual Bool_t   UsesTrack(Int_t index) const;
      65           0 :   virtual void     PrintIndices() const { if(fNIndices>0) 
      66           0 :     for(Int_t i=0;i<fNIndices;i++) printf("AliVertex uses track %d\n",fIndices[i]); return; }
      67             : 
      68             :   virtual void     GetCovarianceMatrix(Double_t covmatrix[6]) const;
      69           0 :   virtual void     SetCovarianceMatrix(const Double_t *) {}
      70             :   
      71           0 :   virtual Double_t GetChi2perNDF() const {return -999.;}
      72           0 :   virtual Double_t GetChi2() const {return -999.;}
      73           0 :   virtual void     SetChi2(Double_t ) {}
      74           0 :   virtual Int_t    GetNDF() const {return -999;}
      75             : 
      76             :  protected:
      77             : 
      78             :   Double32_t fPosition[3];    // vertex position
      79             :   Double32_t fSigma;          // track dispersion around found vertex
      80             :   Int_t    fNContributors;  // # of tracklets/tracks used for the estimate 
      81             :   Int_t    fNIndices;       // # of indices 
      82             :   UShort_t *fIndices;       //[fNIndices] indices of tracks used for vertex
      83             : 
      84             : 
      85         192 :   ClassDef(AliVertex,4)  // Class for Primary Vertex
      86             : };
      87             : 
      88             : #endif

Generated by: LCOV version 1.11