#include <PVolume.h>
Inheritance diagram for PVolume:
Public Types | ||||
SUCCESS | ||||
NO_INTERFACE | ||||
VERSMISMATCH | ||||
LAST_ERROR | ||||
enum | Status | |||
Public Member Functions | ||||
virtual const std::string & | name () const | |||
retrieve name of the physical volume (unique within mother logical volume) | ||||
virtual const std::string & | lvolumeName () const | |||
retrieve the name of associated Logical Volume | ||||
virtual const ILVolume * | lvolume () const | |||
retrieve the C++ pointer to Logical Volume | ||||
virtual const Gaudi::Transform3D & | matrix () const | |||
get the tranformation matrix | ||||
virtual const Gaudi::Transform3D & | matrixInv () const | |||
get the inverse transformation matrix | ||||
virtual Gaudi::XYZPoint | toLocal (const Gaudi::XYZPoint &PointInMother) const | |||
transform point from Mother Reference System to the Local one | ||||
virtual Gaudi::XYZPoint | toMother (const Gaudi::XYZPoint &PointInLocal) const | |||
transform point in Local Reference System to the Mother Reference System | ||||
virtual bool | isInside (const Gaudi::XYZPoint &PointInMother) const | |||
check for 3D-point | ||||
virtual std::ostream & | printOut (std::ostream &os=std::cout) const | |||
printout to STD/STL stream | ||||
virtual MsgStream & | printOut (MsgStream &os) const | |||
printout to Gaudi stream | ||||
virtual IPVolume * | reset () | |||
reset to the initial state | ||||
virtual unsigned int | intersectLine (const Gaudi::XYZPoint &Point, const Gaudi::XYZVector &Vector, ILVolume::Intersections &intersections, const double threshold) const | |||
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 | |||
Intersection of the physical volume with with line. | ||||
virtual const Gaudi::Transform3D & | applyMisAlignment (const Gaudi::Transform3D &ma) | |||
apply the misalignemnt to the transformation matrix | ||||
virtual const Gaudi::Transform3D & | resetMisAlignment () | |||
reset the misalignemnt | ||||
virtual StatusCode | queryInterface (const InterfaceID &ID, void **ppI) | |||
query the interface | ||||
virtual unsigned long | addRef () | |||
add the reference | ||||
virtual unsigned long | release () | |||
release the interface | ||||
Static Public Member Functions | ||||
static const InterfaceID & | interfaceID () | |||
retrieve the unique interface identifier | ||||
Public Attributes | ||||
SUCCESS | ||||
NO_INTERFACE | ||||
VERSMISMATCH | ||||
LAST_ERROR | ||||
Protected Member Functions | ||||
PVolume (const std::string &PhysVol_name, const std::string &LogVol_name, const Gaudi::XYZPoint &Position=Gaudi::XYZPoint(), const Gaudi::Rotation3D &Rotation=Gaudi::Rotation3D()) | ||||
constructor | ||||
PVolume (const std::string &PhysVol_name, const std::string &LogVol_name, const Gaudi::Transform3D &Transform) | ||||
constructor | ||||
virtual | ~PVolume () | |||
destructor | ||||
ILVolume * | findLogical () const | |||
find logical volume by name | ||||
Gaudi::Transform3D * | findMatrix () const | |||
inverse the matrix | ||||
void | Assert (bool assertion, const std::string &name) const | |||
Assertion
| ||||
void | Assert (bool assertion, const std::string &name, const GaudiException &Exception) const | |||
Assertion
| ||||
IDataProviderSvc * | dataSvc () const | |||
accessor to the data service | ||||
Private Member Functions | ||||
PVolume () | ||||
no default constructor | ||||
PVolume (const PVolume &) | ||||
no public copy constructor | ||||
PVolume & | operator= (const PVolume &) | |||
no public assignment | ||||
Private Attributes | ||||
std::string | m_name | |||
std::string | m_lvname | |||
Gaudi::Transform3D | m_nominal | |||
Gaudi::Transform3D | m_matrix | |||
Gaudi::Transform3D * | m_imatrix | |||
ILVolume * | m_lvolume | |||
DetDesc::Services * | m_services | |||
Static Private Attributes | ||||
static unsigned long | s_volumeCounter | |||
Friends | ||||
class | LogVolBase | |||
friend class |
Sebastien Ponce
Definition at line 27 of file PVolume.h.
PVolume::PVolume | ( | const std::string & | PhysVol_name, | |
const std::string & | LogVol_name, | |||
const Gaudi::XYZPoint & | Position = Gaudi::XYZPoint() , |
|||
const Gaudi::Rotation3D & | Rotation = Gaudi::Rotation3D() | |||
) | [protected] |
constructor
PhysVol_name | name of phys volume | |
LogVol_name | name of log volume | |
Position | position of physical volume inside mother volume | |
Rotation | rotation of physical volume with respect to mother |
PVolume::PVolume | ( | const std::string & | PhysVol_name, | |
const std::string & | LogVol_name, | |||
const Gaudi::Transform3D & | Transform | |||
) | [protected] |
constructor
PhysVol_name | name of phys volume | |
LogVol_name | name of log volume | |
Transform | transformation matrix |
virtual PVolume::~PVolume | ( | ) | [protected, virtual] |
destructor
PVolume::PVolume | ( | ) | [private] |
no default constructor
PVolume::PVolume | ( | const PVolume & | ) | [private] |
no public copy constructor
virtual const std::string& PVolume::name | ( | ) | const [inline, virtual] |
virtual const std::string& PVolume::lvolumeName | ( | ) | const [inline, virtual] |
virtual const ILVolume* PVolume::lvolume | ( | ) | const [virtual] |
virtual const Gaudi::Transform3D& PVolume::matrix | ( | ) | const [inline, virtual] |
virtual const Gaudi::Transform3D& PVolume::matrixInv | ( | ) | const [virtual] |
get the inverse transformation matrix
Implements IPVolume.
virtual Gaudi::XYZPoint PVolume::toLocal | ( | const Gaudi::XYZPoint & | PointInMother | ) | const [virtual] |
virtual Gaudi::XYZPoint PVolume::toMother | ( | const Gaudi::XYZPoint & | PointInLocal | ) | const [virtual] |
virtual bool PVolume::isInside | ( | const Gaudi::XYZPoint & | PointInMother | ) | const [virtual] |
virtual std::ostream& PVolume::printOut | ( | std::ostream & | os = std::cout |
) | const [virtual] |
printout to STD/STL stream
os | reference to STD/STL stream |
Implements IPVolume.
virtual IPVolume* PVolume::reset | ( | ) | [virtual] |
virtual unsigned int PVolume::intersectLine | ( | const Gaudi::XYZPoint & | Point, | |
const Gaudi::XYZVector & | Vector, | |||
ILVolume::Intersections & | intersections, | |||
const double | threshold | |||
) | const [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 |
Implements IPVolume.
virtual unsigned int PVolume::intersectLine | ( | const Gaudi::XYZPoint & | Point, | |
const Gaudi::XYZVector & | Vector, | |||
ILVolume::Intersections & | intersections, | |||
const ISolid::Tick | tickMin, | |||
const ISolid::Tick | tickMax, | |||
const double | threshold | |||
) | const [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 |
Implements IPVolume.
virtual const Gaudi::Transform3D& PVolume::applyMisAlignment | ( | const Gaudi::Transform3D & | ma | ) | [virtual] |
apply the misalignemnt to the transformation matrix
ma | misalignment matrix (assumed to be small!!!) |
Implements IPVolume.
virtual const Gaudi::Transform3D& PVolume::resetMisAlignment | ( | ) | [virtual] |
virtual StatusCode PVolume::queryInterface | ( | const InterfaceID & | ID, | |
void ** | ppI | |||
) | [virtual] |
query the interface
ID | unique interface identifier | |
ppI | placeholder for returned interface |
Implements IInterface.
virtual unsigned long PVolume::addRef | ( | ) | [virtual] |
virtual unsigned long PVolume::release | ( | ) | [virtual] |
ILVolume* PVolume::findLogical | ( | ) | const [protected] |
find logical volume by name
Gaudi::Transform3D* PVolume::findMatrix | ( | ) | const [protected] |
inverse the matrix
void PVolume::Assert | ( | bool | assertion, | |
const std::string & | name | |||
) | const [protected] |
Assertion
PVolumeException | for wrong condition. |
assertion | condition | |
name | exception message |
void PVolume::Assert | ( | bool | assertion, | |
const std::string & | name, | |||
const GaudiException & | Exception | |||
) | const [protected] |
Assertion
PVolumeException | for wrong condition. |
assertion | condition | |
name | exception message | |
Exception | previous exception |
IDataProviderSvc* PVolume::dataSvc | ( | ) | const [protected] |
accessor to the data service
static const InterfaceID& IPVolume::interfaceID | ( | ) | [inline, static, inherited] |
retrieve the unique interface identifier
Reimplemented from IInterface.
Definition at line 40 of file IPVolume.h.
00040 { return IID_IPVolume; }
friend class LogVolBase [friend] |
std::string PVolume::m_name [private] |
std::string PVolume::m_lvname [private] |
Gaudi::Transform3D PVolume::m_nominal [private] |
Gaudi::Transform3D PVolume::m_matrix [private] |
Gaudi::Transform3D* PVolume::m_imatrix [mutable, private] |
ILVolume* PVolume::m_lvolume [mutable, private] |
unsigned long PVolume::s_volumeCounter [static, private] |
DetDesc::Services* PVolume::m_services [private] |