#include <DetDesc/IPVolume.h>
Inheritance diagram for IPVolume:
Public Types | |
SUCCESS | |
NO_INTERFACE | |
VERSMISMATCH | |
LAST_ERROR | |
enum | Status |
Public Member Functions | |
virtual const std::string & | name () const =0 |
retrieve name of the physical volume (unique within mother logical volume) | |
virtual const std::string & | lvolumeName () const =0 |
retrieve the name of associated Logical Volume | |
virtual const ILVolume * | lvolume () const =0 |
retrieve the C++ pointer to Logical Volume | |
virtual const Gaudi::Transform3D & | matrix () const =0 |
get the tranformation matrix | |
virtual const Gaudi::Transform3D & | matrixInv () const =0 |
get the inverse transformation matrix | |
virtual Gaudi::XYZPoint | toLocal (const Gaudi::XYZPoint &PointInMother) const =0 |
transform point from Mother Reference System to the Local one | |
virtual Gaudi::XYZPoint | toMother (const Gaudi::XYZPoint &PointInLocal) const =0 |
transform point in Local Reference System to the Mother Reference System | |
virtual bool | isInside (const Gaudi::XYZPoint &PointInMother) const =0 |
check for 3D-point | |
virtual unsigned int | intersectLine (const Gaudi::XYZPoint &Point, const Gaudi::XYZVector &Vector, ILVolume::Intersections &intersections, const double threshold) const =0 |
Intersection of the physical volume with with line. | |
virtual unsigned int | intersectLine (const Gaudi::XYZPoint &Point, const Gaudi::XYZVector &Vector, ILVolume::Intersections &intersections, const ISolid::Tick tickMin, const ISolid::Tick tickMax, const double Threshold) const =0 |
Intersection of the physical volume with with line. | |
virtual std::ostream & | printOut (std::ostream &os=std::cout) const =0 |
printout to STD/STL stream | |
virtual MsgStream & | printOut (MsgStream &os) const =0 |
printout to Gaudi MsgStream stream | |
virtual IPVolume * | reset ()=0 |
reset to the initial state | |
virtual const Gaudi::Transform3D & | applyMisAlignment (const Gaudi::Transform3D &ma)=0 |
apply the misalignemnt to the transformation matrix | |
virtual const Gaudi::Transform3D & | resetMisAlignment ()=0 |
reset the misalignemnt | |
virtual | ~IPVolume () |
virtual destructor | |
virtual StatusCode | queryInterface (const InterfaceID &riid, void **ppvInterface)=0 |
virtual unsigned long | addRef ()=0 |
virtual unsigned long | release ()=0 |
Static Public Member Functions | |
static const InterfaceID & | interfaceID () |
retrieve the unique interface identifier | |
Public Attributes | |
SUCCESS | |
NO_INTERFACE | |
VERSMISMATCH | |
LAST_ERROR |
This is the minimal interface for "physical volume". It corresponds to Geant4 "Placement" philosophy.
Definition at line 33 of file IPVolume.h.
virtual IPVolume::~IPVolume | ( | ) | [virtual] |
virtual destructor
static const InterfaceID& IPVolume::interfaceID | ( | ) | [inline, static] |
retrieve the unique interface identifier
Reimplemented from IInterface.
Definition at line 40 of file IPVolume.h.
00040 { return IID_IPVolume; }
virtual const std::string& IPVolume::name | ( | ) | const [pure virtual] |
retrieve name of the physical volume (unique within mother logical volume)
Implemented in PVolume.
virtual const std::string& IPVolume::lvolumeName | ( | ) | const [pure virtual] |
retrieve the name of associated Logical Volume
Implemented in PVolume.
virtual const ILVolume* IPVolume::lvolume | ( | ) | const [pure virtual] |
retrieve the C++ pointer to Logical Volume
Implemented in PVolume.
virtual const Gaudi::Transform3D& IPVolume::matrix | ( | ) | const [pure virtual] |
virtual const Gaudi::Transform3D& IPVolume::matrixInv | ( | ) | const [pure virtual] |
get the inverse transformation matrix
Implemented in PVolume.
virtual Gaudi::XYZPoint IPVolume::toLocal | ( | const Gaudi::XYZPoint & | PointInMother | ) | const [pure virtual] |
virtual Gaudi::XYZPoint IPVolume::toMother | ( | const Gaudi::XYZPoint & | PointInLocal | ) | const [pure virtual] |
virtual bool IPVolume::isInside | ( | const Gaudi::XYZPoint & | PointInMother | ) | const [pure virtual] |
virtual unsigned int IPVolume::intersectLine | ( | const Gaudi::XYZPoint & | Point, | |
const Gaudi::XYZVector & | Vector, | |||
ILVolume::Intersections & | intersections, | |||
const double | threshold | |||
) | const [pure virtual] |
Intersection of the physical volume with with line.
The line is parametrized in the local reference system of the mother logical volume ("Mother Reference System") with initial Point and direction Vector:
Method returns the number of intersection points("ticks") and the container of pairs - ticks and pointer to the corresponding material.
The simplification is determined by value of threshold (in units of radiation length)
PVolumeException | wrong environment |
Point | initial point at the line | |
Vector | direction vector of the line | |
intersections | output container | |
threshold | threshold value |
Implemented in PVolume.
virtual unsigned int IPVolume::intersectLine | ( | const Gaudi::XYZPoint & | Point, | |
const Gaudi::XYZVector & | Vector, | |||
ILVolume::Intersections & | intersections, | |||
const ISolid::Tick | tickMin, | |||
const ISolid::Tick | tickMax, | |||
const double | Threshold | |||
) | const [pure virtual] |
Intersection of the physical volume with with line.
The line is parametrized in the local reference system of the mother logical volume ("Mother Reference System") with initial Point and direction Vector:
Method returns the number of intersection points("ticks") and the container of pairs - ticks and pointer to the corresponding material.
The simplification is determined by value of threshold (in units of radiation length)
PVolumeException | wrong environment |
Point | initial point at the line | |
Vector | direction vector of the line | |
intersections | output container | |
tickMin | minimum value of possible Tick | |
tickMax | maximum value of possible Tick | |
Threshold | threshold value |
Implemented in PVolume.
virtual std::ostream& IPVolume::printOut | ( | std::ostream & | os = std::cout |
) | const [pure virtual] |
printout to STD/STL stream
os | STD/STL stream |
Implemented in PVolume.
virtual IPVolume* IPVolume::reset | ( | ) | [pure virtual] |
virtual const Gaudi::Transform3D& IPVolume::applyMisAlignment | ( | const Gaudi::Transform3D & | ma | ) | [pure virtual] |
apply the misalignemnt to the transformation matrix
ma | misalignment matrix (assumed to be small!!!) |
Implemented in PVolume.
virtual const Gaudi::Transform3D& IPVolume::resetMisAlignment | ( | ) | [pure virtual] |