* provided "as is" without express or implied warranty. *
**************************************************************************/
-/*
-$Log$
-Revision 1.22 2001/03/13 13:07:34 kowal2
-Corrected bug in the TPC mother volume geometry.
-Thanks to A. Morsch
-
-Revision 1.21 2000/11/30 11:48:50 kowal2
-TLorentzVector.h adde to satisfy the latest changes by Federico
-
-Revision 1.20 2000/11/14 10:48:57 kowal2
-Correct material used for TSA4. Thanks to J. Barbosa.
-
-Revision 1.19 2000/11/06 17:24:10 kowal2
-Corrected bug in the outer containment vessel and
-the outer field cage geometry.
-Thanks to J. Barbosa.
-
-Revision 1.18 2000/11/02 16:55:24 kowal2
-Corrected bug in the inner containment vessel geometry.
-Thanks to J. Belikov
-
-Revision 1.17 2000/11/02 07:24:11 kowal2
-Correction in the TPC geometry.
-Changes due to the new hit structure.
-
-Revision 1.16 2000/10/02 21:28:18 fca
-Removal of useless dependecies via forward declarations
-
-Revision 1.15 2000/07/10 20:57:39 hristov
-Update of TPC code and macros by M.Kowalski
-
-Revision 1.14 2000/06/30 12:07:50 kowal2
-Updated from the TPC-PreRelease branch
-
-Revision 1.13.2.4 2000/06/26 07:39:42 kowal2
-Changes to obey the coding rules
-
-Revision 1.13.2.3 2000/06/25 08:38:41 kowal2
-Splitted from AliTPCtracking
-
-Revision 1.13.2.2 2000/06/16 12:58:13 kowal2
-Changed parameter settings
-
-Revision 1.13.2.1 2000/06/09 07:15:07 kowal2
-
-Defaults loaded automatically (hard-wired)
-Optional parameters can be set via macro called in the constructor
-
-Revision 1.13 2000/05/15 10:00:30 kowal2
-Corrected bug in the TPC geometry, thanks to Ivana Hrivnacova
-
-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
-
-*/
+/* $Id$ */
//
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#include <stdlib.h>
+
+#include <TInterpreter.h>
+#include <TLorentzVector.h>
#include <TMath.h>
-#include "AliTPCv3.h"
-#include "AliRun.h"
-#include "AliMC.h"
+#include <TVirtualMC.h>
+#include <TPDGCode.h>
+
#include "AliConst.h"
+#include "AliRun.h"
#include "AliTPCDigitsArray.h"
-#include"AliTPCParam.h"
-#include"AliTPCParamSR.h"
-#include "AliPDG.h"
-#include <TInterpreter.h>
-#include "TLorentzVector.h"
-#include "AliTPCTrackHits.h"
+#include "AliTPCParam.h"
+#include "AliTPCParamSR.h"
+#include "AliTPCTrackHitsV2.h"
+#include "AliTPCv3.h"
ClassImp(AliTPCv3)
//_____________________________________________________________________________
//
dm[9]=-247.6;
- dm[10]=274.81;
+ dm[10]=274.8124;
dm[11]=278.;
//
dm[12]=253.6;
- dm[13]=274.81;
+ dm[13]=274.8124;
dm[14]=278.;
//
// Tpc SAndwich 1 - Al
- dm[0]=274.81;
+ dm[0]=274.8124;
dm[1]=278.;
dm[2]=252.1;
// Tpc SAndwich 4 - fiber glass (G10)
- dm[0] += 5.e-3;
- dm[1] -= 5.e-3;
+ dm[0] += 3.8e-3;
+ dm[1] -= 3.8e-3;
gMC->Gsvolu("TSA4","TUBE",idtmed[12],dm,3);
dm[9]=-250.6;
dm[10]=258.;
- dm[11]=260.05;
+ dm[11]=260.0476;
//
dm[12]=250.6;
dm[13]=258.;
- dm[14]=260.05;
+ dm[14]=260.0476;
//
dm[15]=250.6;
dm[16]=258.;
- dm[17]=275.5;
+ dm[17]=269.6;
//
dm[18]=253.6;
dm[19]=258.;
- dm[20]=275.5;
+ dm[20]=269.6;
gMC->Gsvolu("TOFC","PCON",idtmed[4],dm,21);
// Tpc SAndwich 6 - Tedlar
dm[0]= 258.;
- dm[1]= 260.05;
+ dm[1]= 260.0476;
dm[2]= 252.1;
gMC->Gsvolu("TSA6","TUBE",idtmed[9],dm,3);
// Tpc SAndwich 7 - fiber glass
- dm[0] += 5.e-3;
- dm[1] -= 5.e-3;
+ dm[0] += 3.8e-3;
+ dm[1] -= 3.8e-3;
gMC->Gsvolu("TSA7","TUBE",idtmed[12],dm,3);
//
dm[9]=-250.6;
- dm[10]=77.05;
+ dm[10]=77.0524;
dm[11]=79.2;
//
dm[12]=-88.;
- dm[13]=77.05;
+ dm[13]=77.0524;
dm[14]=79.2;
//
dm[15]=-88.;
- dm[16]=77.09;
+ dm[16]=77.0924;
dm[17]=79.16;
//
dm[18]=88.;
- dm[19]=77.09;
+ dm[19]=77.0924;
dm[20]=79.16;
//
dm[21]=88.;
- dm[22]=77.05;
+ dm[22]=77.0524;
dm[23]=79.2;
//
dm[24]=250.6;
- dm[25]=77.05;
+ dm[25]=77.0524;
dm[26]=79.2;
//
// Tpc Sandwich 9 -Tedlar
- dm[0]=77.09;
+ dm[0]=77.0924;
dm[1]=79.16;
dm[2]=88.;
// Tpc Sandwich 10 - fiber glass (G10)
- dm[0] += 5.e-3;
- dm[1] -= 5.e-3;
+ dm[0] += 3.8e-3;
+ dm[1] -= 3.8e-3;
gMC->Gsvolu("TS10","TUBE",idtmed[12],dm,3);
// Tpc Sandwich 12 -Tedlar
- dm[0]=77.05;
+ dm[0]=77.0524;
dm[1]=79.2;
dm[2]=82.05;
// Tpc Sandwich 13 - fiber glass (G10)
- dm[0] += 5.e-3;
- dm[1] -= 5.e-3;
+ dm[0] += 3.8e-3;
+ dm[1] -= 3.8e-3;
gMC->Gsvolu("TS13","TUBE",idtmed[12],dm,3);
dm[21]=253.6;
dm[22]=65.6;
- dm[23]=76.4;
+ dm[23]=74.6;
//
- dm[24]=256.3;
+ dm[24]=256.6;
dm[25]=65.6;
- dm[26]=76.4;
+ dm[26]=74.6;
gMC->Gsvolu("TICC","PCON",idtmed[4],dm,27);
//
dm[9]=-69.1;
- dm[10]=60.64;
+ dm[10]=60.6224;
dm[11]=61.2;
//
dm[12]=69.1;
- dm[13]=60.64;
+ dm[13]=60.6224;
dm[14]=61.2;
//
// Tpc Sandwich 15 - Al
- dm[0]=60.64;
+ dm[0]=60.6224;
dm[1]=61.2;
dm[2]=70.1;
gMC->Gsvolu("TS17","TUBE",idtmed[9],dm,3);
- // Tpc Sandwich 18 - fiber glass
+ // Tpc Sandwich 18 - carbon fiber
- dm[0] += 5.e-3;
- dm[1] -= 5.e-3;
+ dm[0] += 3.8e-3;
+ dm[1] -= 3.8e-3;
- gMC->Gsvolu("TS18","TUBE",idtmed[12],dm,3);
+ gMC->Gsvolu("TS18","TUBE",idtmed[15],dm,3);
// Tpc Sandwich 19 - Nomex
- dm[0] += 0.01;
- dm[1] -= 0.01;
+ dm[0] += 0.02;
+ dm[1] -= 0.02;
- gMC->Gsvolu("TS19","TUBE",idtmed[12],dm,3);
+ gMC->Gsvolu("TS19","TUBE",idtmed[6],dm,3);
// 19->18->17->16->15-> TICM
gMC->Gstpar(idtmed[2],"LOSS",5);
- printf("*** TPC version 3 initialized ***\n");
- printf("Maximum number of steps = %d\n",gMC->GetMaxNStep());
+ printf("%s: *** TPC version 3 initialized***\n",ClassName());
+
+ printf("%s: Maximum number of steps = %d\n",ClassName(),gMC->GetMaxNStep());
+
+ // printf("*** TPC version 3 initialized ***\n");
+ // printf("Maximum number of steps = %d\n",gMC->GetMaxNStep());
//
// Add this hit
- AddHit(gAlice->CurrentTrack(), vol,hits); //MI change
+ AddHit(gAlice->GetCurrentTrackNumber(), vol,hits); //MI change
}
}
else
{
+ betaGamma = TMath::Max(betaGamma,(Float_t)7.e-3);
pp=kprim*BetheBloch(betaGamma);
if(TMath::Abs(charge) > 1.) pp *= (charge*charge);
}
- Float_t random[1];
- gMC->Rndm(random,1); // good, old GRNDM from Geant3
-
- Double_t rnd = (Double_t)random[0];
+ Double_t rnd = gMC->GetRandom()->Rndm();
gMC->SetMaxStep(-TMath::Log(rnd)/pp);