117 double dphi = CLHEP::twopi /
number;
124 <<
genMat <<
" from 0 to " << CLHEP::twopi / CLHEP::deg <<
" with Rin " << rtmi <<
" Rout " 125 << rtmx <<
" ZHalf " << 0.5 *
layerDz;
133 LogDebug(
"PixelGeom") <<
"DDPixBarLayerUpgradeAlgo test: " << solid.
name() <<
" Tubs made of " <<
tubeMat 134 <<
" from 0 to " << CLHEP::twopi / CLHEP::deg <<
" with Rout " <<
coolRadius <<
" ZHalf " 143 <<
" from 0 to " << CLHEP::twopi / CLHEP::deg <<
" with Rout " <<
coolRadius <<
" ZHalf " 151 LogDebug(
"PixelGeom") <<
"DDPixBarLayerUpgradeAlgo test: " << solid.
name() <<
" Tubs made of " <<
tubeMat 153 <<
" ZHalf " << 0.5 *
coolDz;
157 LogDebug(
"PixelGeom") <<
"DDPixBarLayerUpgradeAlgo test: " << cool.name() <<
" number 1 positioned in " 158 << coolTube.name() <<
" at (0,0,0) with no rotation";
165 <<
" ZHalf " << 0.5 *
coolDz;
169 LogDebug(
"PixelGeom") <<
"DDPixBarLayerUpgradeAlgo test: " << cool.name() <<
" number 1 positioned in " 170 << coolTube.name() <<
" at (0,0,0) with no rotation";
174 int copyoffset =
number + 2;
177 double phix, phiy, rrr, rrroffset;
183 if ((
i == 1) || (
i ==
number / 2 + 1)) {
196 phix =
phi - 90 * CLHEP::deg;
198 phix =
phi + 90 * CLHEP::deg;
199 phiy = phix + 90. * CLHEP::deg;
200 LogDebug(
"PixelGeom") <<
"DDPixBarLayerUpgradeAlgo test: Creating a new " 201 <<
"rotation: " << rots <<
"\t90., " << phix / CLHEP::deg <<
", 90.," << phiy / CLHEP::deg
205 LogDebug(
"PixelGeom") <<
"DDPixBarLayerUpgradeAlgo test: " << ladderFull <<
" number " <<
copy <<
" positioned in " 206 <<
layer.name() <<
" at " << tran <<
" with " <<
rot;
210 phix =
phi + 90. * CLHEP::deg;
213 phiy = phix + 90. * CLHEP::deg;
214 LogDebug(
"PixelGeom") <<
"DDPixBarLayerUpgradeAlgo test: Creating a new " 215 <<
"rotation: " << rots <<
"\t90., " << phix / CLHEP::deg <<
", 90.," << phiy / CLHEP::deg
220 if ((
i == 1) || (
i ==
number / 2 + 1)) {
231 LogDebug(
"PixelGeom") <<
"DDPixBarLayerUpgradeAlgo test: " << coolTube.name() <<
" number " <<
i + 1
232 <<
" positioned in " <<
layer.name() <<
" at " << tran <<
" with " <<
rot;
void position(const DDLogicalPart &self, const DDLogicalPart &parent, const std::string ©no, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=nullptr)
DDMaterial is used to define and access material information.
Sin< T >::type sin(const T &t)
DDName is used to identify DDD entities uniquely.
std::string to_string(const V &value)
A DDSolid represents the shape of a part.
constexpr std::array< uint8_t, layerIndexSize > layer
Represents a uniquely identifyable rotation matrix.
U second(std::pair< T, U > const &p)
const std::string & name() const
Returns the name.
Cos< T >::type cos(const T &t)
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
static DDSolid tubs(const DDName &name, double zhalf, double rIn, double rOut, double startPhi, double deltaPhi)
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation