fType = kConst;
fMap = 1;
- //////////////////////////////////////////////////////////////////////
- // ---- Magnetic field values (according to beam type and energy) ----
- if(fBeamType==kBeamTypepp && fBeamEnergy==5000.){
- // p-p @ 5+5 TeV
- fQuadGradient = 15.7145;
- fDipoleField = 27.0558;
- // SIDE C
- fCCorrField = 9.7017;
- // SIDE A
- fACorr1Field = -13.2143;
- fACorr2Field = -11.9909;
- } else if (fBeamType == kBeamTypepp && fBeamEnergy == 450.) {
- // p-p 0.45+0.45 TeV
- Float_t const kEnergyRatio = fBeamEnergy / 7000.;
-
- fQuadGradient = 22.0002 * kEnergyRatio;
- fDipoleField = 37.8781 * kEnergyRatio;
- // SIDE C
- fCCorrField = 9.6908 * kEnergyRatio;
- // SIDE A
- fACorr1Field = -13.2014;
- fACorr2Field = -9.6908;
- } else if ((fBeamType == kBeamTypepp && fBeamEnergy == 7000.) ||
- (fBeamType == kBeamTypeAA))
- {
- // Pb-Pb @ 2.7+2.7 TeV or p-p @ 7+7 TeV
- fQuadGradient = 22.0002;
- fDipoleField = 37.8781;
- // SIDE C
- fCCorrField = 9.6908;
- // SIDE A
- fACorr1Field = -13.2014;
- fACorr2Field = -9.6908;
- }
}
//________________________________________
// ---- This is the ZDC part
Float_t rad2 = x[0] * x[0] + x[1] * x[1];
+ static Bool_t init = kFALSE;
+
+ if (! init) {
+ init = kTRUE;
+ //////////////////////////////////////////////////////////////////////
+ // ---- Magnetic field values (according to beam type and energy) ----
+ if(fBeamType==kBeamTypepp && fBeamEnergy == 5000.){
+ // p-p @ 5+5 TeV
+ fQuadGradient = 15.7145;
+ fDipoleField = 27.0558;
+ // SIDE C
+ fCCorrField = 9.7017;
+ // SIDE A
+ fACorr1Field = -13.2143;
+ fACorr2Field = -11.9909;
+ } else if (fBeamType == kBeamTypepp && fBeamEnergy == 450.) {
+ // p-p 0.45+0.45 TeV
+ Float_t const kEnergyRatio = fBeamEnergy / 7000.;
+
+ fQuadGradient = 22.0002 * kEnergyRatio;
+ fDipoleField = 37.8781 * kEnergyRatio;
+ // SIDE C
+ fCCorrField = 9.6908;
+ // SIDE A
+ fACorr1Field = -13.2014;
+ fACorr2Field = -9.6908;
+ } else if ((fBeamType == kBeamTypepp && fBeamEnergy == 7000.) ||
+ (fBeamType == kBeamTypeAA))
+ {
+ // Pb-Pb @ 2.7+2.7 TeV or p-p @ 7+7 TeV
+ fQuadGradient = 22.0002;
+ fDipoleField = 37.8781;
+ // SIDE C
+ fCCorrField = 9.6908;
+ // SIDE A
+ fACorr1Field = -13.2014;
+ fACorr2Field = -9.6908;
+ }
+
+ printf("Machine field %5d %13.3f %13.3f \n", fBeamType, fBeamEnergy, fDipoleField);
+ }
+
// SIDE C **************************************************
if(x[2]<0.){
Bool_t fCompensator; // Flag for compensator magnetic field (kTrue -> ON)
BeamType_t fBeamType; // Beam type: A-A (fBeamType=0) or p-p (fBeamType=1)
Float_t fBeamEnergy; // Beam energy in GeV
- Float_t fQuadGradient;// Gradient field for inner triplet quadrupoles
- Float_t fDipoleField; // Field value for D1 and D2 dipoles
- Float_t fCCorrField; // Side C 2nd compensator field
- Float_t fACorr1Field; // Side A 1st compensator field
- Float_t fACorr2Field; // Side A 2nd compensator field
+ mutable Float_t fQuadGradient;// Gradient field for inner triplet quadrupoles
+ mutable Float_t fDipoleField; // Field value for D1 and D2 dipoles
+ mutable Float_t fCCorrField; // Side C 2nd compensator field
+ mutable Float_t fACorr1Field; // Side A 1st compensator field
+ mutable Float_t fACorr2Field; // Side A 2nd compensator field
ClassDef(AliMagFC,3) //Class for all Alice Constant MagField
};