]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCv3.cxx
Proposal for an event header class for generated events.
[u/mrichter/AliRoot.git] / TPC / AliTPCv3.cxx
index cacd8aff0403ab3ffea27f7d754d28353367c810..91204433d93cfc3e597ebb3c2f5ffff93198fd2a 100644 (file)
 
 /*
 $Log$
+Revision 1.12  2000/04/17 09:37:33  kowal2
+removed obsolete AliTPCDigitsDisplay.C
+
+Revision 1.11.8.2  2000/04/10 08:36:12  kowal2
+
+Updated readout chambers
+Some modifications to StepManager by M. Kowalski
+
+Revision 1.11.8.1  2000/04/10 07:56:53  kowal2
+Not used anymore - removed
+
+Revision 1.11  1999/11/04 17:28:07  fca
+Correct barrel part of HV Degrader
+
+Revision 1.10  1999/10/14 16:52:08  fca
+Only use PDG codes and not GEANT ones
+
+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
 
@@ -35,12 +58,12 @@ Introduction of the Copyright and cvs Log
 
 #include <stdlib.h>
 #include <TMath.h>
-
 #include "AliTPCv3.h"
 #include "AliRun.h"
 #include "AliConst.h"
-#include "AliTPCD.h"
-#include "AliTPCParam.h"
+#include "AliTPCDigitsArray.h"
+#include"AliTPCParam.h"
+#include "AliPDG.h"
 
 ClassImp(AliTPCv3)
  
@@ -49,7 +72,7 @@ AliTPCv3::AliTPCv3(const char *name, const char *title) :
   AliTPC(name, title) 
 {
   //
-  // Standard constructor for Time Projection Chamber version 2
+  // Standard constructor for Time Projection Chamber version 3
   //
 
   SetBufferSize(128000);
@@ -59,8 +82,8 @@ AliTPCv3::AliTPCv3(const char *name, const char *title) :
 void AliTPCv3::CreateGeometry()
 {
   //
-  // Creation of the TPC coarse geometry (version 0)
-  // Origin Marek Kowalski Crakow
+  // Creation of the TPC coarse geometry (version 3)
+  // Origin Marek Kowalski Cracow
   //
   //Begin_Html
   /*
@@ -73,8 +96,6 @@ void AliTPCv3::CreateGeometry()
   */
   //End_Html
 
-  AliTPCParam * fTPCParam = &(fDigParam->GetParam());
-
   Int_t *idtmed = fIdtmed->GetArray();
 
   Float_t dm[21];
@@ -177,20 +198,20 @@ void AliTPCv3::CreateGeometry()
   Int_t nOuterSector = fTPCParam->GetNOuterSector()/2;
 
 
-  Float_t InSecLowEdge = fTPCParam->GetInSecLowEdge();
-  Float_t InSecUpEdge =  fTPCParam->GetInSecUpEdge();
+  Float_t InSecLowEdge = fTPCParam->GetInnerRadiusLow();
+  Float_t InSecUpEdge =  fTPCParam->GetInnerRadiusUp();
 
-  Float_t OuSecLowEdge = fTPCParam->GetOuSecLowEdge();
-  Float_t OuSecUpEdge = fTPCParam->GetOuSecUpEdge();
+  Float_t OuSecLowEdge = fTPCParam->GetOuterRadiusLow();
+  Float_t OuSecUpEdge = fTPCParam->GetOuterRadiusUp();
 
   Float_t SecThick = 2.225; // Al
 
-  Float_t edge = fTPCParam->GetEdge();
+  Float_t LowEdge = fTPCParam->GetInnerFrameSpace();
 
   //  S (Inner) sectors
 
-  dm[0] = InSecLowEdge*TMath::Tan(0.5*InnerOpenAngle)-edge;
-  dm[1] = InSecUpEdge*TMath::Tan(0.5*InnerOpenAngle)-edge;
+  dm[0] = InSecLowEdge*TMath::Tan(0.5*InnerOpenAngle)-LowEdge;
+  dm[1] = InSecUpEdge*TMath::Tan(0.5*InnerOpenAngle)-LowEdge;
   dm[2] = SecThick;
   dm[3] = 0.5*(InSecUpEdge-InSecLowEdge);
 
@@ -200,8 +221,10 @@ void AliTPCv3::CreateGeometry()
 
   //  L (Outer) sectors
 
-  dm[0] = OuSecLowEdge*TMath::Tan(0.5*OuterOpenAngle)-edge;
-  dm[1] = OuSecUpEdge*TMath::Tan(0.5*OuterOpenAngle)-edge;
+  Float_t UpEdge = fTPCParam->GetOuterFrameSpace();
+
+  dm[0] = OuSecLowEdge*TMath::Tan(0.5*OuterOpenAngle)-UpEdge;
+  dm[1] = OuSecUpEdge*TMath::Tan(0.5*OuterOpenAngle)-UpEdge;
   dm[2] = SecThick;
   dm[3] = 0.5*(OuSecUpEdge-OuSecLowEdge);
 
@@ -350,15 +373,6 @@ void AliTPCv3::CreateGeometry()
   gMC->Gspos("TPOV",1,"TPCO",0.,0.,0.,0,"ONLY");
 
 
-  // G10 plugs
-
-  dm[0] = 258.;
-  dm[1] = 260.;
-  dm[2] = 1.;
-
-  gMC->Gsvolu("TPG1","TUBE",idtmed[8],dm,3);
-  gMC->Gspos("TPG1",1,"TPCO",0.,0.,251.,0,"ONLY");
-  gMC->Gspos("TPG1",2,"TPCO",0.,0.,-251.,0,"ONLY");  
 
   gMC->Gspos("TPCO",1,"TPC ",0.,0.,0.,0,"ONLY");
 
@@ -568,7 +582,7 @@ void AliTPCv3::CreateGeometry()
   dm[7] = 50.;
   dm[8] = 76.;
 
-  dm[9] = -64.5;
+  dm[9] = 64.5;
   dm[10] = 50.;
   dm[11] = 76.;
 
@@ -602,7 +616,7 @@ void AliTPCv3::CreateGeometry()
 
   dm[0] = 50.;
   dm[1] = 50.5;
-  dm[2] = 32.25;
+  dm[2] = 64.5;
 
   gMC->Gsvolu("TIVB","TUBE",idtmed[9],dm,3);
 
@@ -791,7 +805,8 @@ void AliTPCv3::StepManager()
   Float_t ptot=mom.Rho();
   Float_t beta_gamma = ptot/gMC->TrackMass();
   
-  if(gMC->IdFromPDG(gMC->TrackPid()) <= 3 && ptot > 0.002)
+  Int_t pid=gMC->TrackPid();
+  if((pid==kElectron || pid==kPositron) && ptot > 0.002)
     { 
       pp = prim*1.58; // electrons above 20 MeV/c are on the plateau!
     }