17 #include "CLHEP/Units/PhysicalConstants.h"
18 #include "CLHEP/Units/SystemOfUnits.h"
22 LogDebug(
"PixelGeom") <<
"DDPixBarStackTrigLayerAlgo info: Creating an instance";
35 genMat = sArgs[
"GeneralMaterial"];
36 number = int(nArgs[
"Ladders"]);
41 ladder = vsArgs[
"LadderName"];
46 <<
" layerR = " <<
layerR << std::endl;
54 double dphi = CLHEP::twopi/
number;
60 rtmi, rtmx, 0, CLHEP::twopi);
61 LogDebug(
"PixelGeom") <<
"DDPixBarLayerAlgo test: "
63 <<
genMat <<
" from 0 to " << CLHEP::twopi/CLHEP::deg
64 <<
" with Rin " << rtmi <<
" Rout " << rtmx
75 double phi0 = 90*CLHEP::deg;
78 double phi = phi0 +
i*dphi;
79 double phix, phiy, rrr ;
85 rrr = rtmi+ 0.5* ladderThick[0];
88 if (iup > 0) phix = phi-90*CLHEP::deg;
89 else phix = phi+90*CLHEP::deg;
90 phiy = phix+90.*CLHEP::deg;
92 LogDebug(
"PixelGeom") <<
"DDPixBarStackTrigLayerAlgo test: Creating a new "
93 <<
"rotation: " << rots <<
"\t90., " << phix/CLHEP::deg
94 <<
", 90.," << phiy/CLHEP::deg <<
", 0, 0";
100 cpv.
position (ladderFull, layer, copy, tran, rot);
102 LogDebug(
"PixelGeom") <<
"DDPixBarStackTrigLayerAlgo test: " << ladderFull
103 <<
" number " << copy <<
" positioned in "
104 << layer.name() <<
" at " << tran <<
" with "
DDPixBarStackTrigLayerAlgo()
virtual ~DDPixBarStackTrigLayerAlgo()
DDMaterial is used to define and access material information.
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)
void initialize(const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs)
DDName is used to identify DDD entities uniquely.
static std::string & ns()
std::string dbl_to_string(const double &in)
Converts only the integer part of a double to a string.
type of data representation of DDCompactView
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)
void execute(DDCompactView &cpv)
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::vector< std::string > ladder
std::vector< double > ladderWidth
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'
const std::string & name() const
Returns the name.
std::vector< double > ladderThick