Garfield 0.3
Toolkit for the detailed simulation of particle detectors based on ionization measurement in gases and semiconductors
Loading...
Searching...
No Matches
ComponentElmer.hh
Go to the documentation of this file.
1#ifndef G_COMPONENT_ELMER_H
2#define G_COMPONENT_ELMER_H
3
4#include <string>
5
7
8namespace Garfield {
9
11
13 public:
17 ComponentElmer(const std::string& header, const std::string& elist,
18 const std::string& nlist, const std::string& mplist,
19 const std::string& volt, const std::string& unit);
22
32 bool Initialise(const std::string& header = "mesh.header",
33 const std::string& elist = "mesh.elements",
34 const std::string& nlist = "mesh.nodes",
35 const std::string& mplist = "dielectrics.dat",
36 const std::string& volt = "out.result",
37 const std::string& unit = "cm");
39 bool SetWeightingPotential(const std::string& prnsol,
40 const std::string& label) {
41 return SetWeightingField(prnsol, label);
42 }
43 bool SetWeightingField(const std::string& prnsol, const std::string& label);
44
45#ifdef USEGPU
47 double CreateGPUTransferObject(ComponentGPU*& comp_gpu) override;
48#endif
49 private:
50 bool LoadPotentials(const std::string& prnsol, std::vector<double>& pot);
51};
52} // namespace Garfield
53#endif
bool Initialise(const std::string &header="mesh.header", const std::string &elist="mesh.elements", const std::string &nlist="mesh.nodes", const std::string &mplist="dielectrics.dat", const std::string &volt="out.result", const std::string &unit="cm")
Import a field map from a set of files.
bool SetWeightingField(const std::string &prnsol, const std::string &label)
bool LoadPotentials(const std::string &prnsol, std::vector< double > &pot)
ComponentElmer(const std::string &header, const std::string &elist, const std::string &nlist, const std::string &mplist, const std::string &volt, const std::string &unit)
Constructor with a set of field map files, see Initialise().
ComponentElmer()
Default constructor.
bool SetWeightingPotential(const std::string &prnsol, const std::string &label)
Import a list of voltages to be used as weighting potentials.
ComponentFieldMap()=delete
Default constructor.
double CreateGPUTransferObject(ComponentGPU *&comp_gpu) override
Create and initialise GPU Transfer class.