102 LogDebug(
"TOBGeom") <<
"==>> Constructing DDTOBRadCableAlgo...";
110 double dz, rin, rout;
113 name =
"TOBCoolingManifold" +
names[
i] +
"a";
117 LogDebug(
"TOBGeom") <<
"DDTOBRadCableAlgo test: " 124 DDMaterial coolManifoldMatter_a(coolManifoldName_a);
126 coolManifoldMatter_a, solid);
130 LogDebug(
"TOBGeom") <<
"DDTOBRadCableAlgo test: " 132 <<
" positioned in " << diskName <<
" at " <<
r1 133 <<
" with no rotation";
135 name =
"TOBCoolingManifoldFluid" +
names[
i] +
"a";
138 LogDebug(
"TOBGeom") <<
"DDTOBRadCableAlgo test: " 146 DDMaterial coolManifoldFluidMatter_a(coolManifoldFluidName_a);
148 coolManifoldFluidMatter_a, solid);
151 LogDebug(
"TOBGeom") <<
"DDTOBRadCableAlgo test: " 153 <<
" positioned in " << coolManifoldName_a
154 <<
" with no translation and no rotation";
156 name =
"TOBCoolingManifold" +
names[
i] +
"r";
161 LogDebug(
"TOBGeom") <<
"DDTOBRadCableAlgo test: " 168 DDMaterial coolManifoldMatter_r(coolManifoldName_r);
170 coolManifoldMatter_r, solid);
174 LogDebug(
"TOBGeom") <<
"DDTOBRadCableAlgo test: " 176 <<
" positioned in " << diskName <<
" at " << r1
177 <<
" with no rotation";
179 name =
"TOBCoolingManifoldFluid" +
names[
i] +
"r";
182 LogDebug(
"TOBGeom") <<
"DDTOBRadCableAlgo test: " 190 DDMaterial coolManifoldFluidMatter_r(coolManifoldFluidName_r);
192 coolManifoldFluidMatter_r, solid);
195 LogDebug(
"TOBGeom") <<
"DDTOBRadCableAlgo test: " 197 <<
" positioned in " << coolManifoldName_r
198 <<
" with no translation and no rotation";
201 name =
"TOBConn" +
names[
i];
206 rout, 0, CLHEP::twopi);
207 LogDebug(
"TOBGeom") <<
"DDTOBRadCableAlgo test: " 209 <<
connM[
i] <<
" from 0 to " << CLHEP::twopi/CLHEP::deg
210 <<
" with Rin " << rin <<
" Rout " << rout
218 LogDebug(
"TOBGeom") <<
"DDTOBRadCableAlgo test: " 220 <<
" positioned in " << diskName <<
" at " <<
r2 221 <<
" with no rotation";
224 name =
"TOBRadServices" +
names[
i];
227 std::vector<double> pgonZ;
228 pgonZ.emplace_back(-0.5*
cableT);
230 pgonZ.emplace_back(0.5*
cableT);
231 std::vector<double> pgonRmin;
232 pgonRmin.emplace_back(rin);
233 pgonRmin.emplace_back(rin);
234 pgonRmin.emplace_back(rin);
235 std::vector<double> pgonRmax;
236 pgonRmax.emplace_back(rout);
237 pgonRmax.emplace_back(rout);
238 pgonRmax.emplace_back(rout);
240 pgonZ, pgonRmin, pgonRmax);
241 LogDebug(
"TOBGeom") <<
"DDTOBRadCableAlgo test: " 244 << CLHEP::twopi/CLHEP::deg <<
" and with " 245 << pgonZ.size() <<
" sections";
246 for (
int ii = 0;
ii < (
int)(pgonZ.size());
ii++)
247 LogDebug(
"TOBGeom") <<
"\t[" <<
ii <<
"]\tZ = " << pgonZ[
ii]
248 <<
"\tRmin = " << pgonRmin[
ii] <<
"\tRmax = " 256 LogDebug(
"TOBGeom") <<
"DDTOBRadCableAlgo test: " 258 <<
" positioned in " << diskName <<
" at " << r3
259 <<
" with no rotation";
263 LogDebug(
"TOBGeom") <<
"<<== End of DDTOBRadCableAlgo construction ...";
static DDSolid torus(const DDName &name, double rMin, double rMax, double rTorus, double startPhi, double deltaPhi)
DDMaterial is used to define and access material information.
static DDSolid polycone(const DDName &name, double startPhi, double deltaPhi, const std::vector< double > &z, const std::vector< double > &rmin, const std::vector< double > &rmax)
Creates a polycone (refere to Geant3 or Geant4 documentation)
std::vector< double > rodRout
DDName is used to identify DDD entities uniquely.
std::vector< double > coolR2
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)
std::vector< double > rodRin
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::vector< std::string > names
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 > coolR1
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'
std::vector< std::string > connM
std::vector< std::string > cableM