]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSTrackerV1.cxx
Update of slat geometry
[u/mrichter/AliRoot.git] / ITS / AliITSTrackerV1.cxx
index b13f01093f7dc84fe9b2e6aac6274dff80e15784..adaea7f61e018d88f60ba4db8bd6c5be6124a99c 100644 (file)
 #include <TVector.h>
 #include <TFile.h>
 #include <TTree.h>
-#include <TStopwatch.h>
 
 #include "TParticle.h"
 #include "AliRun.h"
-#include "AliLoader.h"
 #include "AliITS.h"
-#include "AliITSsegmentationSSD.h"
 #include "AliITSgeomSPD.h"
 #include "AliITSgeomSDD.h"
 #include "AliITSgeomSSD.h"
 #include "AliITSgeom.h"
 #include "AliITSRecPoint.h"
-#include "stdlib.h"
 #include "AliKalmanTrack.h" 
 #include "AliMagF.h"
 #include "AliITSTrackV1.h"
 #include "AliITSIOTrack.h"
 #include "AliITSRad.h"   
-#include "../TPC/AliTPCtracker.h"
+#include "AliTPCtracker.h"
 #include "AliITSTrackerV1.h"
-#include "AliITSVertex.h"
 #include "AliITSPid.h"
+#include "AliMC.h"
 
 ClassImp(AliITSTrackerV1)
  //______________________________________________________________________
@@ -235,14 +231,14 @@ AliITSTrackerV1::AliITSTrackerV1(AliITS* IITTSS, Int_t evnumber, Bool_t flag) {
 //////////////////////////////////////////////////////////////////////////////////////////////////////////
 /////////////// allocate memory and define vector fNRecPoints and matrices fRecCylR, fRecCylPhi, fRecCylZ /////////////
        gAlice->GetEvent(evnumber);
-  Int_t NumOfModules = g1->GetIndexMax();
-  fRecCylR = new Double_t *[NumOfModules];
-  fRecCylPhi = new Double_t *[NumOfModules]; 
-  fRecCylZ = new Double_t *[NumOfModules];
+  Int_t numOfModules = g1->GetIndexMax();
+  fRecCylR = new Double_t *[numOfModules];
+  fRecCylPhi = new Double_t *[numOfModules]; 
+  fRecCylZ = new Double_t *[numOfModules];
   AliITSRecPoint *recp;
-  fNRecPoints = new Int_t[NumOfModules];
+  fNRecPoints = new Int_t[numOfModules];
    
-                for(Int_t module=0; module<NumOfModules; module++) {                           
+                for(Int_t module=0; module<numOfModules; module++) {                           
                  fITS->ResetRecPoints();                    
         gAlice->TreeR()->GetEvent(module);               
                  frecPoints=fITS->RecPoints();
@@ -282,7 +278,7 @@ AliITSTrackerV1::AliITSTrackerV1(AliITS* IITTSS, Int_t evnumber, Bool_t flag) {
    // cout<< " field factor = "<<fFieldFactor<<"\n"; getchar();
 }
 //______________________________________________________________________
-AliITSTrackerV1::AliITSTrackerV1(const AliITSTrackerV1 &cobj) {
+AliITSTrackerV1::AliITSTrackerV1(const AliITSTrackerV1 &cobj) : TObject(cobj) {
     // Origin  A. Badala' and G.S. Pappalardo:
     // e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it
     // copy constructor
@@ -341,17 +337,17 @@ AliITSTrackerV1::AliITSTrackerV1(const AliITSTrackerV1 &cobj) {
 
 
        AliITSgeom *g1 = fITS->GetITSgeom();  
-   Int_t NumOfModules = g1->GetIndexMax();
+   Int_t numOfModules = g1->GetIndexMax();
        /*
-  fRecCylR = new Float_t *[NumOfModules];
-  fRecCylPhi = new Float_t *[NumOfModules]; 
-  fRecCylZ = new Float_t *[NumOfModules];
+  fRecCylR = new Float_t *[numOfModules];
+  fRecCylPhi = new Float_t *[numOfModules]; 
+  fRecCylZ = new Float_t *[numOfModules];
   */
-  fRecCylR = new Double_t *[NumOfModules];
-  fRecCylPhi = new Double_t *[NumOfModules]; 
-  fRecCylZ = new Double_t *[NumOfModules];  
-  fNRecPoints = new Int_t[NumOfModules];       
-               for(Int_t module=0; module<NumOfModules; module++) {            
+  fRecCylR = new Double_t *[numOfModules];
+  fRecCylPhi = new Double_t *[numOfModules]; 
+  fRecCylZ = new Double_t *[numOfModules];  
+  fNRecPoints = new Int_t[numOfModules];       
+               for(Int_t module=0; module<numOfModules; module++) {            
                  Int_t nRecPoints=fNRecPoints[module]=cobj.fNRecPoints[module];
                  /*
                  fRecCylR[module] = new Float_t[nRecPoints];
@@ -370,8 +366,11 @@ AliITSTrackerV1::AliITSTrackerV1(const AliITSTrackerV1 &cobj) {
                }        
  
 }
-void AliITSTrackerV1::DelMatrix(Int_t NumOfModules) { 
-  for(Int_t mod=0; mod<NumOfModules; mod++) {
+/*
+//______________________________________________________________________
+void AliITSTrackerV1::DelMatrix(Int_t numOfModules) {
+  // cleanup of some data members
+  for(Int_t mod=0; mod<numOfModules; mod++) {
     delete fRecCylR[mod];
         delete fRecCylPhi[mod];
         delete fRecCylZ[mod];
@@ -380,6 +379,7 @@ void AliITSTrackerV1::DelMatrix(Int_t NumOfModules) {
         delete fRecCylPhi;
         delete fRecCylZ;
 }
+*/
 //______________________________________________________________________
 AliITSTrackerV1::~AliITSTrackerV1(){
     // Origin  A. Badala' and G.S. Pappalardo:
@@ -403,7 +403,7 @@ AliITSTrackerV1::~AliITSTrackerV1(){
         
 }
 //______________________________________________________________________
-AliITSTrackerV1 &AliITSTrackerV1::operator=(AliITSTrackerV1 obj) {
+AliITSTrackerV1 &AliITSTrackerV1::operator=(const AliITSTrackerV1 &obj) {
     // Origin  A. Badala' and G.S. Pappalardo:
     // e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it  
     // assignement operator
@@ -462,12 +462,12 @@ AliITSTrackerV1 &AliITSTrackerV1::operator=(AliITSTrackerV1 obj) {
     } // end for im1
 
        AliITSgeom *g1 = fITS->GetITSgeom();  
-   Int_t NumOfModules = g1->GetIndexMax();
-  fRecCylR = new Double_t *[NumOfModules];
-  fRecCylPhi = new Double_t *[NumOfModules]; 
-  fRecCylZ = new Double_t *[NumOfModules];  
-  fNRecPoints = new Int_t[NumOfModules];  
-         for(Int_t module=0; module<NumOfModules; module++) {            
+   Int_t numOfModules = g1->GetIndexMax();
+  fRecCylR = new Double_t *[numOfModules];
+  fRecCylPhi = new Double_t *[numOfModules]; 
+  fRecCylZ = new Double_t *[numOfModules];  
+  fNRecPoints = new Int_t[numOfModules];  
+         for(Int_t module=0; module<numOfModules; module++) {            
                  Int_t nRecPoints=fNRecPoints[module]=obj.fNRecPoints[module];
                  fRecCylR[module] = new Double_t[nRecPoints];
                  fRecCylPhi[module] = new Double_t[nRecPoints];
@@ -495,7 +495,7 @@ void AliITSTrackerV1::DoTracking(Int_t evNumber,Int_t minTr,Int_t maxTr,
     // The method can be called by a macro. It preforms the tracking for
     // all good TPC tracks
 
-    printf("begin DoTracking - file %p\n",file);
+    printf("begin DoTracking - file %p\n",(void*)file);
 
     gAlice->GetEvent(evNumber);  //modificato per gestire hbt
  
@@ -679,7 +679,7 @@ void AliITSTrackerV1::DoTracking(Int_t evNumber,Int_t minTr,Int_t maxTr,
        primaryTrack.SetZv(zv);
        primaryTrack.SetsigmaDv(sigmaDv);
        primaryTrack.SetsigmaZv(sigmaZv);
-       primaryTrack.PrimaryTrack(frl);
+       primaryTrack.PrimaryTrack();
        TVector  d2=primaryTrack.Getd2();
        TVector  tgl2=primaryTrack.Gettgl2();
        TVector  dtgl=primaryTrack.Getdtgl();
@@ -720,7 +720,7 @@ void AliITSTrackerV1::DoTracking(Int_t evNumber,Int_t minTr,Int_t maxTr,
            for(k=0; k<3; k++){  
                Int_t lpp=(Int_t)vecLabRef(k);
                if(lpp>=0) {
-                   TParticle *p=(TParticle*) gAlice->Particle(lpp);
+                   TParticle *p=(TParticle*) gAlice->GetMCApp()->Particle(lpp);
                    Int_t pcode=p->GetPdgCode();
                    if(pcode==11) vecLabRef(k)=p->GetFirstMother();
                } // end if
@@ -1211,9 +1211,9 @@ void AliITSTrackerV1::RecursiveTracking(TList *trackITSlist) {
                    // cout<<" chi2pred = "<<chi2pred<<"\n";
                    // if(chi2pred>fChi2max) continue; //aggiunto il 30-7-2001
                    if(iriv == 0) flaghit=1;
-                   (*newTrack).AddMS(frl);  // add the multiple scattering 
+                   (*newTrack).AddMS();  // add the multiple scattering 
                                             //matrix to the covariance matrix 
-                   (*newTrack).AddEL(frl,1.,0);
+                   (*newTrack).AddEL(1.,0);
 
                    if(fflagvert){
                        KalmanFilterVert(newTrack,cluster,sigmanew);
@@ -1232,9 +1232,9 @@ void AliITSTrackerV1::RecursiveTracking(TList *trackITSlist) {
            AliITSTrackV1 *newTrack = new AliITSTrackV1(*trackITS);
            (*newTrack).Setfnoclust();           
            //(*newTrack).SetLayer((*trackITS).GetLayer()-1); 
-           (*newTrack).AddMS(frl);  // add the multiple scattering matrix
+           (*newTrack).AddMS();  // add the multiple scattering matrix
                                     // to the covariance matrix  
-           (*newTrack).AddEL(frl,1.,0);
+           (*newTrack).AddEL(1.,0);
            listoftrack.AddLast(newTrack);
        } // end if
 
@@ -1692,3 +1692,4 @@ void AliITSTrackerV1::KalmanFilterVert(AliITSTrackV1 *newTrack,
     newTrack->SetChi2(newTrack->GetChi2()+chi2);   
     //   newTrack->SetChi2(newTrack->GetChi2()+chi2pred);
 }
+