8 #include "Math/GenVector/RotationZ.h" 16 compNDiv_(div.nReplicas()),
17 compWidth_(div.
width()),
19 theVoluFirstCopyNo_(1),
30 return std::make_unique<DDRotationMatrix>(ROOT::Math::RotationZ(rotZ));
38 return (motherDim -
offset) / nDiv;
46 std::string s =
"DDDividedGeometryObject::checkParametersValidity() :";
47 s +=
"\n ERROR - the LogicalPart of the parent must be ";
48 s +=
"\n defined before a division can occur.";
56 std::string s =
"DDDividedGeometryObject::checkOffset() IllegalConstruct";
57 s +=
"\nERROR - DDDividedGeometryObject::checkOffset()";
59 s +=
" Too big an offset.";
66 std::string s =
"ERROR - DDDividedGeometryObject::checkNDivAndWidth()";
68 s +=
" has too big an offset.";
77 static const double tol = 1.0 / 1000.00;
void position(const DDLogicalPart &self, const DDLogicalPart &parent, const std::string ©no, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=nullptr)
void checkOffset(double maxPar)
virtual DDRotation makeDDRotation(int copyNo) const
Compact representation of the geometrical detector hierarchy.
const DDLogicalPart & parent() const
virtual DDLogicalPart makeDDLogicalPart(int copyNo) const
virtual void checkParametersValidity(void)
DDDividedGeometryObject(const DDDivision &div, DDCompactView *cpv)
Represents a uniquely identifyable rotation matrix.
static const double tolerance(void)
virtual const std::string & getType(void) const
const std::string & name() const
Returns the name.
DivisionType divisionType_
int calculateNDiv(double motherDim, double width, double offset) const
virtual double getMaxParameter(void) const
virtual void execute(void)
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
std::string toString() const
virtual void setType(const std::string &type)
std::unique_ptr< DDRotationMatrix > changeRotMatrix(double rotZ=0.) const
double calculateWidth(double motherDim, int nDiv, double offset) const
virtual DDTranslation makeDDTranslation(int copyNo) const
def_type isDefined() const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
void checkNDivAndWidth(double maxPar)