#include <cstdio>
#include <atomic>
#include <cmath>
#include <sstream>
#include <string>
#include "DetectorDescription/Core/interface/DDRotationMatrix.h"
#include "DetectorDescription/Core/interface/DDTranslation.h"
#include "DetectorDescription/Core/interface/DDBase.h"
#include "DetectorDescription/Core/interface/DDName.h"
#include "DetectorDescription/Core/interface/DDTransform.h"
#include "DataFormats/Math/interface/GeantUnits.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "FWCore/Utilities/interface/Exception.h"
#include "Math/GenVector/AxisAngle.h"
#include "Math/GenVector/Cartesian3D.h"
#include "Math/GenVector/DisplacementVector3D.h"
Go to the source code of this file.
Functions | |
DDRotation | DDanonymousRot (std::unique_ptr< DDRotationMatrix > rot) |
Defines a anonymous rotation or rotation-reflection matrix. More... | |
std::unique_ptr< 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, std::unique_ptr< 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... | |
std::unique_ptr< DDRotation > | DDrotPtr (const DDName &ddname, std::unique_ptr< DDRotationMatrix > rot) |
DDRotation | DDrotReflect (const DDName &ddname, std::unique_ptr< 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 | ( | std::unique_ptr< 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 143 of file DDRotation.cc.
References eostools::move(), and makeMuonMisalignmentScenario::rot.
Referenced by DDTIBLayerAlgo::execute().
std::unique_ptr<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 120 of file DDRotation.cc.
References RPCNoise_example::check, angle_units::operators::convertRadToDeg(), funct::cos(), Exception, EcalTangentSkim_cfg::o, funct::sin(), DOFs::thetaX, DOFs::thetaY, DOFs::thetaZ, x, relval_data_highstats::y, and ctppsOpticalFunctions_non_DB_cff::z.
Referenced by DDHGCalNoTaperEndcap::createQuarter(), DDAngular::execute(), DDMTDLinear::execute(), and DDTIBLayerAlgo::execute().
DDRotation DDrot | ( | const DDName & | ddname, |
std::unique_ptr< 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 67 of file DDRotation.cc.
References eostools::move(), and makeMuonMisalignmentScenario::rot.
Referenced by DDPixFwdBlades::computeNippleParameters(), DDHCalBarrelAlgo::constructGeneralVolume(), DDHCalEndcapAlgo::constructGeneralVolume(), DDHGCalNoTaperEndcap::createQuarter(), DDLinear::execute(), DDTIDModulePosAlgo::execute(), DDAngular::execute(), DDTotemAngular::execute(), DDTrackerAngular::execute(), DDTrackerPhiAlgo::execute(), DDTrackerPhiAltAlgo::execute(), DDHGCalWafer::execute(), DDMTDLinear::execute(), DDTIDRingAlgo::execute(), DDPixFwdDiskAlgo::execute(), DDTECOptoHybAlgo::execute(), DDTECPhiAlgo::execute(), DDTECPhiAltAlgo::execute(), DDTIDAxialCableAlgo::execute(), DDHCalTestBeamAlgo::execute(), DDHCalAngular::execute(), DDPixPhase1FwdDiskAlgo::execute(), DDHCalXtalAlgo::execute(), DDHGCalWaferAlgo::execute(), DDHCalTBZposAlgo::execute(), DDPixFwdRotation::execute(), DDGEMAngular::execute(), DDMuonAngular::execute(), DDTIBLayerAlgo::execute(), DDPixBarLayerAlgo::execute(), DDPixBarLayerUpgradeAlgo::execute(), DDHCalTBCableAlgo::execute(), DDHCalFibreBundle::execute(), DDPixFwdBladesNew::execute(), DDTrackerRingAlgo::execute(), DDTrackerIrregularRingAlgo::execute(), DDPixFwdBlades::execute(), DDDividedTubsPhi::makeDDRotation(), DDDividedConsPhi::makeDDRotation(), DDDividedPolyconePhi::makeDDRotation(), DDDividedPolyhedraPhi::makeDDRotation(), DDTBH4Algo::myrot(), DDEcalBarrelNewAlgo::myrot(), DDEcalBarrelAlgo::myrot(), DDEcalEndcapAlgo::myrot(), DDLRotationSequence::processElement(), DDLRotationByAxis::processElement(), DDLRotationAndReflection::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 78 of file DDRotation.cc.
References RPCNoise_example::check, funct::cos(), Exception, DDName::name(), funct::sin(), DOFs::thetaX, DOFs::thetaY, DOFs::thetaZ, x, relval_data_highstats::y, and ctppsOpticalFunctions_non_DB_cff::z.
std::unique_ptr<DDRotation> DDrotPtr | ( | const DDName & | ddname, |
std::unique_ptr< DDRotationMatrix > | rot | ||
) |
Definition at line 72 of file DDRotation.cc.
References eostools::move(), and makeMuonMisalignmentScenario::rot.
Referenced by DDLPosPart::processElement().
DDRotation DDrotReflect | ( | const DDName & | ddname, |
std::unique_ptr< DDRotationMatrix > | rot | ||
) |
Definition at line 96 of file DDRotation.cc.
References eostools::move(), and makeMuonMisalignmentScenario::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.
The resulting matrix MUST be a LEFThanded orthonormal system, otherwise a DDException will be thrown!
Definition at line 101 of file DDRotation.cc.
References RPCNoise_example::check, funct::cos(), Exception, DDName::name(), funct::sin(), DOFs::thetaX, DOFs::thetaY, DOFs::thetaZ, x, relval_data_highstats::y, and ctppsOpticalFunctions_non_DB_cff::z.
Referenced by DDLRotationAndReflection::processElement().
std::ostream& operator<< | ( | std::ostream & | os, |
const DDRotation & | r | ||
) |
Definition at line 21 of file DDRotation.cc.
References angle_units::operators::convertRadToDeg(), l1tGTMenu_BTagSeeds_cff::os, and eostools::rm().