]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Primary vertex refered as an object inside the ESD and not as pointer (Y.Belikov)
authorcvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 20 Jun 2006 15:45:42 +0000 (15:45 +0000)
committercvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 20 Jun 2006 15:45:42 +0000 (15:45 +0000)
STEER/AliESD.cxx
STEER/AliESD.h

index a13cc0f5c4945f3970e328b4ae676ba3aa71ad5c..9e09219189df790e34d1246cb0f2d5daa3074914 100644 (file)
@@ -42,8 +42,8 @@ AliESD::AliESD():
   fZDCEMEnergy(0),
   fZDCParticipants(0),
   fT0zVertex(0),
-  fSPDVertex(0),
-  fPrimaryVertex(0),
+  fSPDVertex(),
+  fPrimaryVertex(),
   fT0timeStart(0),
   fTracks("AliESDtrack",15000),
   fHLTConfMapTracks("AliESDHLTtrack",25000),
@@ -74,8 +74,6 @@ AliESD::~AliESD()
   //
   // Standard destructor
   //
-  delete fSPDVertex;
-  delete fPrimaryVertex;
   fTracks.Delete();
   fHLTConfMapTracks.Delete();
   fHLTHoughTracks.Delete();
@@ -127,8 +125,8 @@ void AliESD::Reset()
   fZDCParticipants=0;
   fT0zVertex=0;
   fT0timeStart = 0;
-  delete fSPDVertex; fSPDVertex=0;
-  delete fPrimaryVertex; fPrimaryVertex=0;
+  new (&fSPDVertex) AliESDVertex();
+  new (&fPrimaryVertex) AliESDVertex();
   fTracks.Clear();
   fHLTConfMapTracks.Clear();
   fHLTHoughTracks.Clear();
@@ -157,11 +155,10 @@ void AliESD::Print(Option_t *) const
         GetRunNumber(),
         GetTriggerMask(),
         GetMagneticField() );
-  if (fPrimaryVertex)
     printf("Vertex: (%.4f +- %.4f, %.4f +- %.4f, %.4f +- %.4f) cm\n",
-          fPrimaryVertex->GetXv(), fPrimaryVertex->GetXRes(),
-          fPrimaryVertex->GetYv(), fPrimaryVertex->GetYRes(),
-          fPrimaryVertex->GetZv(), fPrimaryVertex->GetZRes());
+          fPrimaryVertex.GetXv(), fPrimaryVertex.GetXRes(),
+          fPrimaryVertex.GetYv(), fPrimaryVertex.GetYRes(),
+          fPrimaryVertex.GetZv(), fPrimaryVertex.GetZRes());
   printf("Event from reconstruction version %d \n",fRecoVersion);
   printf("Number of tracks: \n");
   printf("                 charged   %d\n", GetNumberOfTracks());
index 44fccd1bf7e862a8177403b48a5a5c571da14a46..e59e92be1bff2523a221d0b77cf7cd161e9a2537 100644 (file)
@@ -130,15 +130,15 @@ public:
     return fCaloClusters.GetEntriesFast()-1;
   }
     
-  void SetVertex(const AliESDVertexvertex) {
-     fSPDVertex=new AliESDVertex(*vertex);
+  void SetVertex(const AliESDVertex *vertex) {
+     new (&fSPDVertex) AliESDVertex(*vertex);
   }
-  const AliESDVertex* GetVertex() const {return fSPDVertex;};
+  const AliESDVertex *GetVertex() const {return &fSPDVertex;}
 
-  void SetPrimaryVertex(const AliESDVertexvertex) {
-     fPrimaryVertex=new AliESDVertex(*vertex);
+  void SetPrimaryVertex(const AliESDVertex *vertex) {
+     new (&fPrimaryVertex) AliESDVertex(*vertex);
   }
-  const AliESDVertex* GetPrimaryVertex() const {return fPrimaryVertex;};
+  const AliESDVertex *GetPrimaryVertex() const {return &fPrimaryVertex;}
 
   Int_t  GetEventNumber() const {return fEventNumber;}
   Int_t  GetRunNumber() const {return fRunNumber;}
@@ -221,8 +221,8 @@ protected:
   Int_t        fZDCParticipants; // number of participants estimated by the ZDC
 
   Float_t      fT0zVertex;       // vertex z position estimated by the START
-  AliESDVertex *fSPDVertex;      // Primary vertex estimated by the SPD
-  AliESDVertex *fPrimaryVertex;  // Primary vertex estimated using ESD tracks
+  AliESDVertex fSPDVertex;       // Primary vertex estimated by the SPD
+  AliESDVertex fPrimaryVertex;   // Primary vertex estimated using ESD tracks
 
   Float_t      fT0timeStart;     // interaction time estimated by the START
   Float_t      fT0time[24];      // best TOF on each START PMT
@@ -247,7 +247,7 @@ protected:
  
   AliESDFMD *  fESDFMD; // FMD object containing rough multiplicity
 
-  ClassDef(AliESD,11)  //ESD class 
+  ClassDef(AliESD,12)  //ESD class 
 };
 #endif