]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSVertexerTracks.cxx
Adding option for ownership of slat
[u/mrichter/AliRoot.git] / ITS / AliITSVertexerTracks.cxx
index 5b8b64f0fd7439b1ef64bdff764a3a538088fa86..37bf24479f699d9154bdf0da0fff02f09ca1e71d 100644 (file)
@@ -41,62 +41,78 @@ ClassImp(AliITSVertexerTracks)
 
 
 //----------------------------------------------------------------------------
-AliITSVertexerTracks::AliITSVertexerTracks():AliITSVertexer() {
+AliITSVertexerTracks::AliITSVertexerTracks():AliITSVertexer(),
+fInFile(0),
+fOutFile(0),
+fMinTracks(0),
+fMaxChi2PerTrack(0),
+fTrkArray(0),
+fTrksToSkip(0),
+fNTrksToSkip(0) {
 //
 // Default constructor
 //
-  fInFile  = 0;
-  fOutFile = 0;
   SetVtxStart();
   SetMinTracks();
-  fTrksToSkip = 0;
-  fNTrksToSkip = 0;
 
 }
 //----------------------------------------------------------------------------
 AliITSVertexerTracks::AliITSVertexerTracks(TFile *inFile,TFile *outFile,
                                            Int_t fEv,Int_t lEv,
-                                           Double_t xStart,Double_t yStart) {
+                                           Double_t xStart,Double_t yStart):
+fInFile(inFile),
+fOutFile(outFile),
+fMinTracks(0),
+fMaxChi2PerTrack(0),
+fTrkArray(0),
+fTrksToSkip(0),
+fNTrksToSkip(0) {
 //
 // Standard constructor
 //
   fCurrentVertex = 0;
-  fInFile  = inFile;
-  fOutFile = outFile;
   SetFirstEvent(fEv);
   SetLastEvent(lEv);
   SetVtxStart(xStart,yStart);
   SetMinTracks();
-  fTrksToSkip = 0;
-  fNTrksToSkip = 0;
   SetDebug();
 }
 //----------------------------------------------------------------------------
 AliITSVertexerTracks::AliITSVertexerTracks(TString fn,
                                           Double_t xStart,Double_t yStart)
-                                          :AliITSVertexer(fn) {
+                                          :AliITSVertexer(fn),
+fInFile(0),
+fOutFile(0),
+fMinTracks(0),
+fMaxChi2PerTrack(0),
+fTrkArray(0),
+fTrksToSkip(0),
+fNTrksToSkip(0) {
 //
 // Alternative constructor
 //
-  fInFile  = 0;
-  fOutFile = 0;
   SetVtxStart(xStart,yStart);
   SetMinTracks();
-  fTrksToSkip = 0;
-  fNTrksToSkip = 0;
 }
+
 //______________________________________________________________________
-AliITSVertexerTracks::AliITSVertexerTracks(const AliITSVertexerTracks &vtxr) : AliITSVertexer(vtxr) {
+AliITSVertexerTracks::AliITSVertexerTracks(const AliITSVertexerTracks &vtxr) : AliITSVertexer(vtxr),
+fInFile(vtxr.fInFile),
+fOutFile(vtxr.fOutFile),
+fMinTracks(vtxr.fMinTracks),
+fMaxChi2PerTrack(vtxr.fMaxChi2PerTrack),
+fTrkArray(vtxr.fTrkArray),
+fTrksToSkip(vtxr.fTrksToSkip),
+fNTrksToSkip(vtxr.fNTrksToSkip) {
   // Copy constructor
-  // Copies are not allowed. The method is protected to avoid misuse.
-  Error("AliITSVertexerTracks","Copy constructor not allowed\n");
+
 }
 
 //______________________________________________________________________
-AliITSVertexerTracks& AliITSVertexerTracks::operator=(const AliITSVertexerTracks& /* vtxr */){
-  // Assignment operator
-  // Assignment is not allowed. The method is protected to avoid misuse.
-  Error("= operator","Assignment operator not allowed\n");
+AliITSVertexerTracks& AliITSVertexerTracks::operator=(const AliITSVertexerTracks&  vtxr ){
+  //Assignment operator
+  this->~AliITSVertexerTracks();
+  new(this) AliITSVertexerTracks(vtxr);
   return *this;
 }
 
@@ -271,7 +287,7 @@ Int_t AliITSVertexerTracks::PrepareTracks(TTree &trkTree) {
     // propagate track to vtxSeed
     alpha  = track->GetAlpha();
     xlStart = fNominalPos[0]*TMath::Cos(alpha)+fNominalPos[1]*TMath::Sin(alpha);
-    track->PropagateTo(xlStart,field);   // to vtxSeed
+    track->AliExternalTrackParam::PropagateTo(xlStart,field);   // to vtxSeed
 
     // select tracks with d0rphi < maxd0rphi
    
@@ -411,8 +427,6 @@ AliESDVertex* AliITSVertexerTracks::FindPrimaryVertexForCurrentEvent(AliESD *esd
   esdEvent->GetVertex()->GetTruePos(tp);
   fCurrentVertex->SetTruePos(tp);
 
-  esdEvent->SetVertex(fCurrentVertex);
-
   return fCurrentVertex;
 }
 //---------------------------------------------------------------------------
@@ -496,7 +510,7 @@ void AliITSVertexerTracks::VertexFitter() {
       t = (AliESDtrack*)fTrkArray.At(k);
       alpha = t->GetAlpha();
       xlStart = initPos[0]*TMath::Cos(alpha)+initPos[1]*TMath::Sin(alpha);
-      t->PropagateTo(xlStart,AliTracker::GetBz());   // to vtxSeed
+      t->AliExternalTrackParam::PropagateTo(xlStart,AliTracker::GetBz());   // to vtxSeed
       rotAngle = alpha;
       if(alpha<0.) rotAngle += 2.*TMath::Pi();
       cosRot = TMath::Cos(rotAngle);