X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliMagFMaps.cxx;h=5ac11cb50787febb5d002e3beb2c4d2ab9dc42a6;hb=d47d42ee3a97ab2826c47361817793c83be47ac1;hp=aa2d7bf369d89d85fa08a541e348002ea9e00e6f;hpb=3010c308f6e4ec63eca9ee50a890049038e342b7;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliMagFMaps.cxx b/STEER/AliMagFMaps.cxx index aa2d7bf369d..5ac11cb5078 100644 --- a/STEER/AliMagFMaps.cxx +++ b/STEER/AliMagFMaps.cxx @@ -93,7 +93,6 @@ AliMagFMaps::~AliMagFMaps() delete fFieldMap[0]; delete fFieldMap[1]; delete fFieldMap[2]; - fgReadField = kTRUE; } //_______________________________________________________________________ @@ -103,10 +102,12 @@ void AliMagFMaps::ReadField() // // don't read twice // - if (!fgReadField) return; - fgReadField = 0; + if (!fReadField) return; + fReadField = kFALSE; // - char* fname; + + + char* fname = 0; TFile* file = 0; if (fMap == k2kG) { fSolenoid = 2.; @@ -115,17 +116,19 @@ void AliMagFMaps::ReadField() fFieldMap[0] = dynamic_cast(file->Get("L3B02")); file->Close(); delete file; + delete [] fname; // see documentation to expand filenam fname = gSystem->ExpandPathName("$(ALICE_ROOT)/data/maps/DipB02.root"); file = new TFile(fname); fFieldMap[1] = dynamic_cast(file->Get("DipB02")); file->Close(); delete file;; - + delete [] fname; fname = gSystem->ExpandPathName("$(ALICE_ROOT)/data/maps/ExtB02.root"); file = new TFile(fname); fFieldMap[2] = dynamic_cast(file->Get("ExtB02")); file->Close(); delete file; + delete [] fname; } else if (fMap == k4kG) { fSolenoid = 4.; fname = gSystem->ExpandPathName("$(ALICE_ROOT)/data/maps/L3B04.root"); @@ -133,16 +136,19 @@ void AliMagFMaps::ReadField() fFieldMap[0] = dynamic_cast(file->Get("L3B04")); file->Close(); delete file; + delete [] fname; fname = gSystem->ExpandPathName("$(ALICE_ROOT)/data/maps/DipB04.root"); file = new TFile(fname); fFieldMap[1] = dynamic_cast(file->Get("DipB04")); file->Close(); + delete [] fname; delete file; fname = gSystem->ExpandPathName("$(ALICE_ROOT)/data/maps/ExtB04.root"); file = new TFile(fname); fFieldMap[2] = dynamic_cast(file->Get("ExtB04")); file->Close(); + delete [] fname; delete file; } else if (fMap == k5kG) { fSolenoid = 5.; @@ -150,18 +156,20 @@ void AliMagFMaps::ReadField() file = new TFile(fname); fFieldMap[0] = dynamic_cast(file->Get("L3B05")); file->Close(); - delete file; + delete file; + delete [] fname; fname = gSystem->ExpandPathName("$(ALICE_ROOT)/data/maps/DipB05.root"); file = new TFile(fname); fFieldMap[1] = dynamic_cast(file->Get("DipB05")); file->Close(); delete file; - + delete [] fname; fname = gSystem->ExpandPathName("$(ALICE_ROOT)/data/maps/ExtB05.root"); file = new TFile(fname); fFieldMap[2] = dynamic_cast(file->Get("ExtB05")); file->Close(); delete file; + delete [] fname; } if (!fL3Option) fSolenoidUser = fSolenoid; @@ -221,21 +229,19 @@ void AliMagFMaps::Field(Float_t *x, Float_t *b) const } if(map){ - map->Field(xm,b); - b[0] = - b[0]; - b[2] = - b[2]; - + map->Field(xm,b); + b[0] = - b[0]; + b[2] = - b[2]; + + if(fFactor!=1) { + b[0]*=fFactor; + b[1]*=fFactor; + b[2]*=fFactor; + } } else { //This is the ZDC part ZDCField(x, b); } - - - if(fFactor!=1) { - b[0]*=fFactor; - b[1]*=fFactor; - b[2]*=fFactor; - } } //_______________________________________________________________________ @@ -252,9 +258,11 @@ void AliMagFMaps::Streamer(TBuffer &R__b) { // Stream an object of class AliMagFMaps. if (R__b.IsReading()) { - AliMagFMaps::Class()->ReadBuffer(R__b, this); - ReadField(); + R__b.ReadClassBuffer(AliMagFMaps::Class(), this); + // + fReadField = kTRUE; + ReadField(); } else { - AliMagFMaps::Class()->WriteBuffer(R__b, this); + R__b.WriteClassBuffer(AliMagFMaps::Class(), this); } }