1 /**************************************************************************
2 * Copyright(c) 2006-2008, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
16 //-----------------------------------------------------------------
17 // Implementation of the base Vertex class
18 // This class contains the Secondary Vertex
20 // And it is the base class for primary vertices
21 // Origin: F.Prino, Torino, prino@to.infn.it
22 //-----------------------------------------------------------------
24 #include "AliVertex.h"
29 //--------------------------------------------------------------------------
30 AliVertex::AliVertex() : TNamed() {
32 // Default Constructor, set everything to 0
34 for(Int_t k=0;k<3;k++) fPosition[k] = 0;
39 //--------------------------------------------------------------------------
40 AliVertex::AliVertex(Double_t position[3],Double_t dispersion,
41 Int_t nContributors): TNamed() {
43 // Standard Constructor
46 for(Int_t k=0;k<3;k++) fPosition[k] = position[k];
48 fNContributors = nContributors;
49 SetName("BaseVertex");
53 //--------------------------------------------------------------------------
54 AliVertex::AliVertex(const AliVertex &source): TNamed(source) {
58 for(Int_t i=0;i<3;i++)fPosition[i] = source.fPosition[i];
59 fSigma = source.GetDispersion();
60 fNContributors = source.GetNContributors();
63 //--------------------------------------------------------------------------
64 AliVertex &AliVertex::operator=(const AliVertex &source){
66 // assignment operator
68 if(&source == this) return *this;
69 this->SetName(source.GetName());
70 this->SetTitle(source.GetTitle());
71 for(Int_t i=0;i<3;i++)fPosition[i] = source.fPosition[i];
72 fSigma = source.GetDispersion();
73 fNContributors = source.GetNContributors();
78 //--------------------------------------------------------------------------
79 AliVertex::~AliVertex() {
85 //--------------------------------------------------------------------------
86 void AliVertex::GetXYZ(Double_t position[3]) const {
88 // Return position of the vertex in global frame
90 position[0] = fPosition[0];
91 position[1] = fPosition[1];
92 position[2] = fPosition[2];
96 //--------------------------------------------------------------------------
97 void AliVertex::Print(Option_t* /*option*/) const {
99 // Print out information on all data members
101 printf("Vertex position:\n");
102 printf(" x = %f\n",fPosition[0]);
103 printf(" y = %f\n",fPosition[1]);
104 printf(" z = %f\n",fPosition[2]);
105 printf(" Dispersion = %f\n",fSigma);
106 printf(" # tracks = %d\n",fNContributors);