//--------------------------------------------------------------------------
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()),
//
// 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;
}
// 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 {
//
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
//
// 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;
}