// andreas.morsch@cern.ch //
///////////////////////////////////////////////////////////////////////////////
-#include <TVirtualMC.h>
#include <TClonesArray.h>
+#include <TGeoCompositeShape.h>
+#include <TGeoGlobalMagField.h>
+#include <TGeoManager.h>
#include <TGeoMaterial.h>
-#include <TGeoMedium.h>
-#include <TGeoVolume.h>
#include <TGeoMatrix.h>
+#include <TGeoMedium.h>
#include <TGeoPgon.h>
+#include <TGeoVolume.h>
#include <TGeoXtru.h>
-#include <TGeoCompositeShape.h>
-#include <TGeoManager.h>
+#include <TVirtualMC.h>
#include "AliBCM.h"
#include "AliBCMHit.h"
+#include "AliBCMLoader.h"
#include "AliMagF.h"
#include "AliRun.h"
#include "AliMC.h"
//
static Float_t edepT;
- static Double_t xh[3] = {0., 0., 0.};
+ static Double_t xh[4] = {0., 0., 0., 0.};
Float_t edep = 0.;
Int_t copy = -1;
// Entering
if (gMC->IsTrackEntering()) {
edepT = 0.;
- gMC->TrackPosition(xh[0],xh[1],xh[2]);
+ gMC->TrackPosition(xh[0],xh[1],xh[2]);
+ xh[3] = gMC->TrackTime();
}
//
Float_t tmaxfd = -20. ; // Maximum angle due to field deflection
Float_t deemax = -.01; // Maximum fractional energy loss, DLS
Float_t stmin = -.8;
- Int_t isxfld = gAlice->Field()->Integ();
- Float_t sxmgmx = gAlice->Field()->Max();
+ Int_t isxfld = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Integ();
+ Float_t sxmgmx = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Max();
AliMaterial(1, "PCD", 12.011, 6., rho, radl, absl);
//
// const char *cR = strstr(option,"R");
// const char *cS = strstr(option,"S");
- if(cH && TreeH() && (fHits == 0x0)){
+ if(cH && fLoader->TreeH() && (fHits == 0x0)){
fHits = new TClonesArray("AliBCMHit");
fNhits = 0;
- MakeBranchInTree(TreeH(), "BCM" ,&fHits ,kBufSize, 0);
+ MakeBranchInTree(fLoader->TreeH(), "BCM" ,&fHits ,kBufSize, 0);
}
AliDetector::MakeBranch(option);
}
{
// Set branch address
- if (TreeH() && fHits==0x0)
+ if (fLoader->TreeH() && fHits==0x0)
fHits = new TClonesArray("AliBCMHit", 4000);
AliDetector::SetTreeAddress();
}
+
+//_____________________________________________________________________________
+AliLoader* AliBCM::MakeLoader(const char* topfoldername)
+{
+ //
+ // Builds BCM getter (AliLoader type)
+ AliDebug(1,Form("Creating AliBCMLoader, Top folder is %s ",topfoldername));
+ fLoader = new AliBCMLoader(GetName(),topfoldername);
+ return fLoader;
+}