* provided "as is" without express or implied warranty. *
**************************************************************************/
-/*
-$Log$
-Revision 1.5 2001/01/30 09:23:14 hristov
-Streamers removed (R.Brun)
-
-Revision 1.4 2001/01/18 06:25:09 barbera
-ITS geometry using test Euclid files
-
-Revision 1.1.2.8 2000/10/05 20:28:18 nilsen
-Now using root generated streamer function.
-
-Revision 1.1.2.7 2000/07/31 13:51:22 barbera
-Updated from the release
-
-Revision 1.2 2000/07/10 16:07:19 fca
-Release version of ITS code
-
-Revision 1.1.2.2 2000/03/02 21:53:36 nilsen
-to make it compatable with the changes in AliRun/AliModule.
-
-Revision 1.1.2.1 2000/01/12 20:19:03 nilsen
- The changes made with this latest inclusion of code is very large.
-Many of the new files were added just in December when P. Cerello added his
-SDD simulations to the distrobutions. Also added are some file of P. Skowronski
-for SSD cluster finding and ghost RecPoints. None of this "new" code has been
-proporly tested. Other code new to this cvs repository is explained in the
-ITS Off-line web page. In general the changes are too large to give a resonable
-discription of them but probably should be taken as the starting point for
-the developement branch (ITS-working).
- B. S. Nilsen
-
-Revision 1.13 1999/10/16 19:49:00 BSN
-$Name$
-$Author$
-$Id$
-*/
+/* $Id$ */
///////////////////////////////////////////////////////////////////////////////
// //
// Created October 16 1999. //
// //
///////////////////////////////////////////////////////////////////////////////
+
+#include <Riostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <TMath.h>
-#include <TGeometry.h>
#include <TNode.h>
-#include <TTUBE.h>
-#include <TFile.h> // only required for Tracking function?
-#include <TCanvas.h>
#include <TObjArray.h>
#include <TObjString.h>
-#include <TClonesArray.h>
-#include <TLorentzVector.h>
-#include <TBRIK.h>
#include <TSystem.h>
+#include <TTUBE.h>
+#include <TVirtualMC.h>
-#include "AliMC.h"
#include "AliRun.h"
-#include "../TGeant3/TGeant3.h"
#include "AliITSGeant3Geometry.h"
-#include "AliITShit.h"
-#include "AliITS.h"
-#include "AliITSvtest.h"
#include "AliITSgeom.h"
-#include "AliITSgeomSPD.h"
#include "AliITSgeomSDD.h"
+#include "AliITSgeomSPD.h"
#include "AliITSgeomSSD.h"
+#include "AliITShit.h"
+#include "AliITSvtest.h"
+#include "AliRun.h"
+#include "AliMC.h"
ClassImp(AliITSvtest)
for(i=0;i<60;i++) fEuclidGeomDet[i] = '\0';
}
//____________________________________________________________________________
-AliITSvtest::AliITSvtest(const AliITSvtest &source){
+AliITSvtest::AliITSvtest(const AliITSvtest &source) : AliITS(source){
////////////////////////////////////////////////////////////////////////
// Copy Constructor for ITS test version.
////////////////////////////////////////////////////////////////////////
//_____________________________________________________________________________
AliITSvtest::~AliITSvtest() {
// Standard destructor for the ITS
-
- if(fRead!=0) delete fRead;
- if(fWrite!=0) delete fWrite;
- if(fEuclidGeomDet!=0) delete fEuclidGeomDet;
}
//_____________________________________________________________________________
AliITSvtest::AliITSvtest(const char *fileeuc,const char *filetme,
// Based on the geometry tree defined in Geant 3.21, this
// routine initilizes the Class AliITSgeom from the Geant 3.21 ITS geometry
// sturture.
- if(!((TGeant3*)gMC)) {
+// if(gMC->IsA()!=TGeant3::Class()) {
+ if(strcmp(gMC->GetName(),"TGeant3")) {
Error("InitAliITSgeom",
"Wrong Monte Carlo. InitAliITSgeom uses TGeant3 calls");
return;
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[nlayers][ndeep] = {
{"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
// 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++)
- itsGeomTreeNames[i][j] = ig->StringToInt(names[i][j]);
+ for(i=0;i<nlayers;i++)for(j=0;j<ndeep;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++){
k = 1;
fITSgeom->ReSetShape(kSSD,new AliITSgeomSSD275and75());
break;
case 6:
- fITSgeom->CreatMatrix(mod,lay,lad,det,kSSDp,t,r);
- if(!(fITSgeom->IsShapeDefined(kSSDp)))
- fITSgeom->ReSetShape(kSSDp,new AliITSgeomSSD75and275());
+ fITSgeom->CreatMatrix(mod,lay,lad,det,kSSD,t,r);
+ if(!(fITSgeom->IsShapeDefined(kSSD)))
+ fITSgeom->ReSetShape(kSSD,new AliITSgeomSSD75and275());
break;
} // end switch
} // end for det
hits[6]=gMC->Edep();
hits[7]=gMC->TrackTime();
// Fill hit structure with this new hit.
- new(lhits[fNhits++]) AliITShit(fIshunt,gAlice->CurrentTrack(),vol,hits);
+ new(lhits[fNhits++]) AliITShit(fIshunt,gAlice->GetMCApp()->GetCurrentTrackNumber(),vol,hits);
return;
}