13 #include "CLHEP/Units/PhysicalConstants.h"
14 #include "CLHEP/Units/SystemOfUnits.h"
18 LogDebug(
"TrackerGeom") <<
"DDPixBarStackLinearGap info: Creating an instance";
29 number = int(nArgs[
"Number"]);
31 theta = nArgs[
"Theta"];
34 delta = nArgs[
"Delta"];
36 rotMat = sArgs[
"Rotation"];
44 LogDebug(
"TrackerGeom") <<
"DDPixBarStackLinearGap debug: Parent " << parentName
45 <<
"\tChild " <<
childName <<
" NameSpace "
47 <<
"\tAxis (theta/phi) " <<
theta/CLHEP::deg <<
", "
48 <<
phi/CLHEP::deg <<
"\t(Offset/Delta) " <<
offset <<
", "
63 if (rotstr !=
"NULL") {
75 cpv.
position (child, mother, 2*
i+1, tran, rot);
76 LogDebug(
"TrackerGeom") <<
"DDPixBarStackLinearGap test: " << child <<
" number "
77 << 2*
i+1 <<
" positioned in " << mother <<
" at "
78 << tran <<
" with " <<
rot;
81 cpv.
position (child, mother, 2*
i+2, tran2, rot);
82 LogDebug(
"TrackerGeom") <<
"DDPixBarStackLinearGap test: " << child <<
" number "
83 << 2*
i+2 <<
" positioned in " << mother <<
" at "
84 << tran2 <<
" with " <<
rot;
90 cpv.
position (child, mother, 2*
i+1, tran3, rot);
91 LogDebug(
"TrackerGeom") <<
"DDPixBarStackLinearGap test: " << child <<
" number "
92 << 2*
i+1 <<
" positioned in " << mother <<
" at "
93 << tran3 <<
" with " <<
rot;
96 cpv.
position (child, mother, 2*
i+2, tran4, rot);
97 LogDebug(
"TrackerGeom") <<
"DDPixBarStackLinearGap test: " << child <<
" number "
98 << 2*
i+2 <<
" positioned in " << mother <<
" at "
99 << tran4 <<
" with " <<
rot;
Sin< T >::type sin(const T &t)
void position(const DDLogicalPart &self, const DDLogicalPart &parent, std::string copyno, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=NULL)
DDName is used to identify DDD entities uniquely.
virtual ~DDPixBarStackLinearGap()
static std::string & ns()
type of data representation of DDCompactView
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Represents a uniquely identifyable rotation matrix.
U second(std::pair< T, U > const &p)
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs)
Cos< T >::type cos(const T &t)
void execute(DDCompactView &cpv)
std::vector< double > centre
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'