15 #include <CLHEP/Units/GlobalPhysicalConstants.h> 16 #include <CLHEP/Units/SystemOfUnits.h> 53 LogDebug(
"TOBGeom") <<
"DDTOBAxCableAlgo info: Creating an instance";
79 LogDebug(
"TOBGeom") <<
"DDTOBAxCableAlgo debug: Axial Service Sectors half-length " <<
sectorDz <<
"\tRin " 83 LogDebug(
"TOBGeom") <<
"DDTOBAxCableAlgo debug: List of materials for the sectors/3 parts";
85 LogDebug(
"TOBGeom") <<
"DDTOBAxCableAlgo debug: Sector/3 A";
89 LogDebug(
"TOBGeom") <<
"DDTOBAxCableAlgo debug: Sector/3 B";
93 LogDebug(
"TOBGeom") <<
"DDTOBAxCableAlgo debug: Sector/3 C";
99 LogDebug(
"TOBGeom") <<
"==>> Constructing DDTOBAxCableAlgo...";
106 double dz, rin, rout, startphi, widthphi, deltaphi;
126 << (startphi + deltaphi) / CLHEP::deg <<
" with Rin " << rin <<
" Rout " << rout <<
" ZHalf " 135 <<
" positioned in " << tubsName <<
" with no translation and no rotation";
139 startphi += deltaphi;
146 << (startphi + deltaphi) / CLHEP::deg <<
" with Rin " << rin <<
" Rout " << rout <<
" ZHalf " 155 <<
" positioned in " << tubsName <<
" with no translation and no rotation";
159 startphi += deltaphi;
166 << (startphi + deltaphi) / CLHEP::deg <<
" with Rin " << rin <<
" Rout " << rout <<
" ZHalf " 175 <<
" positioned in " << tubsName <<
" with no translation and no rotation";
178 LogDebug(
"TOBGeom") <<
"<<== End of DDTOBAxCableAlgo construction ...";
static AlgebraicMatrix initialize()
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
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.
DDName is used to identify DDD entities uniquely.
static std::string & ns()
vector< string > sectorNumber
Compact representation of the geometrical detector hierarchy.
A DDSolid represents the shape of a part.
Represents a uniquely identifyable rotation matrix.
U second(std::pair< T, U > const &p)
vector< string > sectorMaterial_B
vector< string > sectorMaterial_A
vector< double > sectorStartPhi
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)
vector< string > sectorMaterial_C
~DDTOBAxCableAlgo() override
#define DEFINE_EDM_PLUGIN(factory, type, name)
void execute(DDCompactView &cpv) override
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation