29 :
VGM::IPlacement(), fVolume(volume), fMotherVolume(motherVolume)
77 out <<
"\"" <<
Name() <<
"\"";
80 out <<
" volume: \"" <<
Volume()->Name() <<
"\"";
82 out <<
" volume: \"-\"";
85 out <<
" mother: \"" <<
Mother()->Name() <<
"\"";
87 out <<
" mother: \"-\"";
104 <<
" ndiv: " << nofItems <<
" width: " << width
105 <<
" offset: " << offset <<
" halfGap: " << halfGap;
143 return placement.
Put(out);
std::ostream & operator<<(std::ostream &out, const VGM::Transform &transform)
void SetVolume(VGM::IVolume *volume)
virtual int CopyNo() const =0
Return the copy number of this placement.
virtual VGM::IVolume * Volume() const
Return the associated volume.
virtual bool MultiplePlacementData(VGM::Axis &axis, int &nofDivisions, double &width, double &offset, double &halfGap) const =0
Fill the multiple placement data if relevant and return true; return false if not multiple placement.
virtual VGM::IVolume * Mother() const
Return the associated mother volume.
virtual std::ostream & Put(std::ostream &out) const
Put the printing of the placement parameters in the out stream.
virtual VGM::Transform Transformation() const =0
Return the 3D transformation (if simple placement)
VPlacement(VGM::IVolume *volume, VGM::IVolume *motherVolume)
virtual std::string Name() const =0
Return the name of this placement.
The VGM interface to positions of volumes.
virtual PlacementType Type() const =0
Return the type of this placement.
virtual std::ostream & Put(std::ostream &out) const =0
Put the printing of the placement parameters in the out stream.
The VGM interface to volumes.
virtual void AddDaughter(VGM::IPlacement *daughter)=0
Add the specified daughter.
std::string AxisTypeName(VGM::Axis typeId)
std::string PlacementTypeName(VGM::PlacementType typeId)