CMS 3D CMS Logo

List of all members | Public Member Functions
DDHtmlRoDetails Class Reference

#include <DDHtmlFormatter.h>

Inheritance diagram for DDHtmlRoDetails:
DDHtmlDetails

Public Member Functions

 DDHtmlRoDetails (const std::string &cat, const std::string &txt)
 
bool details (std::ostream &os, const DDName &) override
 
ns_typenames () override
 
- Public Member Functions inherited from DDHtmlDetails
const std::string & category ()
 
 DDHtmlDetails (const std::string &cat, const std::string &txt)
 
const std::string & text ()
 
virtual ~DDHtmlDetails ()
 

Additional Inherited Members

- Protected Attributes inherited from DDHtmlDetails
std::string cat_
 
DDHtmlFormatter f_
 
ns_type names_
 
std::string txt_
 

Detailed Description

Definition at line 144 of file DDHtmlFormatter.h.

Constructor & Destructor Documentation

DDHtmlRoDetails::DDHtmlRoDetails ( const std::string &  cat,
const std::string &  txt 
)
inline

Definition at line 147 of file DDHtmlFormatter.h.

References names.

147 : DDHtmlDetails(cat,txt) {}
def cat(path)
Definition: eostools.py:401
DDHtmlDetails(const std::string &cat, const std::string &txt)

Member Function Documentation

bool DDHtmlRoDetails::details ( std::ostream &  os,
const DDName  
)
overridevirtual

Implements DDHtmlDetails.

Definition at line 144 of file DDHtmlFormatter.cc.

References geant_units::operators::convertRadToDeg(), DDHtmlDetails::f_, funct::false, DDName::fullname(), DDHtmlFormatter::h2(), DDHtmlFormatter::h3(), DDHtmlFormatter::header(), DDBase< N, C >::isDefined(), DDRotation::matrix(), x, y, and z.

145 {
146  os << f_.header("Rotations Details");
147 
148  DDRotation ddr(nm);
149  if ( ddr.isDefined().second == false ) {
150  os << "<b>ERROR!</b><br><p>The Rotation " << nm << " is not defined!</p>" << endl;
151  return false;
152  }
153  DD3Vector x, y, z;
154  ddr.matrix().GetComponents(x, y, z);
155  os << f_.h2("Rotation: " + nm.fullname());
156  os << f_.h3("GEANT3 style:");
157  os << "<table border=\"0\">" << endl
158  << "<tr><td>thetaX =</td><td>" << convertRadToDeg( x.Theta() ) << " deg</td><tr>" << endl
159  << "<tr><td>phiX =</td><td>" << convertRadToDeg( x.Phi() ) << " deg</td><tr>" << endl
160  << "<tr><td>thetaY =</td><td>" << convertRadToDeg( y.Theta() ) << " deg</td><tr>" << endl
161  << "<tr><td>phiY =</td><td>" << convertRadToDeg( y.Phi() ) << " deg</td><tr>" << endl
162  << "<tr><td>thetaZ =</td><td>" << convertRadToDeg( z.Theta() ) << " deg</td><tr>" << endl
163  << "<tr><td>phiZ =</td><td>" << convertRadToDeg( z.Phi() ) << " deg</td><tr>" << endl
164  << "</table>";
165 
166  os << f_.h3("Rotation axis & angle (theta,phi,angle)") << endl;
167  os << DDRotation(nm); return true;
168 }
DDHtmlFormatter h3(const std::string &content)
constexpr NumType convertRadToDeg(NumType radians)
Definition: GeantUnits.h:98
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:68
DDHtmlFormatter f_
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DD3Vector
A DD Translation is currently implemented with Root Vector3D.
Definition: DDTranslation.h:6
DDHtmlFormatter h2(const std::string &content)
DDHtmlFormatter header(const std::string &text, const std::string &style="../../style.css")
ns_type & DDHtmlRoDetails::names ( void  )
overridevirtual

Implements DDHtmlDetails.

Definition at line 122 of file DDHtmlFormatter.cc.

References findNameSpaces(), and DDHtmlDetails::names_.

123 {
124  DDRotation lp;
125  findNameSpaces(lp, names_);
126  return names_;
127 }
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:68
bool findNameSpaces(T dummy, ns_type &m)