]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Possibility to set field map by passing pointer to objet of type AliMagF via
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 18 Dec 2000 10:44:01 +0000 (10:44 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 18 Dec 2000 10:44:01 +0000 (10:44 +0000)
SetField().
Example:
gAlice->SetField(new AliMagFCM("Map2", "$(ALICE_ROOT)/data/field01.dat",2,1.,10.));

STEER/AliMagF.cxx
STEER/AliMagF.h
STEER/AliMagFC.cxx
STEER/AliMagFC.h
STEER/AliMagFCM.cxx
STEER/AliMagFCM.h
STEER/AliMagFDM.cxx
STEER/AliMagFDM.h
STEER/AliRun.cxx
STEER/AliRun.h

index 6e2a523172de1b8700960731f0730b7795f9b26c..e755d69798c0b2b53edf1bf2d826085133555d85 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.7  2000/10/02 21:28:14  fca
+Removal of useless dependecies via forward declarations
+
 Revision 1.6  2000/07/11 18:24:59  fca
 Coding convention corrections + few minor bug fixes
 
@@ -42,17 +45,23 @@ ClassImp(AliMagF)
 
 //________________________________________
 AliMagF::AliMagF(const char *name, const char *title, const Int_t integ, 
-                const Int_t map, const Float_t factor, const Float_t fmax)
+                const Float_t factor, const Float_t fmax)
   : TNamed(name,title)
 {
   //
   // Standard constructor
   //
-  fMap = map;
-  fType = kUndef;
-  fInteg = integ;
-  fFactor = factor;
-  fMax = fmax;
+    if(integ<0 || integ > 2) {
+       Warning("SetField",
+               "Invalid magnetic field flag: %5d; Helix tracking chosen instead\n"
+               ,integ);
+       fInteg = 2;
+    } else {
+       fInteg = integ;
+    }
+    fType = kUndef;
+    fFactor = factor;
+    fMax = fmax;
 }
 
 //________________________________________
index b8c0333973f758e7ae6c02e42c0e9d05ab9e1f1d..93f3dec84dfa33709da0c2fe22fa30efe6ece6a5 100644 (file)
@@ -13,8 +13,8 @@ class AliMagF : public TNamed {
 
 public:
   AliMagF(){}
-  AliMagF(const char *name, const char *title, const Int_t integ, const Int_t map, 
-         const Float_t factor, const Float_t fmax);
+  AliMagF(const char *name, const char *title, const Int_t integ, 
+         const Float_t factor = 1., const Float_t fmax = 10.);
   virtual ~AliMagF() {}
   virtual void Field(Float_t *x, Float_t *b);
   virtual Int_t Type() const {return fType;}
index c2fff18dfcfb21dc2eb42e79a97873909e5393a1..1228f41f28ad29b7a4464188481379f3dc7ab02e 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.4  2000/12/01 11:20:27  alibrary
+Corrector dipole removed from ZDC
+
 Revision 1.3  2000/11/10 18:09:55  fca
 New field map for the ZDC
 
@@ -33,15 +36,16 @@ ClassImp(AliMagFC)
 
 //________________________________________
 AliMagFC::AliMagFC(const char *name, const char *title, const Int_t integ, 
-                  const Int_t map, const Float_t factor, const Float_t fmax)
-  : AliMagF(name,title,integ,map,factor,fmax)
+                  const Float_t factor, const Float_t fmax)
+  : AliMagF(name,title,integ,factor,fmax)
 {
   // 
   // Standard constructor
   //
-  printf("Constant Field %s created: map= %d, factor= %f\n",fName.Data(),map,
-        factor);
   fType = kConst;
+  fMap  = 1;
+  printf("Constant Field %s created: map= %d, factor= %f\n",fName.Data(),fMap,
+        factor);
 }
 
 //________________________________________
index d1a9b9e16358dc210288921a17807b309a183987..8dea7addfe6034cce1f7bc970826b2173a8c69bd 100644 (file)
@@ -14,7 +14,7 @@ class AliMagFC  : public AliMagF
 public:
   AliMagFC(){}
   AliMagFC(const char *name, const char *title, const Int_t integ, 
-          const Int_t map, const Float_t factor, const Float_t fmax);
+          const Float_t factor, const Float_t fmax);
   virtual ~AliMagFC() {}
   virtual void Field(Float_t *x, Float_t *b);
   virtual void ReadField() {}
index 9d354bfe69e18a101d5d266832fa18a146270e7f..3810a0b080898a02be26a7caae824dadbfc71c83 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.5  2000/12/01 11:20:27  alibrary
+Corrector dipole removed from ZDC
+
 Revision 1.4  2000/11/30 07:12:49  alibrary
 Introducing new Rndm and QA classes
 
@@ -37,15 +40,17 @@ ClassImp(AliMagFCM)
 
 //________________________________________
 AliMagFCM::AliMagFCM(const char *name, const char *title, const Int_t integ, 
-                    const Int_t map, const Float_t factor, const Float_t fmax)
-  : AliMagF(name,title,integ,map,factor,fmax)
+                    const Float_t factor, const Float_t fmax)
+  : AliMagF(name,title,integ,factor,fmax)
 {
   //
   // Standard constructor
   //
   fType = kConMesh;
+  fMap  = 2;
+  
   printf("Constant Mesh Field %s created: map= %d, factor= %f, file= %s\n",
-        fName.Data(),map,factor,fTitle.Data());
+        fName.Data(), fMap, factor,fTitle.Data());
 }
 
 //________________________________________
index adf2055f9000e0d6c94af3ba660595c945b13c70..413ff3b575c12a955f99cb03f9bb2b391dfa3b30 100644 (file)
@@ -14,7 +14,7 @@ class AliMagFCM : public AliMagF
 
 public:
   AliMagFCM(){}
-  AliMagFCM(const char *name, const char *title, const Int_t integ, const Int_t map, 
+  AliMagFCM(const char *name, const char *title, const Int_t integ,
           const Float_t factor, const Float_t fmax);
   AliMagFCM(const AliMagFCM &mag);
   virtual ~AliMagFCM() {delete fB;}
index 312a7d122e747721dc3595196388c84ff2354881..ec60de2de5c471d46a4c799416642068b9fd74fd 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.7  2000/12/01 11:20:27  alibrary
+Corrector dipole removed from ZDC
+
 Revision 1.6  2000/11/10 18:09:55  fca
 New field map for the ZDC
 
@@ -47,16 +50,17 @@ ClassImp(AliMagFDM)
 
 //________________________________________
 AliMagFDM::AliMagFDM(const char *name, const char *title, const Int_t integ,
-const Int_t map, const Float_t factor, const Float_t fmax)
-  : AliMagF(name,title,integ,map,factor,fmax)
+                    const Float_t factor, const Float_t fmax)
+  : AliMagF(name,title,integ,factor,fmax)
   
 {
   //
   // Standard constructor for the Dipole field
   //
   fType = kDipoMap;
-
-  printf("Field Map for Muon Arm from IP till muon filter %s created: map= %d, factor= %f, file=%s\n",fName.Data(),map,factor,fTitle.Data());
+  fMap  = 3;
+  
+  printf("Field Map for Muon Arm from IP till muon filter %s created: map= %d, factor= %f, file=%s\n",fName.Data(), fMap ,factor,fTitle.Data());
   
 }
 
index 96d624eccd255fb7ffba39b923cbfc8c5ff3092e..b762526f207261d36ce594a77b29efe6fbaa5d87 100644 (file)
@@ -13,8 +13,8 @@ class AliMagFDM : public AliMagF
 
 public:
   AliMagFDM(){}
-  AliMagFDM(const char *name, const char *title, const Int_t integ, const Int_t
-  map, const Float_t factor, const Float_t fmax);
+  AliMagFDM(const char *name, const char *title, const Int_t integ,
+           const Float_t factor, const Float_t fmax);
   virtual ~AliMagFDM(){} 
   virtual void Field(Float_t *x, Float_t *b);
   virtual void ReadField(); 
index 6d06be30294fa27fef6354c27932b44beee612f4..2e2863ecbf7fc274f1c2dc21c756d03a10a21c8b 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.46  2000/12/14 19:29:27  fca
+galice.cuts was not read any more
+
 Revision 1.45  2000/11/30 07:12:49  alibrary
 Introducing new Rndm and QA classes
 
@@ -432,6 +435,13 @@ void AliRun::DumpPStack () const
         "\n=======================================================================\n\n");
 }
 
+void  AliRun::SetField(AliMagF* magField)
+{
+    // Set Magnetic Field Map
+    fField = magField;
+    fField->ReadField();
+}
+
 //_____________________________________________________________________________
 void AliRun::SetField(Int_t type, Int_t version, Float_t scale,
                      Float_t maxField, char* filename)
@@ -445,20 +455,14 @@ void AliRun::SetField(Int_t type, Int_t version, Float_t scale,
 
   //
   // --- Sanity check on mag field flags
-  if(type<0 || type > 2) {
-    Warning("SetField",
-           "Invalid magnetic field flag: %5d; Helix tracking chosen instead\n"
-          ,type);
-    type=2;
-  }
   if(fField) delete fField;
   if(version==1) {
-    fField = new AliMagFC("Map1"," ",type,version,scale,maxField);
+    fField = new AliMagFC("Map1"," ",type,scale,maxField);
   } else if(version<=2) {
-    fField = new AliMagFCM("Map2-3",filename,type,version,scale,maxField);
+    fField = new AliMagFCM("Map2-3",filename,type,scale,maxField);
     fField->ReadField();
   } else if(version==3) {
-    fField = new AliMagFDM("Map4",filename,type,version,scale,maxField);
+    fField = new AliMagFDM("Map4",filename,type,scale,maxField);
     fField->ReadField();
   } else {
     Warning("SetField","Invalid map %d\n",version);
index 567c864beed73bf172943a5b217722207ecfa3fe..f24cbbfe40b5c9b0d9cd2a23595931a91cec8d96 100644 (file)
@@ -112,6 +112,7 @@ public:
    virtual  void  SetDisplay(AliDisplay *display) {fDisplay = display;}
    virtual  void  StepManager(Int_t id);
    virtual  void  SetField(Int_t type=2, Int_t version=1, Float_t scale=1, Float_t maxField=10, char*filename="$(ALICE_ROOT)/data/field01.dat");
+   virtual  void  SetField(AliMagF* magField);
    virtual  void  SetTrack(Int_t done, Int_t parent, Int_t pdg, 
                               Float_t *pmom, Float_t *vpos, Float_t *polar, 
                                Float_t tof, AliMCProcess mech, Int_t &ntr,