// //
///////////////////////////////////////////////////////////////////////////////
-#include "TBRIK.h"
-#include "TGeometry.h"
#include "TLorentzVector.h"
-#include "TNode.h"
#include "TVirtualMC.h"
#include "AliConst.h"
#include "AliMagF.h"
#include "AliMC.h"
#include "AliRun.h"
+#include "AliTrackReference.h"
#include "AliTOFGeometry.h"
#include "AliTOFGeometryV4.h"
ClassImp(AliTOFv4T0)
//_____________________________________________________________________________
-AliTOFv4T0::AliTOFv4T0()
+ AliTOFv4T0::AliTOFv4T0():
+ fIdFTOA(-1),
+ fIdFTOB(-1),
+ fIdFTOC(-1),
+ fIdFLTA(-1),
+ fIdFLTB(-1),
+ fIdFLTC(-1),
+ fTOFHoles(kFALSE)
{
//
// Default constructor
}
//_____________________________________________________________________________
-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
// Save the geometry
TDirectory* saveDir = gDirectory;
- gAlice->GetRunLoader()->CdGAFile();
+ AliRunLoader::Instance()->CdGAFile();
fTOFGeometry->Write("TOFgeometry");
saveDir->cd();
}
-
-//____________________________________________________________________________
-void AliTOFv4T0::BuildGeometry()
-{
- //
- // Build TOF ROOT geometry for the ALICE event display
- //
- TNode *node, *top;
- const int kColorTOF = 27;
-
- TGeometry *globalGeometry = (TGeometry*)gAlice->GetGeometry();
-
- // Find top TNODE
- top = (TNode*)globalGeometry->GetNode("alice");
-
- // Position the different copies
- const Float_t krTof =(fTOFGeometry->Rmax()+fTOFGeometry->Rmin())/2.;
- const Float_t khTof = fTOFGeometry->Rmax()-fTOFGeometry->Rmin();
- const Int_t kNTof = fTOFGeometry->NSectors();
- const Float_t kPi = TMath::Pi();
- const Float_t kangle = 2*kPi/kNTof;
- Float_t ang;
-
- // define offset for nodes
- Float_t zOffsetC = fTOFGeometry->MaxhZtof() - fTOFGeometry->ZlenC()*0.5;
- Float_t zOffsetB = fTOFGeometry->MaxhZtof() - fTOFGeometry->ZlenC() - fTOFGeometry->ZlenB()*0.5;
- Float_t zOffsetA = 0.;
- // Define TOF basic volume
-
- char nodeName0[7], nodeName1[7], nodeName2[7];
- char nodeName3[7], nodeName4[7], rotMatNum[7];
-
- new TBRIK("S_TOF_C","TOF box","void",
- fTOFGeometry->StripLength()*0.5, khTof*0.5, fTOFGeometry->ZlenC()*0.5);
- new TBRIK("S_TOF_B","TOF box","void",
- fTOFGeometry->StripLength()*0.5, khTof*0.5, fTOFGeometry->ZlenB()*0.5);
- new TBRIK("S_TOF_A","TOF box","void",
- fTOFGeometry->StripLength()*0.5, khTof*0.5, fTOFGeometry->ZlenA()*0.5);
-
- for (Int_t nodeNum=1;nodeNum<19;nodeNum++){
-
- if (nodeNum<10) {
- sprintf(rotMatNum,"rot50%i",nodeNum);
- sprintf(nodeName0,"FTO00%i",nodeNum);
- sprintf(nodeName1,"FTO10%i",nodeNum);
- sprintf(nodeName2,"FTO20%i",nodeNum);
- sprintf(nodeName3,"FTO30%i",nodeNum);
- sprintf(nodeName4,"FTO40%i",nodeNum);
- }
- if (nodeNum>9) {
- sprintf(rotMatNum,"rot5%i",nodeNum);
- sprintf(nodeName0,"FTO0%i",nodeNum);
- sprintf(nodeName1,"FTO1%i",nodeNum);
- sprintf(nodeName2,"FTO2%i",nodeNum);
- sprintf(nodeName3,"FTO3%i",nodeNum);
- sprintf(nodeName4,"FTO4%i",nodeNum);
- }
-
- new TRotMatrix(rotMatNum,rotMatNum,90,-20*nodeNum,90,90-20*nodeNum,0,0);
- ang = (4.5-nodeNum) * kangle;
-
- top->cd();
- node = new TNode(nodeName0,nodeName0,"S_TOF_C", krTof*TMath::Cos(ang), krTof*TMath::Sin(ang), zOffsetC,rotMatNum);
- node->SetLineColor(kColorTOF);
- fNodes->Add(node);
-
- top->cd();
- node = new TNode(nodeName1,nodeName1,"S_TOF_C", krTof*TMath::Cos(ang), krTof*TMath::Sin(ang),-zOffsetC,rotMatNum);
- node->SetLineColor(kColorTOF);
- fNodes->Add(node);
-
- top->cd();
- node = new TNode(nodeName2,nodeName2,"S_TOF_B", krTof*TMath::Cos(ang), krTof*TMath::Sin(ang), zOffsetB,rotMatNum);
- node->SetLineColor(kColorTOF);
- fNodes->Add(node);
-
- top->cd();
- node = new TNode(nodeName3,nodeName3,"S_TOF_B", krTof*TMath::Cos(ang), krTof*TMath::Sin(ang),-zOffsetB,rotMatNum);
- node->SetLineColor(kColorTOF);
- fNodes->Add(node);
-
- top->cd();
- node = new TNode(nodeName4,nodeName4,"S_TOF_A", krTof*TMath::Cos(ang), krTof*TMath::Sin(ang), zOffsetA,rotMatNum);
- node->SetLineColor(kColorTOF);
- fNodes->Add(node);
- } // end loop on nodeNum
-
-}
//_____________________________________________________________________________
void AliTOFv4T0::CreateGeometry()
// Revision: F. Pierella 18-VI-2002
//
- AliMagF *magneticField = (AliMagF*)gAlice->Field();
+ AliMagF *magneticField = (AliMagF*)((AliMagF*)TGeoGlobalMagField::Instance()->GetField());
Int_t isxfld = magneticField->Integ();
Float_t sxmgmx = magneticField->Max();
AliMC *mcApplication = (AliMC*)gAlice->GetMCApp();
- AddTrackReference(mcApplication->GetCurrentTrackNumber());
+ AddTrackReference(mcApplication->GetCurrentTrackNumber(), AliTrackReference::kTOF);
//AddTrackReference(gAlice->GetMCApp()->GetCurrentTrackNumber());
// getting information about hit volumes