#include <cmath>
#include "DetectorDescription/Core/interface/DDTransform.h"
#include "DetectorDescription/Base/interface/DDTranslation.h"
#include "DetectorDescription/Base/interface/DDdebug.h"
#include "CLHEP/Units/GlobalSystemOfUnits.h"
#include <Math/AxisAngle.h>
#include <sstream>
#include <cstdlib>
#include "FWCore/MessageLogger/interface/MessageLogger.h"
Go to the source code of this file.
Functions | |
DDRotation | DDanonymousRot (DDRotationMatrix *rot) |
Defines a anonymous rotation or rotation-reflection matrix. More... | |
DDRotationMatrix * | DDcreateRotationMatrix (double thetaX, double phiX, double thetaY, double phiY, double thetaZ, double phiZ) |
create a new DDRotationMatrix in the GEANT3 style. More... | |
DDRotation | DDrot (const DDName &ddname, DDRotationMatrix *rot) |
Definition of a uniquely identifiable rotation matrix named by DDName name. More... | |
DDRotation | DDrot (const DDName &ddname, double thetaX, double phiX, double thetaY, double phiY, double thetaZ, double phiZ) |
Definition of a uniquely identifiable rotation matrix named by DDName name in the GEANT3 style. More... | |
DDRotation | DDrotReflect (const DDName &ddname, DDRotationMatrix *rot) |
DDRotation | DDrotReflect (const DDName &ddname, double thetaX, double phiX, double thetaY, double phiY, double thetaZ, double phiZ) |
Defines a rotation-reflection in the Geant3 way. More... | |
std::ostream & | operator<< (std::ostream &os, const DDRotation &r) |
DDRotation DDanonymousRot | ( | DDRotationMatrix * | rot | ) |
Defines a anonymous rotation or rotation-reflection matrix.
It can't be addressed by a unique DDName. Once created, it's the users responsibility to keep the reference object DDRotation! Will be mostly used by algorithmic positioning.
Definition at line 197 of file DDRotation.cc.
Referenced by DDCompactView::algoPosPart(), DDTIBLayerAlgo::execute(), and DDStreamer::pos_read().
DDRotationMatrix* DDcreateRotationMatrix | ( | double | thetaX, |
double | phiX, | ||
double | thetaY, | ||
double | phiY, | ||
double | thetaZ, | ||
double | phiZ | ||
) |
create a new DDRotationMatrix in the GEANT3 style.
The Matrix must be orthonormal - left or right handed - otherwise a DDException is thrown; memory of the returned pointer belongs to the caller
Definition at line 168 of file DDRotation.cc.
References CastorDataFrameFilter_impl::check(), funct::cos(), edm::hlt::Exception, python.connectstrParser::o, funct::sin(), vdt::x, detailsBasic3DVector::y, and detailsBasic3DVector::z.
Referenced by DDAngular::execute(), and DDTIBLayerAlgo::execute().
DDRotation DDrot | ( | const DDName & | ddname, |
DDRotationMatrix * | rot | ||
) |
Definition of a uniquely identifiable rotation matrix named by DDName name.
DDrot() returns a reference-object DDRotation representing the rotation matrix rot.
The user must not free memory allocated for rot!
Definition at line 93 of file DDRotation.cc.
Referenced by WriteOneGeometryFromXML::beginRun(), DDPixFwdBlades::computeNippleParameters(), DDHCalBarrelAlgo::constructGeneralVolume(), DDHCalEndcapAlgo::constructGeneralVolume(), DDLinear::execute(), DDAngular::execute(), DDTIDModulePosAlgo::execute(), DDTIBLayerAlgo::execute(), DDHCalAngular::execute(), DDHCalTBCableAlgo::execute(), DDHCalTBZposAlgo::execute(), DDHCalTestBeamAlgo::execute(), DDHCalXtalAlgo::execute(), DDTIBLayerAlgo_MTCC::execute(), DDPixBarLayerAlgo::execute(), DDTECOptoHybAlgo::execute(), DDTECPhiAltAlgo::execute(), DDTECPhiAlgo::execute(), DDTIDAxialCableAlgo::execute(), DDTIDRingAlgo::execute(), DDTrackerAngular::execute(), DDHCalFibreBundle::execute(), DDTrackerPhiAltAlgo::execute(), DDTrackerPhiAlgo::execute(), DDTECAxialCableAlgo::execute(), DDPixFwdBlades::execute(), DDDividedConsPhi::makeDDRotation(), DDDividedTubsPhi::makeDDRotation(), DDDividedPolyconePhi::makeDDRotation(), DDDividedPolyhedraPhi::makeDDRotation(), DDTBH4Algo::myrot(), DDEcalBarrelAlgo::myrot(), DDEcalBarrelNewAlgo::myrot(), DDEcalEndcapAlgo::myrot(), DDLPosPart::processElement(), DDLRotationSequence::processElement(), DDLRotationAndReflection::processElement(), DDLRotationByAxis::processElement(), regressionTest_first(), and regressionTest_setup().
DDRotation DDrot | ( | const DDName & | name, |
double | thetaX, | ||
double | phiX, | ||
double | thetaY, | ||
double | phiY, | ||
double | thetaZ, | ||
double | phiZ | ||
) |
Definition of a uniquely identifiable rotation matrix named by DDName name in the GEANT3 style.
DDrot() returns a reference-object DDRotation representing the rotation matrix.
Definition at line 102 of file DDRotation.cc.
References CastorDataFrameFilter_impl::check(), funct::cos(), edm::hlt::Exception, DDName::name(), makeMuonMisalignmentScenario::rot, funct::sin(), vdt::x, detailsBasic3DVector::y, and detailsBasic3DVector::z.
DDRotation DDrotReflect | ( | const DDName & | ddname, |
DDRotationMatrix * | rot | ||
) |
Definition at line 128 of file DDRotation.cc.
DDRotation DDrotReflect | ( | const DDName & | ddname, |
double | thetaX, | ||
double | phiX, | ||
double | thetaY, | ||
double | phiY, | ||
double | thetaZ, | ||
double | phiZ | ||
) |
Defines a rotation-reflection in the Geant3 way.
The resulting matrix MUST be a LEFThanded orthonormal system, otherwise a DDException will be thrown!
Definition at line 138 of file DDRotation.cc.
References CastorDataFrameFilter_impl::check(), funct::cos(), edm::hlt::Exception, DDName::name(), makeMuonMisalignmentScenario::rot, funct::sin(), vdt::x, detailsBasic3DVector::y, and detailsBasic3DVector::z.
Referenced by DDLRotationAndReflection::processElement().
std::ostream& operator<< | ( | std::ostream & | os, |
const DDRotation & | r | ||
) |
Definition at line 19 of file DDRotation.cc.
References DCOUT_V, DDBase< N, C >::isDefined(), submit::rm, and DDRotation::rotation().