Skip to content
Snippets Groups Projects

BFieldMesh add comments

Merged Christos Anastopoulos requested to merge ATLAS-EGamma/athena:MagneticField_names into master
5 unresolved threads

BFieldMesh add comments

ping @schaffer

Merge request reports

Pipeline #3393452 passed

Pipeline passed for 9c61c299 on ATLAS-EGamma:MagneticField_names

Approval is optional

Merged by Johannes ElmsheuserJohannes Elmsheuser 3 years ago (Dec 28, 2021 8:52am UTC)

Merge details

  • Changes merged into master with 24aa2c56 (commits were squashed).
  • Deleted the source branch.

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
8 * The field type is templated - it may be short (for the toroid) or double (for
9 * the solenoid)
5 /**
6 *
7 * @class BFieldMesh
8 *
9 * A 3-d mesh (axes z,r,phi) representing a simple field map.
10 *
11 * The mesh is made up from 'cells'
12 * We hold numz, numr , numphi positions defining
13 * the corners of the cells.
14 *
15 * Then we have
16 * numz X numr X numphi field values at these corners
17 *
18 * The field type is templated - it may be short (for the toroid)
  • The template type is int for both solenoid and toroid. There is a special case of BFieldSolenoid which allows a tilt between the nominal and 'tilted' solenoid fields and uses double. But BFieldSolenoid is not used in the nominal case to access field values in the sw.

  • Please register or sign in to reply
  • 65 // find the bin
    79 /* @brief get the cache corresponding to a particular cell*/
    66 80 void getCache(double z,
    67 81 double r,
    68 82 double phi,
    69 83 BFieldCache& cache,
    70 84 double scaleFactor = 1.0) const;
    71 // get the B field
    85 /* @brief get the bfield given a point in xyz*/
    72 86 void getB(const double* ATH_RESTRICT xyz,
    73 87 double* ATH_RESTRICT B,
    74 88 double* ATH_RESTRICT deriv = nullptr) const;
    75 // accessors
    76 double min(size_t i) const;
    77 double max(size_t i) const;
    89 /* @brief minimum in axis*/
  • 66 80 void getCache(double z,
    67 81 double r,
    68 82 double phi,
    69 83 BFieldCache& cache,
    70 84 double scaleFactor = 1.0) const;
    71 // get the B field
    85 /* @brief get the bfield given a point in xyz*/
    72 86 void getB(const double* ATH_RESTRICT xyz,
    73 87 double* ATH_RESTRICT B,
    74 88 double* ATH_RESTRICT deriv = nullptr) const;
    75 // accessors
    76 double min(size_t i) const;
    77 double max(size_t i) const;
    89 /* @brief minimum in axis*/
    90 double min(size_t axis) const;
    91 /* @brief maximum in axis*/
  • 92 double max(size_t axis) const;
    93 /* @brief minimum in z*/
    78 94 double zmin() const;
    95 /* @brief maximum in z*/
    79 96 double zmax() const;
    97 /* @brief minimun in r*/
    80 98 double rmin() const;
    99 /* @brief maximum in r*/
    81 100 double rmax() const;
    101 /* @brief minimun in phi*/
    82 102 double phimin() const;
    103 /* @brief maximum in phi*/
    83 104 double phimax() const;
    84 unsigned nmesh(size_t i) const;
    85 double mesh(size_t i, size_t j) const;
    105 /* @brief number of corner cell coordinates for axis*/
  • 78 94 double zmin() const;
    95 /* @brief maximum in z*/
    79 96 double zmax() const;
    97 /* @brief minimun in r*/
    80 98 double rmin() const;
    99 /* @brief maximum in r*/
    81 100 double rmax() const;
    101 /* @brief minimun in phi*/
    82 102 double phimin() const;
    103 /* @brief maximum in phi*/
    83 104 double phimax() const;
    84 unsigned nmesh(size_t i) const;
    85 double mesh(size_t i, size_t j) const;
    105 /* @brief number of corner cell coordinates for axis*/
    106 unsigned nmesh(size_t axis) const;
    107 /* @brief coordinate at axis of cell corner */
  • R D Schaffer mentioned in merge request !49357 (merged)

    mentioned in merge request !49357 (merged)

  • Please register or sign in to reply
    Loading