123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
-
-
-
-
-
-
- #ifndef __WIREANTENNA_H
- #define __WIREANTENNA_H
-
- #include "LemmaObject.h"
- #include "dipolesource.h"
-
- #ifdef LEMMAUSEVTK
- #include "vtkActor.h"
- #endif
-
- namespace Lemma {
-
-
-
-
-
-
- class WireAntenna : public LemmaObject {
-
- friend std::ostream &operator<<(std::ostream &stream,
- const WireAntenna &ob);
-
- public:
-
-
-
-
-
- static WireAntenna* New();
-
-
-
- virtual WireAntenna* Clone();
-
-
-
- void Delete();
-
-
-
-
-
-
-
- virtual void ApproximateWithElectricDipoles(const Real &delta);
-
-
-
-
-
- void SetNumberOfTurns(const int &nturns);
-
-
-
- void SetNumberOfPoints(const int &np);
-
-
-
- void SetPoint(const int &p, const Vector3r &pos);
-
-
-
- void SetPoint(const int &p, const Real&x, const Real& y, const Real& z);
-
-
-
- void SetFrequency(const int& ifreq, const Real &freq);
-
-
- void SetNumberOfFrequencies(const int& nfreq);
-
-
-
- void SetCurrent(const Real &);
-
-
-
- #ifdef HAVE_YAMLCPP
-
-
- YAML::Node Serialize() const;
-
-
-
- static WireAntenna* DeSerialize(const YAML::Node& node);
- #endif
-
-
-
- int GetNumberOfTurns( );
-
-
-
- Vector3Xr GetPoints();
-
-
-
- MatrixXr GetPointsMat();
-
-
-
- Real GetFrequency(const int& ifreq);
-
-
-
-
- Real GetCurrent( );
-
-
-
-
- DipoleSource* GetDipoleSource(const int &dip);
-
-
-
- int GetNumberOfDipoles();
-
-
-
- int GetNumberOfFrequencies();
-
- #ifdef LEMMAUSEVTK
-
-
- vtkActor* GetVtkActor(const int &idip);
- #endif
-
-
-
- bool IsHorizontallyPlanar();
-
- protected:
-
-
-
-
-
- WireAntenna (const std::string &name);
-
- #ifdef HAVE_YAMLCPP
-
- WireAntenna (const YAML::Node& node);
- #endif
-
-
-
- ~WireAntenna ();
-
-
-
- void Release();
-
-
-
-
-
- int NumberOfPoints;
-
-
-
- Real Current;
-
-
-
- int NumberOfTurns;
-
-
-
- std::vector<DipoleSource*> Dipoles;
-
-
-
- Vector3Xr Points;
-
-
-
- VectorXr Freqs;
-
- private:
-
- };
-
- }
- #endif
|