33 DCOUT_V(
'P',
"DDLTrapezoid::processElement started");
43 if (atts.find(
"phi") != atts.end())
44 phi = ev.
eval(nmspace, atts.find(
"phi")->second);
46 if (atts.find(
"theta") != atts.end())
47 theta = ev.
eval(nmspace, atts.find(
"theta")->second);
49 if (atts.find(
"dy2") != atts.end())
50 dy2 = ev.
eval(nmspace, atts.find(
"dy2")->second);
51 else if (atts.find(
"dy1") != atts.end())
52 dy2 = ev.
eval(nmspace, atts.find(
"dy1")->second);
54 if (name ==
"Trapezoid")
58 ev.
eval(nmspace, atts.find(
"dz")->second),
61 ev.
eval(nmspace, atts.find(
"h1")->second),
62 ev.
eval(nmspace, atts.find(
"bl1")->second),
63 ev.
eval(nmspace, atts.find(
"tl1")->second),
64 ev.
eval(nmspace, atts.find(
"alp1")->second),
65 ev.
eval(nmspace, atts.find(
"h2")->second),
66 ev.
eval(nmspace, atts.find(
"bl2")->second),
67 ev.
eval(nmspace, atts.find(
"tl2")->second),
68 ev.
eval(nmspace, atts.find(
"alp2")->second));
70 else if (name ==
"Trd1")
74 ev.
eval(nmspace, atts.find(
"dz")->second),
77 ev.
eval(nmspace, atts.find(
"dy1")->second),
78 ev.
eval(nmspace, atts.find(
"dx1")->second),
79 ev.
eval(nmspace, atts.find(
"dx1")->second),
82 ev.
eval(nmspace, atts.find(
"dx2")->second),
83 ev.
eval(nmspace, atts.find(
"dx2")->second),
88 std::string
msg =
"\nDDLTrapezoid::processElement failed to process element of name: "
90 +
". It can only process Trapezoid and Trd1.";
96 DCOUT_V(
'P',
"DDLTrapezoid::processElement completed");
DDLTrapezoid(DDLElementRegistry *myreg)
Constructor.
virtual const DDXMLAttribute & getAttributeSet(size_t aIndex=0) const
Get a "row" of attributes, i.e. one attribute set.
Geom::Theta< T > theta() const
void throwError(const std::string &keyMessage) const
format std::string for throw an error.
void processElement(const std::string &name, const std::string &nmspace, DDCompactView &cpv)
Processing the element.
type of data representation of DDCompactView
~DDLTrapezoid(void)
Destructor.
std::map< std::string, std::string > DDXMLAttribute
A DDSolid represents the shape of a part.
static value_type & instance()
Interface of an Expression Evaluator.
static DDSolid trap(const DDName &name, double pDz, double pTheta, double pPhi, double pDy1, double pDx1, double pDx2, double pAlp1, double pDy2, double pDx3, double pDx4, double pAlp2)
#define DCOUT_V(M_v_Y, M_v_S)
DDLSolid processes Box elements.
virtual double eval(const std::string &ns, const std::string &expr)=0
evaluate an expression expr inside the local namespace
The main class for processing parsed elements.
virtual const DDName getDDName(const std::string &defaultNS, const std::string &attname=std::string("name"), size_t aIndex=0)
void setReference(const std::string &nmspace, DDCompactView &cpv)