Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:15:37

0001 #ifndef ANALYTICFIELDMODEL_H
0002 #define ANALYTICFIELDMODEL_H
0003 
0004 #include <TVector3.h>
0005 
0006 class TFormula;
0007 
0008 class AnalyticFieldModel
0009 {
0010  public:
0011   AnalyticFieldModel(float _ifc_radius, float _ofc_radius, float _z_max, float scalefactor = 1);
0012   //! delete copy ctor and assignment opertor (cppcheck)
0013   explicit AnalyticFieldModel(const AnalyticFieldModel &) = delete;
0014   AnalyticFieldModel &operator=(const AnalyticFieldModel &) = delete;
0015 
0016   TVector3 E(const TVector3 &pos);                     // field as a function of position
0017   double Rho(const TVector3 &pos);                     // charge density as a function of position
0018   TVector3 Eint(float zfinal, const TVector3 &start);  // field integral from start point to position zfinal.
0019 
0020  private:
0021   TFormula *vTestFunction1{nullptr};
0022   TFormula *rhoTestFunction1{nullptr};
0023   TFormula *erTestFunction1{nullptr};
0024   TFormula *ePhiTestFunction1{nullptr};
0025   TFormula *ezTestFunction1{nullptr};
0026   TFormula *intErDzTestFunction1{nullptr};
0027 
0028   TFormula *intEPhiDzTestFunction1{nullptr};
0029 
0030   TFormula *intEzDzTestFunction1{nullptr};
0031 };
0032 
0033 #endif