]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSvtest.cxx
Adding copy constructor and assignment operator
[u/mrichter/AliRoot.git] / ITS / AliITSvtest.cxx
index cd062e6d4879c97d23f1fbfb2f72773cbeb93618..cb8ca2940ec2353651a121aa319764e47a5942f0 100644 (file)
 #include <Riostream.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include<TLorentzVector.h>
 #include <TMath.h>
-#include <TNode.h>
-#include <TObjArray.h>
-#include <TObjString.h>
 #include <TSystem.h>
-#include <TTUBE.h>
 #include <TVirtualMC.h>
 
 #include "AliRun.h"
@@ -46,6 +43,7 @@
 #include "AliITShit.h"
 #include "AliITSvtest.h"
 #include "AliRun.h"
+#include "AliMC.h"
 
 ClassImp(AliITSvtest)
  
@@ -57,7 +55,7 @@ AliITSvtest::AliITSvtest() {
     fIdN    = 0;
     fIdName = 0;
     fIdSens = 0;
-    fEuclidOut    = kFALSE; // Don't write Euclide file
+    SetEUCLID(kFALSE);
     fGeomDetOut   = kFALSE; // Don't write .det file
     fGeomDetIn    = kTRUE; // Read .det file
     fMajorVersion = IsVersion();
@@ -107,7 +105,7 @@ AliITSvtest::AliITSvtest(const char *fileeuc,const char *filetme,
     for (Int_t i=0;i<fIdN;i++) fIdSens[i] = 0;
     fMajorVersion = IsVersion();
     fMinorVersion = 1;
-    fEuclidOut    = kFALSE; // Don't write Euclide file
+    SetEUCLID(kFALSE);
     fGeomDetOut   = kFALSE; // Don't write .det file
     fGeomDetIn    = kTRUE; // Read .det file
 
@@ -190,23 +188,23 @@ void AliITSvtest::InitAliITSgeom(){
        return;
     } // end if
     cout << "Reading Geometry transformation directly from Geant 3." << endl;
-    const Int_t nlayers = 6;
-    const Int_t ndeep = 9;
-    Int_t itsGeomTreeNames[nlayers][ndeep],lnam[20],lnum[20];
-    Int_t nlad[nlayers],ndet[nlayers];
+    const Int_t kNlayers = 6;
+    const Int_t kndeep = 9;
+    Int_t itsGeomTreeNames[kNlayers][kndeep],lnam[20],lnum[20];
+    Int_t nlad[kNlayers],ndet[kNlayers];
     Double_t t[3],r[10];
     Float_t  par[20],att[20];
     Int_t    npar,natt,idshape,imat,imed;
     AliITSGeant3Geometry *ig = new AliITSGeant3Geometry();
     Int_t mod,lay,lad,det,i,j,k;
-    char *names[nlayers][ndeep] = {
+    const char *names[kNlayers][kndeep] = {
      {"ALIC","ITSV","ITSD","IT12","I12B","I10B","I107","I101","ITS1"}, // lay=1
      {"ALIC","ITSV","ITSD","IT12","I12B","I20B","I1D7","I1D1","ITS2"}, // lay=2
      {"ALIC","ITSV","ITSD","IT34","I004","I302","ITS3","    ","    "}, // lay=3
      {"ALIC","ITSV","ITSD","IT34","I005","I402","ITS4","    ","    "}, // lay=4
      {"ALIC","ITSV","ITSD","IT56","I565","I562","ITS5","    ","    "}, // lay=5
      {"ALIC","ITSV","ITSD","IT56","I569","I566","ITS6","    ","    "}};// lay=6
-    Int_t itsGeomTreeCopys[nlayers][ndeep] = {{1,1,1,1,10, 2, 4, 1, 1},// lay=1
+    Int_t itsGeomTreeCopys[kNlayers][kndeep] = {{1,1,1,1,10, 2, 4, 1, 1},// lay=1
                                              {1,1,1,1,10, 4, 4, 1, 1},// lay=2
                                              {1,1,1,1,14, 6, 1, 0, 0},// lay=3
                                              {1,1,1,1,22, 8, 1, 0, 0},// lay=4
@@ -218,25 +216,25 @@ void AliITSvtest::InitAliITSgeom(){
     // tree its self.
     cout << "Reading Geometry informaton from Geant3 common blocks" << endl;
     for(i=0;i<20;i++) lnam[i] = lnum[i] = 0;
-    for(i=0;i<nlayers;i++)for(j=0;j<ndeep;j++)
+    for(i=0;i<kNlayers;i++)for(j=0;j<kndeep;j++)
         strncpy((char*) &itsGeomTreeNames[i][j],names[i][j],4); 
     // itsGeomTreeNames[i][j] = ig->StringToInt(names[i][j]);
     mod = 0;
-    for(i=0;i<nlayers;i++){
+    for(i=0;i<kNlayers;i++){
        k = 1;
-       for(j=0;j<ndeep;j++) if(itsGeomTreeCopys[i][j]!=0)
+       for(j=0;j<kndeep;j++) if(itsGeomTreeCopys[i][j]!=0)
            k *= TMath::Abs(itsGeomTreeCopys[i][j]);
        mod += k;
     } // end for i
 
-    if(fITSgeom!=0) delete fITSgeom;
+    if(GetITSgeom()!=0) SetITSgeom(0x0);
     nlad[0]=20;nlad[1]=40;nlad[2]=14;nlad[3]=22;nlad[4]=34;nlad[5]=38;
     ndet[0]=4;ndet[1]=4;ndet[2]=6;ndet[3]=8;ndet[4]=22;ndet[5]=25;
-    fITSgeom = new AliITSgeom(0,6,nlad,ndet,mod);
+    SetITSgeom(new AliITSgeom(0,6,nlad,ndet,mod));
     mod = -1;
-    for(lay=1;lay<=nlayers;lay++){
-       for(j=0;j<ndeep;j++) lnam[j] = itsGeomTreeNames[lay-1][j];
-       for(j=0;j<ndeep;j++) lnum[j] = itsGeomTreeCopys[lay-1][j];
+    for(lay=1;lay<=kNlayers;lay++){
+       for(j=0;j<kndeep;j++) lnam[j] = itsGeomTreeNames[lay-1][j];
+       for(j=0;j<kndeep;j++) lnum[j] = itsGeomTreeCopys[lay-1][j];
        switch (lay){
        case 1: case 2: // layers 1 and 2 are a bit special
            lad = 0;
@@ -248,15 +246,15 @@ void AliITSvtest::InitAliITSgeom(){
                    for(det=1;det<=itsGeomTreeCopys[lay-1][6];det++){
                        lnum[6] = det;
                        mod++;
-                       ig->GetGeometry(ndeep,lnam,lnum,t,r,idshape,npar,natt,
+                       ig->GetGeometry(kndeep,lnam,lnum,t,r,idshape,npar,natt,
                                        par,att,imat,imed);
-                       fITSgeom->CreatMatrix(mod,lay,lad,det,kSPD,t,r);
-                       if(!(fITSgeom->IsShapeDefined((Int_t)kSPD)))
+                       GetITSgeom()->CreatMatrix(mod,lay,lad,det,kSPD,t,r);
+                       if(!(GetITSgeom()->IsShapeDefined((Int_t)kSPD)))
                            if(fMinorVersion==1){
-                             fITSgeom->ReSetShape(kSPD,
+                             GetITSgeom()->ReSetShape(kSPD,
                                                  new AliITSgeomSPD425Short());
                            } else if(fMinorVersion==2)
-                             fITSgeom->ReSetShape(kSPD,
+                             GetITSgeom()->ReSetShape(kSPD,
                                                  new AliITSgeomSPD425Short());
                    } // end for det
                } // end for k
@@ -273,19 +271,19 @@ void AliITSvtest::InitAliITSgeom(){
                                    par,att,imat,imed);
                    switch (lay){
                    case 3: case 4:
-                       fITSgeom->CreatMatrix(mod,lay,lad,det,kSDD,t,r);
-                       if(!(fITSgeom->IsShapeDefined(kSDD))) 
-                           fITSgeom->ReSetShape(kSDD,new AliITSgeomSDD256());
+                       GetITSgeom()->CreatMatrix(mod,lay,lad,det,kSDD,t,r);
+                       if(!(GetITSgeom()->IsShapeDefined(kSDD))) 
+                           GetITSgeom()->ReSetShape(kSDD,new AliITSgeomSDD256());
                            break;
                        case 5:
-                           fITSgeom->CreatMatrix(mod,lay,lad,det,kSSD,t,r);
-                           if(!(fITSgeom->IsShapeDefined(kSSD))) 
-                               fITSgeom->ReSetShape(kSSD,new AliITSgeomSSD275and75());
+                           GetITSgeom()->CreatMatrix(mod,lay,lad,det,kSSD,t,r);
+                           if(!(GetITSgeom()->IsShapeDefined(kSSD))) 
+                               GetITSgeom()->ReSetShape(kSSD,new AliITSgeomSSD275and75());
                            break;
                        case 6:
-                           fITSgeom->CreatMatrix(mod,lay,lad,det,kSSD,t,r);
-                           if(!(fITSgeom->IsShapeDefined(kSSD))) 
-                               fITSgeom->ReSetShape(kSSD,new AliITSgeomSSD75and275());
+                           GetITSgeom()->CreatMatrix(mod,lay,lad,det,kSSD,t,r);
+                           if(!(GetITSgeom()->IsShapeDefined(kSSD))) 
+                               GetITSgeom()->ReSetShape(kSSD,new AliITSgeomSSD75and275());
                            break;
                        } // end switch
                } // end for det
@@ -308,11 +306,11 @@ void AliITSvtest::Init(){
 //
     if(fRead[0]=='\0') strncpy(fRead,fEuclidGeomDet,60);
     if(fWrite[0]=='\0') strncpy(fWrite,fEuclidGeomDet,60);
-    if(fITSgeom!=0) delete fITSgeom;
-    fITSgeom = new AliITSgeom();
-    if(fGeomDetIn) fITSgeom->ReadNewFile(fRead);
+    if(GetITSgeom()!=0) SetITSgeom(0x0);
+    SetITSgeom(new AliITSgeom());
+    if(fGeomDetIn) GetITSgeom()->ReadNewFile(fRead);
     if(!fGeomDetIn) this->InitAliITSgeom();
-    if(fGeomDetOut) fITSgeom->WriteNewFile(fWrite);
+    if(fGeomDetOut) GetITSgeom()->WriteNewFile(fWrite);
     AliITS::Init();
 //
     for(i=0;i<72;i++) cout << "*";
@@ -411,7 +409,7 @@ void AliITSvtest::StepManager(){
   hits[6]=gMC->Edep();
   hits[7]=gMC->TrackTime();
   // Fill hit structure with this new hit.
-  new(lhits[fNhits++]) AliITShit(fIshunt,gAlice->GetCurrentTrackNumber(),vol,hits);
+  new(lhits[fNhits++]) AliITShit(fIshunt,gAlice->GetMCApp()->GetCurrentTrackNumber(),vol,hits);
   return;
 }