CMS 3D CMS Logo

DDExpandedNode.cc
Go to the documentation of this file.
2 
3 #include <cassert>
4 #include <ostream>
5 
9 
11  const DDPosData * pd,
12  const DDTranslation & t,
13  const DDRotationMatrix & r,
14  int siblingno)
15  : logp_(lp), posd_(pd), trans_(t), rot_(r), siblingno_(siblingno)
16 { }
17 
19 { }
20 
22  return ( (logp_==n.logp_) &&
23  (posd_->copyno() == n.posd_->copyno()) );
24 }
25 
27 {
28  assert( posd_ );
29  return posd_->copyno();
30 }
31 
32 std::ostream & operator<<(std::ostream & os, const DDExpandedNode & n)
33 {
34  os << n.logicalPart().name()
35  << '[' << n.copyno() << ']';
36  return os;
37 }
38 
39 std::ostream & operator<<(std::ostream & os, const DDGeoHistory & h)
40 {
41  for( const auto& it : h ) {
42  os << '/' << it;
43  }
44  return os;
45 }
Relative position of a child-volume inside a parent-volume.
Definition: DDPosData.h:13
const N & name() const
Definition: DDBase.h:78
DDExpandedNode(const DDLogicalPart &lp, const DDPosData *pd, const DDTranslation &t, const DDRotationMatrix &r, int siblingno)
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
const DDPosData * posd_
represents one node in the DDExpandedView
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:92
std::vector< DDExpandedNode > DDGeoHistory
Geometrical &#39;path&#39; of the current node up to the root-node.
int copyno() const
Definition: DDPosData.h:35
std::ostream & operator<<(std::ostream &os, const DDExpandedNode &n)
int copyno() const
copy number of this node
DDLogicalPart logp_
bool operator==(const DDExpandedNode &n) const
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
const DDLogicalPart & logicalPart() const
the LogicalPart describing this node