Only use PDG codes and not GEANT ones
[u/mrichter/AliRoot.git] / TPC / AliTPCv3.cxx
index a507daf98d8efa87ed74f23da7d7433500b12e90..9df064f30a32504a35d3097b062eb2cf7f7252c0 100644 (file)
@@ -1,3 +1,31 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+/*
+$Log$
+Revision 1.9  1999/10/08 06:27:23  fca
+Corrected bug in the HV degrader geometry, thanks to G.Tabary
+
+Revision 1.8  1999/10/04 13:39:55  fca
+Correct array index problem
+
+Revision 1.7  1999/09/29 09:24:34  fca
+Introduction of the Copyright and cvs Log
+
+*/
+
 ///////////////////////////////////////////////////////////////////////////////
 //                                                                           //
 //  Time Projection Chamber version 3 -- detailed TPC and slow simulation    //
@@ -18,7 +46,8 @@
 #include "AliRun.h"
 #include "AliConst.h"
 #include "AliTPCD.h"
-#include"AliTPCParam.h"
+#include "AliTPCParam.h"
+#include "AliPDG.h"
 
 ClassImp(AliTPCv3)
  
@@ -56,7 +85,7 @@ void AliTPCv3::CreateGeometry()
   Int_t *idtmed = fIdtmed->GetArray();
 
   Float_t dm[21];
-  Int_t idrotm[100];
+  Int_t idrotm[120];
 
   Int_t nRotMat = 0;
 
@@ -108,7 +137,7 @@ void AliTPCv3::CreateGeometry()
   gMC->Gsposp("TPMH",1,"TGAS",0.,0.,0.,0,"ONLY",dm,3);
  
   dm[0] = 78.;
-  dm[2] = 82.;
+  dm[1] = 82.;
   dm[2] = 0.1;
 
   gMC->Gsposp("TPMH",2,"TGAS",0.,0.,0.,0,"ONLY",dm,3);
@@ -386,8 +415,8 @@ void AliTPCv3::CreateGeometry()
   // G10 plug
 
   dm[0] = 76.;
-  dm[2] = 78.;
-  dm[3] = 1.;
+  dm[1] = 78.;
+  dm[2] = 1.;
 
   gMC->Gsvolu("TPG2","TUBE",idtmed[8],dm,3);
 
@@ -546,7 +575,7 @@ void AliTPCv3::CreateGeometry()
   dm[7] = 50.;
   dm[8] = 76.;
 
-  dm[9] = -64.5;
+  dm[9] = 64.5;
   dm[10] = 50.;
   dm[11] = 76.;
 
@@ -769,7 +798,8 @@ void AliTPCv3::StepManager()
   Float_t ptot=mom.Rho();
   Float_t beta_gamma = ptot/gMC->TrackMass();
   
-  if(gMC->TrackPid() <= 3 && ptot > 0.002)
+  Int_t pid=gMC->TrackPid();
+  if((pid==kElectron || pid==kPositron || pid==kGamma) && ptot > 0.002)
     { 
       pp = prim*1.58; // electrons above 20 MeV/c are on the plateau!
     }