20#ifndef BASE_VGM_V_PLACEMENT_H
21#define BASE_VGM_V_PLACEMENT_H
39 virtual std::string
Name()
const = 0;
46 double& width,
double& offset,
double& halfGap)
const = 0;
50 virtual std::ostream&
Put(std::ostream& out)
const;
The abstract base class to positions of volumes.
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)
virtual std::string Name() const =0
Return the name of this placement.
The VGM interface to positions of volumes.
The VGM interface to volumes.
std::vector< double > Transform