]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFv4T0.cxx
Add required AliVParticle functionality (Markus)
[u/mrichter/AliRoot.git] / TOF / AliTOFv4T0.cxx
index 8ecca1758da55f4e65522a95de6d8c0da1a444d7..c3cba263b112cd79000b053e6800e91324002057 100644 (file)
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
 
-#include <Riostream.h>
-#include <stdlib.h>
-
+#include "TBRIK.h"
+#include "TGeometry.h"
+#include "TLorentzVector.h"
+#include "TNode.h"
 #include "TVirtualMC.h"
-#include <TBRIK.h>
-#include <TGeometry.h>
-#include <TLorentzVector.h>
-#include <TNode.h>
-#include <TObject.h>
-#include <TVirtualMC.h>
 
-#include "AliLog.h"
 #include "AliConst.h"
-#include "AliRun.h"
-#include "AliMC.h"
+#include "AliLog.h"
 #include "AliMagF.h"
+#include "AliMC.h"
+#include "AliRun.h"
+#include "AliTrackReference.h"
 
 #include "AliTOFGeometry.h"
 #include "AliTOFGeometryV4.h"
 #include "AliTOFv4T0.h"
 
+extern TDirectory *gDirectory;
+extern TVirtualMC *gMC;
+
+extern AliRun *gAlice;
+
 ClassImp(AliTOFv4T0)
 
 //_____________________________________________________________________________
-AliTOFv4T0::AliTOFv4T0()
+  AliTOFv4T0::AliTOFv4T0():
+  fIdFTOA(-1),
+  fIdFTOB(-1),
+  fIdFTOC(-1),
+  fIdFLTA(-1),
+  fIdFLTB(-1),
+  fIdFLTC(-1),
+  fTOFHoles(kFALSE)
 {
   //
   // Default constructor
@@ -69,8 +77,15 @@ AliTOFv4T0::AliTOFv4T0()
 }
  
 //_____________________________________________________________________________
-AliTOFv4T0::AliTOFv4T0(const char *name, const char *title)
-        : AliTOF(name,title,"tzero")
+AliTOFv4T0::AliTOFv4T0(const char *name, const char *title):
+  AliTOF(name,title,"tzero"),
+  fIdFTOA(-1),
+  fIdFTOB(-1),
+  fIdFTOC(-1),
+  fIdFLTA(-1),
+  fIdFLTB(-1),
+  fIdFLTC(-1),
+  fTOFHoles(kFALSE)
 {
   //
   // Standard constructor
@@ -80,7 +95,7 @@ AliTOFv4T0::AliTOFv4T0(const char *name, const char *title)
   // put TOF
 
 
-  AliModule* frame=gAlice->GetModule("FRAME");
+  AliModule* frame = (AliModule*)gAlice->GetModule("FRAME");
   if(!frame) {
     AliFatal("TOF needs FRAME to be present");
   } else{
@@ -116,8 +131,10 @@ void AliTOFv4T0::BuildGeometry()
   TNode *node, *top;
   const int kColorTOF  = 27;
   
+  TGeometry *globalGeometry = (TGeometry*)gAlice->GetGeometry();
+
   // Find top TNODE
-  top = gAlice->GetGeometry()->GetNode("alice");
+  top = (TNode*)globalGeometry->GetNode("alice");
   
   // Position the different copies
   const Float_t krTof  =(fTOFGeometry->Rmax()+fTOFGeometry->Rmin())/2.;
@@ -707,7 +724,7 @@ void AliTOFv4T0::DrawModule() const
   gMC->Gdopt("hide","off");
 }
 //_____________________________________________________________________________
-void AliTOFv4T0::DrawDetectorModules()
+void AliTOFv4T0::DrawDetectorModules() const
 {
 //
 // Draw a shaded view of the TOF detector version 4
@@ -779,7 +796,7 @@ void AliTOFv4T0::DrawDetectorModules()
 }                                 
 
 //_____________________________________________________________________________
-void AliTOFv4T0::DrawDetectorStrips()
+void AliTOFv4T0::DrawDetectorStrips() const
 {
   //
   // Draw a shaded view of the TOF strips for version 4
@@ -906,9 +923,11 @@ void AliTOFv4T0::CreateMaterials()
   // Revision: F. Pierella 18-VI-2002
   //
 
-  Int_t   isxfld = gAlice->Field()->Integ();
-  Float_t sxmgmx = gAlice->Field()->Max();
-  //
+  AliMagF *magneticField = (AliMagF*)gAlice->Field();
+
+  Int_t   isxfld = magneticField->Integ();
+  Float_t sxmgmx = magneticField->Max();
+
   //--- Quartz (SiO2) to simulate float glass
   //    density tuned to have correct float glass 
   //    radiation length
@@ -1095,13 +1114,16 @@ void AliTOFv4T0::StepManager()
   if(
      gMC->IsTrackEntering()
      && gMC->TrackCharge()
-     && gMC->GetMedium()==idtmed[513]
+     //&& gMC->GetMedium()==idtmed[513]
      && gMC->CurrentMedium()==idtmed[513]
      && gMC->CurrentVolID(copy)==fIdSens
      )
   {
 
-    AddTrackReference(gAlice->GetMCApp()->GetCurrentTrackNumber());
+    AliMC *mcApplication = (AliMC*)gAlice->GetMCApp();
+
+    AddTrackReference(mcApplication->GetCurrentTrackNumber(), AliTrackReference::kTOF);
+    //AddTrackReference(gAlice->GetMCApp()->GetCurrentTrackNumber());
 
     // getting information about hit volumes
     
@@ -1216,6 +1238,7 @@ void AliTOFv4T0::StepManager()
     vol[3]= padx;
     vol[4]= padz;    
 
-    AddT0Hit(gAlice->GetMCApp()->GetCurrentTrackNumber(),vol, hits);
+    AddT0Hit(mcApplication->GetCurrentTrackNumber(),vol, hits);
+    //AddT0Hit(gAlice->GetMCApp()->GetCurrentTrackNumber(),vol, hits);
   }
 }