The present commit corresponds to an important change in the way the
authorfca <fca@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 1 Feb 2009 11:42:22 +0000 (11:42 +0000)
committerfca <fca@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 1 Feb 2009 11:42:22 +0000 (11:42 +0000)
commitf7a1cc68313147ec921d4c82df1890abe00e4032
tree5b951e94ad8b9ea94234425cd5442b9c1e739f72
parentdb83d72f926bc0b26b9350f09e90c6c132674018
The present commit corresponds to an important change in the way the
Magnetic qField is used in AliRoot.

- Only one field will be supported, the Chebichev parametrisation
  developed by R.Shahoyan, with the name AliMagF. Different field
  strengths will be obtained by changing the scale factor for the
  dipole and the solenoid fields. Some highlights of these changes are
  here

- All other mag field classes and maps are deleted

- The field is accessed via a call to
  TGeoGlobalMagField::Instance()->Field(...) both in simulation and in
  reconstruction. This has involved changes in very many files in the
  following modules: ACORDE, BCM, EMCAL, EVE, FMD, HLT, HMPID, ITS,
  MONITOR, MUON, PHOS, PMD, PWG1, PWG3, RAW, STEER, STRUCT, T0, TOF,
  TPC, TRD, VZERO, ZDC, test.

- The modifications to account for the new field were done in the
  compilable code and in all the macro. These have now to be carefully
  tested by the authors.

- If your macros are creating the field, note that the field should be
  constructed as:

AliMagF* fld = new AliMagF(
const char *anyname,  // same as before, up to you
const char* anytitle, // same as before, ...
Int_t integ,          // same as before, geant
Double_t factorSol=1.,// scaling (including the sign) for the solenoid
Double_t factorDip=1.,// new parameter, scaling for dipole
Double_t fmax=15,     // same as before
BMap_t maptype = k5kG,// map type: choices are AliMagF::k5kG,
                    // AliMagF::k2kG and k5kGUniform
                    // the latter will provide former AliMagFC-like
                    // field: constant Bz for L3, BX parabolic in
                    // Z for dipole
const char* path="$(ALICE_ROOT)/data/maps/mfchebKGI_sym.root",
                    // parameterization file to use.
BeamType_t btype=kBeamTypepp, // used to define the field for ZDC,
                    // choices are: AliMagF::kBeamTypeAA,
                    // AliMagF::kBeamTypepp, liMagF::kNoBeamField
Double_t benergy=7000., // currently only 450, 5000 and 7000 are
                      //supported, will be changed soon
Bool_t compensator=kFALSE // this are compensator dipoles for the
                      // Muon dipole, most probably it will be
                      // eliminated soon, set it to kTRUE for
                      // the moment
);

- Note that in order to make the field available to Aliroot it should
  be registered by

TGeoGlobalMagField::Instance()->SetField(fld);

- The following lock will prevent the field from resetting:

TGeoGlobalMagField::Instance()->Lock();

- In the macros and in the code the field may be accessed via either
  direct call

TGeoGlobalMagField::Instance()->Field(const double* x,double *b)

  or casted to
AliMagF* fld = (AliMagF*)TGeoGlobalMagField::Instance()->GetField();

  in case you need the methods like GetTPCInt().

- Since many classes use only Bz component, I've added a new method
  AliMagF::GetBz(const double* x) which computes the Bz w/o spending
  the time on Bx,By.
241 files changed:
ACORDE/AliACORDE.cxx
ACORDE/macros/Config.C
BCM/AliBCM.cxx
BCM/Config_BCM.C
EMCAL/AliEMCAL.cxx
EMCAL/AliEMCALTrack.cxx
EMCAL/AliEMCALTrack.h
EMCAL/beamtest07/Rec.C
EMCAL/jetfinder/AliEMCALJetFinder.cxx
EMCAL/jetfinder/AliEMCALJetFinderAlgo.cxx
EMCAL/jetfinder/AliEMCALJetFinderInputSimPrep.cxx
EMCAL/macros/Config.C
EMCAL/macros/TestEMCALReconstruction.C
EVE/EveBase/AliEveEventManager.cxx
EVE/EveBase/AliEveEventManager.h
EVE/EveDet/AliEveMUONTrack.cxx
EVE/EveDet/AliEveMUONTrack.h
EVE/alice-macros/MUON_displayData.C
EVE/alice-macros/MUON_displaySimu.C
EVE/alice-macros/kine_tracks.C
EVE/alice-macros/trd_qaRec.C
FMD/AliFMD.cxx
FMD/Config.C
FMD/scripts/DummyConfig.C
FMD/scripts/pdc06_config.C
GRP/UpdateCDBGRPEntryMC.C
HLT/ITS/AliHLTITStracker.cxx
HLT/ITS/RunHLTITS.C
HLT/TPCLib/AliHLTTPCTransform.cxx
HLT/TPCLib/macros/activePadsTest.C
HLT/TPCLib/macros/cal-hlt-tpc-offline.C
HLT/TPCLib/macros/histogramHandlerTest.C
HLT/TPCLib/macros/rec-hlt-tpc-ca.C
HLT/TPCLib/macros/rec-hlt-tpc-offline.C
HLT/TPCLib/macros/rec-hlt-tpc-tracks.C
HLT/TPCLib/macros/rec-hlt-tpc.C
HLT/TPCLib/offline/AliHLTTPCOfflineClustererComponent.cxx
HLT/TPCLib/offline/AliHLTTPCOfflineTrackerCalibComponent.cxx
HLT/TPCLib/offline/AliHLTTPCOfflineTrackerComponent.cxx
HLT/TRD/AliHLTTRDTrackerComponent.cxx
HLT/TRD/AliHLTTRDTrackerComponent.h
HLT/TRD/AliHLTTRDTrackerV1Component.cxx
HLT/TRD/AliHLTTRDTrackerV1Component.h
HLT/global/macros/rec-hlt-global-merger.C
HLT/sim/AliHLTSimulation.cxx
HMPID/AliHMPIDtrack.cxx
HMPID/AliHMPIDtrack.h
HMPID/AliHMPIDv1.cxx
HMPID/AliHMPIDv2.cxx
HMPID/AliHMPIDv3.cxx
HMPID/Hconfig.C
HMPID/Hnew.C
ITS/AliCascadeFindVertices.C
ITS/AliITSFindTracksANN.C
ITS/AliITSFindTracksSA.C
ITS/AliITSTrackV1.cxx
ITS/AliITSTrackerV1.cxx
ITS/AliITSsimulationSPD.cxx
ITS/AliITStrackV2.cxx
ITS/AliITStrackV2.h
ITS/AliITStrackerMI.cxx
ITS/AliITStrackerV2.cxx
ITS/AliITSv11Geometry.cxx
ITS/AliITSv11GeometrySPD.cxx
ITS/AliITSv11Hybrid.cxx
ITS/AliITSvBeamTestITS04.cxx
ITS/AliITSvPPRasymmFMD.cxx
ITS/AliITSvPPRcoarseasymm.cxx
ITS/AliITSvSDD03.cxx
ITS/AliITSvSPD02.cxx
ITS/AliITSvSSD03.cxx
ITS/ConfigSDD03.C
ITS/ConfigSPD02.C
ITS/ConfigSSD03.C
ITS/oldmacros/AliITSVertexerTracksTest2.C
MONITOR/galice.C
MONITOR/monitorGDC.cxx
MUON/AliMUONCheck.cxx
MUON/AliMUONCommonGeometryBuilder.cxx
MUON/AliMUONSt1GeometryBuilderV2.cxx
MUON/AliMUONTrackExtrap.cxx
MUON/AliMUONTrackExtrap.h
MUON/AliMUONTrackHitPattern.cxx
MUON/AliMUONVTrackReconstructor.cxx
MUON/AliMUONv1.cxx
MUON/Config.C
MUON/DecodeRecoCocktail.C
MUON/Doxymodules_STEER.h
MUON/MUONAlignment.C
MUON/MUONClusterInfo.C
MUON/MUONRecoCheck.C
MUON/MUONRefit.C
MUON/MUONResoEffChamber.C
MUON/MUONefficiency.C
MUON/MUONmassPlot_ESD.C
MUON/runDataReconstruction.C
MUON/runReconstruction.C
PHOS/AliPHOS.cxx
PHOS/ConfigTestSuite.C
PHOS/macros/AlignmentDB/Config.C
PHOS/macros/Embed/Config.C
PHOS/macros/testSuite/ConfigTestSuite.C
PHOS/macros/testSuite/ConfigTestSuiteHij.C
PMD/AliPMDRec.C
PMD/AliPMDv0.cxx
PMD/AliPMDv1.cxx
PMD/AliPMDv2008.cxx
PMD/AliPMDv3.cxx
PWG1/AliComparisonEff.cxx
PWG1/AliComparisonEff.h
PWG1/AliComparisonTask.cxx
PWG1/AliComparisonTask.h
PWG1/AliRecInfoMaker.cxx
PWG1/Macros/RunAliComparisonTask.C
PWG3/muondep/AliAnalysisTaskMuonTrackingEff.cxx
PWG3/muondep/AliAnalysisTaskRecoCheck.cxx
RAW/AliHoughFilter.cxx
STEER/AliESDComparisonMI.C
STEER/AliMC.cxx
STEER/AliMC.h
STEER/AliMagFC.cxx [deleted file]
STEER/AliMagFC.h [deleted file]
STEER/AliMagFCM.cxx [deleted file]
STEER/AliMagFCM.h [deleted file]
STEER/AliMagFCheb.cxx [deleted file]
STEER/AliMagFCheb.h [deleted file]
STEER/AliMagFDM.cxx [deleted file]
STEER/AliMagFDM.h [deleted file]
STEER/AliMagFMaps.cxx [deleted file]
STEER/AliMagFMaps.h [deleted file]
STEER/AliMagFMapsV1.cxx [deleted file]
STEER/AliMagFMapsV1.h [deleted file]
STEER/AliReconstruction.cxx
STEER/AliReconstruction.h
STEER/AliRun.cxx
STEER/AliRun.h
STEER/AliSimulation.cxx
STEER/AliSimulation.h
STEER/AliTrackPointArray.cxx
STEER/AliTracker.cxx
STEER/AliTracker.h
STEER/AliVTrack.cxx
STEER/AliVTrack.h
STRUCT/AliABSO.cxx
STRUCT/AliBODY.cxx
STRUCT/AliDIPOv2.cxx
STRUCT/AliFRAMEv2.cxx
STRUCT/AliHALL.cxx
STRUCT/AliMAG.cxx
STRUCT/AliPIPEv0.cxx
STRUCT/AliPIPEv1.cxx
STRUCT/AliPIPEv3.cxx
STRUCT/AliPIPEvTemp.cxx
STRUCT/AliSHIL.cxx
T0/AliT0v0.cxx
T0/AliT0v1.cxx
T0/AliT0v2.cxx
TFluka/macro/FlukaConfig.C
TOF/AliTOFconfig.C
TOF/AliTOFtrack.cxx
TOF/AliTOFtrack.h
TOF/AliTOFv4T0.cxx
TOF/AliTOFv5T0.cxx
TOF/AliTOFv6T0.cxx
TPC/AliL1Delay.C
TPC/AliTPC.cxx
TPC/AliTPCExB.cxx
TPC/AliTPCExBExact.cxx
TPC/AliTPCExBExact.h
TPC/AliTPCExBFirst.cxx
TPC/AliTPCExBFirst.h
TPC/AliTPCFindTracksMI.C
TPC/AliTPCHits2SDigits.C
TPC/AliTPCReconstructor.cxx
TPC/AliTPCTracklet.cxx
TPC/AliTPCcalibCosmic.cxx
TPC/AliTPCcalibDB.cxx
TPC/AliTPCcalibTime.cxx
TPC/AliTPCcalibUnlinearity.cxx
TPC/AliTPCtrack.cxx
TPC/AliTPCtrack.h
TPC/AliTPCtrackerParam.cxx
TPC/AliTPCtrackingParamDB.C
TPC/AnalyzeESDtracks.C
TPC/Cal/AliTPCCreateDummyCDB.C
TPC/CalibMacros/CalibExB.C
TPC/ConfigKr.C
TPC/macros/ConfigOCDB.C
TPC/macros/TestV0.C
TPC/macros/recMag5.C
TPC/macros/recTPC2007.C
TPC/macros/testTPC/rec.C
TPC/recTPC.C
TPC/testMC/ConfigCosmic.C
TPC/testMC/ConfigHM.C
TPC/testMC/ConfigHPT.C
TPC/testMC/ConfigHPT1.C
TPC/testMC/ConfigLM.C
TPC/testMC/ConfigPP.C
TPC/testMC/Config_AliGenCosmicsParam.C
TPC/testMC/recMC.C
TPHIC/ConfigTPHIC.C
TRD/AliTRD.cxx
TRD/AliTRDdigitizer.cxx
TRD/AliTRDtrackV1.cxx
TRD/AliTRDtrackV1.h
TRD/Macros/AliTRDConfigPID.C
TRD/qaRec/AliTRDtrackingEfficiency.cxx
TRD/qaRec/AliTRDtrackingEfficiencyCombined.cxx
TRD/qaRec/run.C
VZERO/AliVZEROv2.cxx
VZERO/AliVZEROv3.cxx
VZERO/AliVZEROv4.cxx
VZERO/AliVZEROv5.cxx
VZERO/AliVZEROv6.cxx
VZERO/AliVZEROv7.cxx
ZDC/AliZDCv1.cxx
ZDC/ConfigGenZDC.C
doc/aliroot-primer/scripts/Config.C
macros/Config.C
macros/ConfigPPR.C
macros/Config_AliGenCosmicsParam.C
macros/Config_PDC06.C
macros/Config_PDC06_MUON.C
macros/Config_PDC07_MBias_MUON.C
macros/Config_PythiaHeavyFlavours.C
macros/g4ConfigCommon.C
macros/plotField.C
test/PbPbbench/Config.C
test/QA/Config.C
test/cosmic/rec.C
test/embedding/Config.C
test/fpprod/Config.C
test/genkine/runtest.sh
test/genkine/sim/Config.C
test/gun/Config.C
test/merge/backgr/Config.C
test/merge/signal/Config.C
test/pileup/Config.C
test/ppbench/Config.C
test/pploadlibs/Config.C