Garfield++ 3.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
Loading...
Searching...
No Matches
ComponentAnsys121.hh
Go to the documentation of this file.
1#ifndef G_COMPONENT_ANSYS121_H
2#define G_COMPONENT_ANSYS121_H
3
5
6namespace Garfield {
7
8/// Component for importing and interpolating two-dimensional ANSYS field maps.
9
11 public:
12 /// Constructor
14 /// Destructor
16
17 Medium* GetMedium(const double x, const double y, const double z) override;
18 void ElectricField(const double x, const double y, const double z, double& ex,
19 double& ey, double& ez, Medium*& m, int& status) override;
20 void ElectricField(const double x, const double y, const double z, double& ex,
21 double& ey, double& ez, double& v, Medium*& m,
22 int& status) override;
23
24 void WeightingField(const double x, const double y, const double z,
25 double& wx, double& wy, double& wz,
26 const std::string& label) override;
27
28 double WeightingPotential(const double x, const double y, const double z,
29 const std::string& label) override;
30
31 bool Initialise(std::string elist = "ELIST.lis",
32 std::string nlist = "NLIST.lis",
33 std::string mplist = "MPLIST.lis",
34 std::string prnsol = "PRNSOL.lis", std::string unit = "cm");
35 bool SetWeightingField(std::string prnsol, std::string label);
36
37 void SetRangeZ(const double zmin, const double zmax);
38
39 protected:
40 void UpdatePeriodicity() override;
41
42 double GetElementVolume(const unsigned int i) override;
43 void GetAspectRatio(const unsigned int i, double& dmin,
44 double& dmax) override;
45};
46}
47
48#endif
Component for importing and interpolating two-dimensional ANSYS field maps.
bool SetWeightingField(std::string prnsol, std::string label)
void GetAspectRatio(const unsigned int i, double &dmin, double &dmax) override
bool Initialise(std::string elist="ELIST.lis", std::string nlist="NLIST.lis", std::string mplist="MPLIST.lis", std::string prnsol="PRNSOL.lis", std::string unit="cm")
void ElectricField(const double x, const double y, const double z, double &ex, double &ey, double &ez, Medium *&m, int &status) override
double GetElementVolume(const unsigned int i) override
void UpdatePeriodicity() override
Verify periodicities.
void SetRangeZ(const double zmin, const double zmax)
double WeightingPotential(const double x, const double y, const double z, const std::string &label) override
void WeightingField(const double x, const double y, const double z, double &wx, double &wy, double &wz, const std::string &label) override
Medium * GetMedium(const double x, const double y, const double z) override
Get the medium at a given location (x, y, z).
Base class for components based on finite-element field maps.
Abstract base class for media.
Definition: Medium.hh:13