CMS 3D CMS Logo

Public Member Functions | Friends

DDDivision Class Reference

#include <DDDivision.h>

Inheritance diagram for DDDivision:
DDBase< DDName, DDI::Division * >

List of all members.

Public Member Functions

const DDAxes axis () const
 DDDivision (const DDName &name)
 Creates a refernce object referring to the appropriate XML specification.
 DDDivision (const DDName &name, const DDLogicalPart &parent, const DDAxes axis, const int nReplicas, const double offset)
 Registers (creates) a reference object representing a Division.
 DDDivision (const DDName &name, const DDLogicalPart &parent, const DDAxes axis, const double width, const double offset)
 Registers (creates) a reference object representing a Division.
 DDDivision ()
 The default constructor provides an uninitialzed reference object.
 DDDivision (const DDName &name, const DDLogicalPart &parent, const DDAxes axis, const int nReplicas, const double width, const double offset)
 Registers (creates) a reference object representing a Division.
const int nReplicas () const
const double offset () const
const DDLogicalPartparent () const
const double width () const

Friends

std::ostream & operator<< (std::ostream &, const DDDivision &)

Detailed Description

Definition at line 71 of file DDDivision.h.


Constructor & Destructor Documentation

DDDivision::DDDivision ( )

The default constructor provides an uninitialzed reference object.

Definition at line 42 of file DDDivision.cc.

DDDivision::DDDivision ( const DDName name)

Creates a refernce object referring to the appropriate XML specification.

Definition at line 45 of file DDDivision.cc.

References DDI::Singleton< I >::instance(), and DDBase< DDName, DDI::Division * >::prep_.

                                           : DDBase<DDName,DDI::Division*>()
{
  prep_ = StoreT::instance().create(name);
  //  DD_NDC(name);
}
DDDivision::DDDivision ( const DDName name,
const DDLogicalPart parent,
const DDAxes  axis,
const int  nReplicas,
const double  width,
const double  offset 
)

Registers (creates) a reference object representing a Division.

... Constructor with number of divisions and width

Definition at line 51 of file DDDivision.cc.

References DCOUT, DDI::Singleton< I >::instance(), DDBase< DDName, DDI::Division * >::name(), DDBase< N, C >::name(), offset(), and DDBase< DDName, DDI::Division * >::prep_.

                                   :  DDBase<DDName,DDI::Division*>()
{
  DCOUT('C', "create Division name=" << name << " parent=" << parent.name() << " axis=" << DDAxesNames::name(axis) << " nReplicas=" << nReplicas << " width=" << width << " offset=" << offset);
  prep_ = StoreT::instance().create(name, new Division(parent, axis, nReplicas, width, offset)); 
  //  DD_NDC(name);
} 
DDDivision::DDDivision ( const DDName name,
const DDLogicalPart parent,
const DDAxes  axis,
const int  nReplicas,
const double  offset 
)

Registers (creates) a reference object representing a Division.

... Constructor with number of divisions

Definition at line 63 of file DDDivision.cc.

References DCOUT, DDI::Singleton< I >::instance(), DDBase< DDName, DDI::Division * >::name(), DDBase< N, C >::name(), offset(), and DDBase< DDName, DDI::Division * >::prep_.

{
  DCOUT('C', "create Division name=" << name << " parent=" << parent.name() << " axis=" << DDAxesNames::name(axis) << " nReplicas=" << nReplicas << " offset=" << offset);
  prep_ = StoreT::instance().create(name, new Division(parent, axis, nReplicas, offset)); 
  //  DD_NDC(name);
}
DDDivision::DDDivision ( const DDName name,
const DDLogicalPart parent,
const DDAxes  axis,
const double  width,
const double  offset 
)

Registers (creates) a reference object representing a Division.

... Constructor with width

Definition at line 74 of file DDDivision.cc.

References DCOUT, DDI::Singleton< I >::instance(), DDBase< DDName, DDI::Division * >::name(), DDBase< N, C >::name(), offset(), and DDBase< DDName, DDI::Division * >::prep_.

{
  DCOUT('C', "create Division name=" << name << " parent=" << parent.name() << " axis=" << DDAxesNames::name(axis) << " width=" << width << " offset=" << offset);
  prep_ = StoreT::instance().create(name, new Division(parent, axis, width, offset)); 
  //  DD_NDC(name);
}

Member Function Documentation

const DDAxes DDDivision::axis ( ) const
const int DDDivision::nReplicas ( ) const
const double DDDivision::offset ( ) const

Definition at line 100 of file DDDivision.cc.

References DDBase< DDName, DDI::Division * >::rep().

Referenced by DDDividedGeometryObject::checkNDivAndWidth(), DDDividedGeometryObject::checkOffset(), DDDividedPolyhedraZ::checkParametersValidity(), DDDividedPolyconeZ::checkParametersValidity(), DDDividedPolyhedraRho::checkParametersValidity(), DDDividedPolyhedraPhi::checkParametersValidity(), DDDividedPolyconeRho::checkParametersValidity(), DDDividedBoxX::DDDividedBoxX(), DDDividedBoxY::DDDividedBoxY(), DDDividedBoxZ::DDDividedBoxZ(), DDDividedConsPhi::DDDividedConsPhi(), DDDividedConsRho::DDDividedConsRho(), DDDividedConsZ::DDDividedConsZ(), DDDividedPolyconePhi::DDDividedPolyconePhi(), DDDividedPolyconeRho::DDDividedPolyconeRho(), DDDividedPolyconeZ::DDDividedPolyconeZ(), DDDividedPolyhedraPhi::DDDividedPolyhedraPhi(), DDDividedPolyhedraRho::DDDividedPolyhedraRho(), DDDividedPolyhedraZ::DDDividedPolyhedraZ(), DDDividedTrdX::DDDividedTrdX(), DDDividedTrdY::DDDividedTrdY(), DDDividedTrdZ::DDDividedTrdZ(), DDDividedTubsPhi::DDDividedTubsPhi(), DDDividedTubsRho::DDDividedTubsRho(), DDDividedTubsZ::DDDividedTubsZ(), DDDivision(), DDDividedConsRho::makeDDLogicalPart(), DDDividedTrdZ::makeDDLogicalPart(), DDDividedTubsPhi::makeDDLogicalPart(), DDDividedConsZ::makeDDLogicalPart(), DDDividedPolyhedraPhi::makeDDLogicalPart(), DDDividedConsPhi::makeDDLogicalPart(), DDDividedPolyconePhi::makeDDLogicalPart(), DDDividedPolyhedraRho::makeDDLogicalPart(), DDDividedTubsRho::makeDDLogicalPart(), DDDividedPolyconeRho::makeDDLogicalPart(), DDDividedTrdZ::makeDDTranslation(), DDDividedTrdY::makeDDTranslation(), DDDividedConsZ::makeDDTranslation(), DDDividedBoxX::makeDDTranslation(), DDDividedTubsZ::makeDDTranslation(), DDDividedBoxZ::makeDDTranslation(), DDDividedPolyhedraZ::makeDDTranslation(), DDDividedTrdX::makeDDTranslation(), and DDDividedBoxY::makeDDTranslation().

{
  return rep().offset();
}
const DDLogicalPart & DDDivision::parent ( ) const

Definition at line 105 of file DDDivision.cc.

References DDBase< DDName, DDI::Division * >::rep().

Referenced by DDDividedGeometryObject::checkNDivAndWidth(), DDDividedGeometryObject::checkOffset(), DDDividedPolyhedraZ::checkParametersValidity(), DDDividedPolyconeZ::checkParametersValidity(), DDDividedTrdZ::checkParametersValidity(), DDDividedGeometryObject::checkParametersValidity(), DDDividedPolyhedraRho::checkParametersValidity(), DDDividedTrdX::checkParametersValidity(), DDDividedTrdY::checkParametersValidity(), DDDividedPolyhedraPhi::checkParametersValidity(), DDDividedPolyconeRho::checkParametersValidity(), DDDividedBoxX::DDDividedBoxX(), DDDividedBoxY::DDDividedBoxY(), DDDividedBoxZ::DDDividedBoxZ(), DDDividedConsPhi::DDDividedConsPhi(), DDDividedConsRho::DDDividedConsRho(), DDDividedConsZ::DDDividedConsZ(), DDDividedPolyconePhi::DDDividedPolyconePhi(), DDDividedPolyconeRho::DDDividedPolyconeRho(), DDDividedPolyconeZ::DDDividedPolyconeZ(), DDDividedPolyhedraPhi::DDDividedPolyhedraPhi(), DDDividedPolyhedraRho::DDDividedPolyhedraRho(), DDDividedPolyhedraZ::DDDividedPolyhedraZ(), DDDividedTrdX::DDDividedTrdX(), DDDividedTrdY::DDDividedTrdY(), DDDividedTrdZ::DDDividedTrdZ(), DDDividedTubsPhi::DDDividedTubsPhi(), DDDividedTubsRho::DDDividedTubsRho(), DDDividedTubsZ::DDDividedTubsZ(), DDDividedGeometryObject::execute(), DDDividedPolyhedraRho::getMaxParameter(), DDDividedPolyconeZ::getMaxParameter(), DDDividedConsPhi::getMaxParameter(), DDDividedTubsZ::getMaxParameter(), DDDividedPolyconeRho::getMaxParameter(), DDDividedTrdY::getMaxParameter(), DDDividedTrdZ::getMaxParameter(), DDDividedPolyconePhi::getMaxParameter(), DDDividedTubsRho::getMaxParameter(), DDDividedTrdX::getMaxParameter(), DDDividedTubsPhi::getMaxParameter(), DDDividedBoxY::getMaxParameter(), DDDividedPolyhedraPhi::getMaxParameter(), DDDividedBoxZ::getMaxParameter(), DDDividedBoxX::getMaxParameter(), DDDividedPolyhedraZ::getMaxParameter(), DDDividedConsZ::getMaxParameter(), DDDividedConsRho::getMaxParameter(), DDDividedConsRho::makeDDLogicalPart(), DDDividedTubsPhi::makeDDLogicalPart(), DDDividedTrdZ::makeDDLogicalPart(), DDDividedBoxX::makeDDLogicalPart(), DDDividedTrdY::makeDDLogicalPart(), DDDividedPolyhedraPhi::makeDDLogicalPart(), DDDividedConsZ::makeDDLogicalPart(), DDDividedGeometryObject::makeDDLogicalPart(), DDDividedPolyhedraRho::makeDDLogicalPart(), DDDividedPolyconePhi::makeDDLogicalPart(), DDDividedConsPhi::makeDDLogicalPart(), DDDividedTrdX::makeDDLogicalPart(), DDDividedTubsRho::makeDDLogicalPart(), DDDividedPolyhedraZ::makeDDLogicalPart(), DDDividedBoxZ::makeDDLogicalPart(), DDDividedPolyconeRho::makeDDLogicalPart(), DDDividedBoxY::makeDDLogicalPart(), DDDividedTubsZ::makeDDLogicalPart(), DDDividedPolyconeZ::makeDDLogicalPart(), DDDividedPolyconePhi::makeDDRotation(), DDDividedConsPhi::makeDDRotation(), DDDividedTubsPhi::makeDDRotation(), DDDividedPolyhedraPhi::makeDDRotation(), DDDividedTrdZ::makeDDTranslation(), DDDividedTrdY::makeDDTranslation(), DDDividedConsZ::makeDDTranslation(), DDDividedTubsZ::makeDDTranslation(), DDDividedBoxX::makeDDTranslation(), DDDividedPolyconeZ::makeDDTranslation(), DDDividedTrdX::makeDDTranslation(), DDDividedPolyhedraZ::makeDDTranslation(), DDDividedBoxZ::makeDDTranslation(), DDDividedBoxY::makeDDTranslation(), and DDLDivision::makeDivider().

{
  return rep().parent();
}
const double DDDivision::width ( ) const

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const DDDivision div 
) [friend]

Definition at line 24 of file DDDivision.cc.

{
  DDBase<DDName,Division*>::def_type defined(div.isDefined());
  if (defined.first) {
    os << *(defined.first) << " ";
    if (defined.second) {
      div.rep().stream(os); 
    }
    else {
      os << "* division not defined * ";  
    }
  }  
  else {
    os << "* division not declared * ";  
  }  
  return os;
}