75 double phideg =
phi/CLHEP::deg;
79 LogDebug(
"HCalGeom") <<
"DDHCalFibreBundle test: Creating a new " 80 <<
"rotation " << rotstr <<
"\t" << 90 <<
"," 81 << phideg <<
"," << 90 <<
"," << (phideg+90)
84 90*CLHEP::deg, (90*CLHEP::deg+
phi), 0, 0);
86 rotation.emplace_back(rot);
90 std::vector<DDLogicalPart> logs;
98 r0-dEnd, r0+dEnd, -0.5*dPhi, dPhi);
99 LogDebug(
"HCalGeom") <<
"DDHCalFibreBundle test: Creating a new solid " 100 << name <<
" a cons with dZ " <<
deltaZ <<
" rStart " 102 <<
" rEnd " << r0-dEnd <<
":" << r0+dEnd <<
" Phi " 103 << -0.5*dPhi/CLHEP::deg <<
":" << 0.5*dPhi/CLHEP::deg;
105 logs.emplace_back(
log);
111 for (
unsigned int i=0;
i<
bundle.size();
i++) {
113 int ir = (
int)(
i)/nY;
114 if (ir >= numberPhi) ir = numberPhi-1;
117 if (ib>=0 && ib<(
int)(logs.size())) {
118 cpv.
position(logs[ib], mother, copy, tran, rotation[ir]);
119 LogDebug(
"HCalGeom") <<
"DDHCalFibreBundle test: " << logs[
ib].name()
120 <<
" number " << copy <<
" positioned in " 121 << mother <<
" at " << tran <<
" with "
DDMaterial is used to define and access material information.
static DDSolid cons(const DDName &name, double zhalf, double rInMinusZ, double rOutMinusZ, double rInPlusZ, double rOutPlusZ, double phiFrom, double deltaPhi)
DDName is used to identify DDD entities uniquely.
A DDSolid represents the shape of a part.
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 > areaSection
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
void position(const DDLogicalPart &self, const DDLogicalPart &parent, const std::string ©no, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=0)
std::vector< double > rEnd
std::vector< double > rStart
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'
std::vector< int > bundle