14 #include "CLHEP/Units/GlobalSystemOfUnits.h" 20 edm::LogInfo(
"HGCalGeom") <<
"DDHGCalWaferAlgo test: Creating an instance";
42 <<
" times with cell size " <<
cellSize << std::endl;
48 rotns = sArgs[
"RotNameSpace"];
60 edm::LogInfo(
"HGCalGeom") <<
"==>> Constructing DDHGCalWaferAlgo...";
63 double dy = 0.5*dx*
tan(30.0*CLHEP::deg);
72 rotstr = rotstr + std::to_string(
angles[k]);
76 std::cout <<
"DDHGCalWaferAlgo: Creating new rotation " 78 << (
angles[
k]+90) <<
", 0, 0" << std::endl;
81 angles[k]*CLHEP::deg, 90*CLHEP::deg,
82 (90+
angles[k])*CLHEP::deg, 0*CLHEP::deg,0*CLHEP::deg);
92 << copy <<
" positioned in " <<
parentName <<
" at " << tran
93 <<
" with " << rotation << std::endl;
DDName is used to identify DDD entities uniquely.
static std::string & ns()
Compact representation of the geometrical detector hierarchy.
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Represents a uniquely identifyable rotation matrix.
std::vector< int > dbl_to_int(const std::vector< double > &vecdbl)
Converts a std::vector of doubles to a std::vector of int.
Tan< T >::type tan(const T &t)
std::vector< int > positionX
std::vector< int > detectorType
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
std::vector< std::string > childNames
std::vector< int > positionY
void position(const DDLogicalPart &self, const DDLogicalPart &parent, const std::string ©no, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=0)
~DDHGCalWaferAlgo() override
std::vector< double > angles
void execute(DDCompactView &cpv) override