13 #include "CLHEP/Units/PhysicalConstants.h"
14 #include "CLHEP/Units/SystemOfUnits.h"
18 LogDebug(
"TrackerGeom") <<
"DDPixBarStackLinear info: Creating an instance";
29 number = int(nArgs[
"Number"]);
30 theta = nArgs[
"Theta"];
33 delta = nArgs[
"Delta"];
35 rotMat = sArgs[
"Rotation"];
43 LogDebug(
"TrackerGeom") <<
"DDPixBarStackLinear debug: Parent " << parentName
44 <<
"\tChild " <<
childName <<
" NameSpace "
46 <<
"\tAxis (theta/phi) " <<
theta/CLHEP::deg <<
", "
47 <<
phi/CLHEP::deg <<
"\t(Offset/Delta) " <<
offset <<
", "
62 if (rotstr !=
"NULL") {
74 cpv.
position (child, mother, 2*
i+1, tran, rot);
75 LogDebug(
"TrackerGeom") <<
"DDPixBarStackLinear test: " << child <<
" number "
76 << 2*
i+1 <<
" positioned in " << mother <<
" at "
77 << tran <<
" with " <<
rot;
80 cpv.
position (child, mother, 2*
i+2, tran2, rot);
81 LogDebug(
"TrackerGeom") <<
"DDPixBarStackLinear test: " << child <<
" number "
82 << 2*
i+2 <<
" positioned in " << mother <<
" at "
83 << tran <<
" with " <<
rot;
89 cpv.
position (child, mother, 2*
i+1, tran3, rot);
90 LogDebug(
"TrackerGeom") <<
"DDPixBarStackLinear test: " << child <<
" number "
91 << 2*
i+1 <<
" positioned in " << mother <<
" at "
92 << tran <<
" with " <<
rot;
95 cpv.
position (child, mother, 2*
i+2, tran4, rot);
96 LogDebug(
"TrackerGeom") <<
"DDPixBarStackLinear test: " << child <<
" number "
97 << 2*
i+2 <<
" positioned in " << mother <<
" at "
98 << tran <<
" 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)
virtual ~DDPixBarStackLinear()
DDName is used to identify DDD entities uniquely.
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)
Cos< T >::type cos(const T &t)
std::vector< double > centre
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs)
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'
void execute(DDCompactView &cpv)
const std::string & name() const
Returns the name.