1 #ifndef DDLogicalPart_h
2 #define DDLogicalPart_h
21 namespace DDI {
class LogicalPart; }
128 std::vector<const DDsvalues_type *>
specifics()
const;
134 void addSpecifics(
const std::pair<DDPartSelection*,DDsvalues_type*> &);
135 void removeSpecifics(
const std::pair<DDPartSelection*,DDsvalues_type*> &);
136 const std::vector< std::pair<DDPartSelection*,DDsvalues_type*> > &
attachedSpecifics()
const;
154 std::pair<bool,std::string>
DDIsValid(
const std::string & ns,
const std::string &
name, std::vector<DDLogicalPart> &
result,
bool doRegex=
true);
bool hasDDValue(const DDValue &) const
const DDName & name() const
DDMaterial is used to define and access material information.
std::vector< const DDsvalues_type * > specifics() const
returns the specific-data attached to the LogicalPart only (not to a DDExpandedNode) ...
friend std::ostream & operator<<(std::ostream &, const DDLogicalPart &)
DDName is used to identify DDD entities uniquely.
std::ostream & operator<<(std::ostream &out, const ALILine &li)
const DDMaterial & material() const
Returns a reference object of the material this LogicalPart is made of.
DDLogicalPart()
The default constructor provides an uninitialzed reference object.
A DDSolid represents the shape of a part.
const std::vector< std::pair< DDPartSelection *, DDsvalues_type * > > & attachedSpecifics() const
void addSpecifics(const std::pair< DDPartSelection *, DDsvalues_type * > &)
don't use, internal only /todo make it private
void DD_NC(const DDName &)
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
std::maps an index to a DDValue. The index corresponds to the index assigned to the name of the std::...
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
DDsvalues_type mergedSpecifics() const
returns the merged-specifics, i.e. the last specified specifics of this logical-part ...
DDI::Singleton< std::map< std::string, std::vector< DDName > > > LPNAMES
void removeSpecifics(const std::pair< DDPartSelection *, DDsvalues_type * > &)
const DDSolid & solid() const
Returns a reference object of the solid being the shape of this LogicalPart.
std::pair< bool, std::string > DDIsValid(const std::string &ns, const std::string &name, std::vector< DDLogicalPart > &result, bool doRegex=true)
double & weight()
Weight of the LogicalPart viewed as a component, if cached, else -1.
DDEnums::Category category() const
Returns the categorization of the DDLogicalPart (sensitive detector element, cable, ...)
Interface to attach user specific data to nodes in the expanded-view.