]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Adding the data member for the nominal solenoid field
authorbelikov <belikov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 28 Apr 2008 13:54:14 +0000 (13:54 +0000)
committerbelikov <belikov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 28 Apr 2008 13:54:14 +0000 (13:54 +0000)
STEER/AliMagWrapCheb.cxx
STEER/AliMagWrapCheb.h

index 0bb238b4a909cb9b9ac4cd8bb1b1d37a342c56e0..412dbd13730aedc8f0f03927648824e9574296ed 100644 (file)
@@ -27,7 +27,8 @@ ClassImp(AliMagWrapCheb)
 //_______________________________________________________________________
 AliMagWrapCheb::AliMagWrapCheb():
   AliMagF(),
-  fMeasuredMap(0)
+  fMeasuredMap(0),
+  fSolenoid(5.)
 {
   // Default constructor
   //
@@ -38,7 +39,8 @@ AliMagWrapCheb::AliMagWrapCheb(const char *name, const char *title, Int_t integ,
                               Float_t factor, Float_t fmax, Int_t map, 
                               Bool_t dipoleON,const char* path):
   AliMagF(name, title, integ, factor, fmax),
-  fMeasuredMap(0)
+  fMeasuredMap(0),
+  fSolenoid(5.)
 {
   //
   fMap = map;
@@ -49,9 +51,13 @@ AliMagWrapCheb::AliMagWrapCheb(const char *name, const char *title, Int_t integ,
     return;
   }
   const char* parname = 0;
-  if      (fMap == k2kG) parname = dipoleON ? "Sol12_Dip6_Hole":"Sol12_Dip0_Hole";
-  else if (fMap == k5kG) parname = dipoleON ? "Sol30_Dip6_Hole":"Sol30_Dip0_Hole";
-  else {
+  if        (fMap == k2kG) {
+    fSolenoid = 2.;
+    parname = dipoleON ? "Sol12_Dip6_Hole":"Sol12_Dip0_Hole";
+  } else if (fMap == k5kG) {
+    fSolenoid = 5.;
+    parname = dipoleON ? "Sol30_Dip6_Hole":"Sol30_Dip0_Hole";
+  } else {
     AliError(Form("Unknown field identifier %d is requested\n",fMap)); 
     return;
   }
@@ -69,7 +75,8 @@ AliMagWrapCheb::AliMagWrapCheb(const char *name, const char *title, Int_t integ,
 //_______________________________________________________________________
 AliMagWrapCheb::AliMagWrapCheb(const AliMagWrapCheb &src):
   AliMagF(src),
-  fMeasuredMap(0)
+  fMeasuredMap(0),
+  fSolenoid(src.fSolenoid)
 {
   if (src.fMeasuredMap) fMeasuredMap = new AliMagFCheb(*src.fMeasuredMap);
 }
@@ -110,6 +117,7 @@ void AliMagWrapCheb::Field(Float_t *xyz, Float_t *b) const
 //_______________________________________________________________________
 AliMagWrapCheb& AliMagWrapCheb::operator=(const AliMagWrapCheb& maps)
 {
+  fSolenoid=maps.fSolenoid;
   if (this != &maps && maps.fMeasuredMap) { 
     if (fMeasuredMap) delete fMeasuredMap;
     fMeasuredMap = new AliMagFCheb(*maps.fMeasuredMap);
index 52f2a672921ce8ce7e31cc80b1399452e3bdcf62..20968c76ad50b98537f6113113da8f58624b14ea 100644 (file)
@@ -16,7 +16,7 @@
 class AliMagWrapCheb : public AliMagF
 {
 public:
-  enum constants {k2kG, k5kG};
+  enum constants {k2kG, k4kG, k5kG};
   AliMagWrapCheb();
   AliMagWrapCheb(const char *name, const char *title, Int_t integ,
                 Float_t factor=1, Float_t fmax=15, Int_t map = k2kG,
@@ -32,11 +32,13 @@ public:
   //
   AliMagFCheb* GetMeasuredMap()                           const {return fMeasuredMap;}
   void SetMeasuredMap(AliMagFCheb* parm)                        {if (parm) delete parm; fMeasuredMap = parm;}
+  virtual Float_t SolenoidField() const {return -Factor()*fSolenoid;}
   //
  protected:
   AliMagFCheb* fMeasuredMap;     // Measured part of the field map
+  Float_t      fSolenoid;        // Solenoid field setting
   //   
-  ClassDef(AliMagWrapCheb, 1)    // Class for all Alice MagField wrapper for measured data + Tosca parameterization
+  ClassDef(AliMagWrapCheb, 2)    // Class for all Alice MagField wrapper for measured data + Tosca parameterization
 };