ROOT logo
#ifndef __EDFIELD__
#define __EDFIELD__

//Read the field
//Input: 3 dimensional Position vector
//Output:3 dimensional Field vector
//created 16/01/2002/
//********************************************
//  nfz      number of steps in z-direction
//  nfr      number of steps in rho-direction
//  nfp      number of steps in phi-direction
//  zflmin   minimum value of z-coordinate
//  zflmax   maximum value of z-coordinate
//  zfldel   step value of z-coordinate
//  rflmin   minimum value of rho-coordinate
//  rflmax   maximum value of rho-coordinate
//  rfldel   step value of rho-coordinate
//  pflmin   minimum value of phi-coordinate
//  pflmax   maximum value of phi-coordinate
//  pfldel   step value of phi-coordinate

#include "TNamed.h"
#include "TString.h"
#include "TEveTrackPropagator.h"

class  HEDField ;

R__EXTERN HEDField *gEDField;

class HEDField : public TNamed , public TEveMagField {
private:
    Int_t nfz,nfr,nfp;
    Double_t zflmin,zflmax,zfldel;
    Double_t rflmin,rflmax,rfldel;
    Double_t pflmin,pflmax,pfldel;
    Double_t fpol;
    Double_t* p_tzfl;
    Double_t* p_trfl;
    Double_t* p_tpfl;

    Double_t step1z,step1r,step1p; //!
    Double_t dconv;                //!
    Int_t nfz_nfr;                 //!
    Double_t one_sixtyth;          //!
public:
    HEDField(const Char_t *name="HADES_FIELD_MAP",const Char_t *title="HADES_FIELD_MAP",Double_t fPolarity = 1);
    virtual ~HEDField();
    // hades --------------------------------
    void       SetPolarity(Double_t fPolarity) { fpol = -fPolarity; }
    void       Clear();
    void       CalcField(Double_t* xv,Double_t *btos) const;
    void       ReadAscii (TString infile);
    void       WriteAscii(TString outfile);

    // eve   --------------------------------
    virtual TEveVector GetField(Float_t x, Float_t y, Float_t z) const;
    virtual TEveVector GetField(const TEveVector& v) const;
    virtual Float_t GetMaxFieldMag() const {return 4.;}
    ClassDef(HEDField,1)
};
#endif /*!HEDField_H*/



 hedfield.h:1
 hedfield.h:2
 hedfield.h:3
 hedfield.h:4
 hedfield.h:5
 hedfield.h:6
 hedfield.h:7
 hedfield.h:8
 hedfield.h:9
 hedfield.h:10
 hedfield.h:11
 hedfield.h:12
 hedfield.h:13
 hedfield.h:14
 hedfield.h:15
 hedfield.h:16
 hedfield.h:17
 hedfield.h:18
 hedfield.h:19
 hedfield.h:20
 hedfield.h:21
 hedfield.h:22
 hedfield.h:23
 hedfield.h:24
 hedfield.h:25
 hedfield.h:26
 hedfield.h:27
 hedfield.h:28
 hedfield.h:29
 hedfield.h:30
 hedfield.h:31
 hedfield.h:32
 hedfield.h:33
 hedfield.h:34
 hedfield.h:35
 hedfield.h:36
 hedfield.h:37
 hedfield.h:38
 hedfield.h:39
 hedfield.h:40
 hedfield.h:41
 hedfield.h:42
 hedfield.h:43
 hedfield.h:44
 hedfield.h:45
 hedfield.h:46
 hedfield.h:47
 hedfield.h:48
 hedfield.h:49
 hedfield.h:50
 hedfield.h:51
 hedfield.h:52
 hedfield.h:53
 hedfield.h:54
 hedfield.h:55
 hedfield.h:56
 hedfield.h:57
 hedfield.h:58
 hedfield.h:59
 hedfield.h:60
 hedfield.h:61
 hedfield.h:62
 hedfield.h:63
 hedfield.h:64