| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

IPVolume Interface Reference

Interface to deal with the notion of "positioned Logical Volume" (corresponds to Geant4 notion of "G4PhysicalVolume"). More...

#include <DetDesc/IPVolume.h>

Inheritance diagram for IPVolume:

[legend]
Collaboration diagram for IPVolume:
[legend]
List of all members.

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 ILVolumelvolume () const =0
 retrieve the C++ pointer to Logical Volume
virtual const Gaudi::Transform3Dmatrix () const =0
 get the tranformation matrix
virtual const Gaudi::Transform3DmatrixInv () 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 MsgStreamprintOut (MsgStream &os) const =0
 printout to Gaudi MsgStream stream
virtual IPVolumereset ()=0
 reset to the initial state
virtual const Gaudi::Transform3DapplyMisAlignment (const Gaudi::Transform3D &ma)=0
 apply the misalignemnt to the transformation matrix
virtual const Gaudi::Transform3DresetMisAlignment ()=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 InterfaceIDinterfaceID ()
 retrieve the unique interface identifier

Public Attributes

 SUCCESS
 NO_INTERFACE
 VERSMISMATCH
 LAST_ERROR

Detailed Description

Interface to deal with the notion of "positioned Logical Volume" (corresponds to Geant4 notion of "G4PhysicalVolume").

This is the minimal interface for "physical volume". It corresponds to Geant4 "Placement" philosophy.

Author:
Vanya Belyaev Ivan.Belyaev@itep.ru
Date:
xx/xx/xxxx

Definition at line 33 of file IPVolume.h.


Constructor & Destructor Documentation

virtual IPVolume::~IPVolume (  )  [virtual]

virtual destructor


Member Function Documentation

static const InterfaceID& IPVolume::interfaceID (  )  [inline, static]

retrieve the unique interface identifier

Returns:
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)

Returns:
name of physical volume

Implemented in PVolume.

virtual const std::string& IPVolume::lvolumeName (  )  const [pure virtual]

retrieve the name of associated Logical Volume

Returns:
name of associated Logical Volume

Implemented in PVolume.

virtual const ILVolume* IPVolume::lvolume (  )  const [pure virtual]

retrieve the C++ pointer to Logical Volume

Returns:
pointer to Logical Volume

Implemented in PVolume.

virtual const Gaudi::Transform3D& IPVolume::matrix (  )  const [pure virtual]

get the tranformation matrix

Returns:
reference to transformation matrix

Implemented in PVolume.

virtual const Gaudi::Transform3D& IPVolume::matrixInv (  )  const [pure virtual]

get the inverse transformation matrix

Returns:
reference to inverse transformationmatrix

Implemented in PVolume.

virtual Gaudi::XYZPoint IPVolume::toLocal ( const Gaudi::XYZPoint PointInMother  )  const [pure virtual]

transform point from Mother Reference System to the Local one

Parameters:
PointInMother point in Mother Reference System
Returns:
point in local reference system

Implemented in PVolume.

virtual Gaudi::XYZPoint IPVolume::toMother ( const Gaudi::XYZPoint PointInLocal  )  const [pure virtual]

transform point in Local Reference System to the Mother Reference System

Parameters:
PointInLocal point in Local Referency System
Returns:
point in mother reference system

Implemented in PVolume.

virtual bool IPVolume::isInside ( const Gaudi::XYZPoint PointInMother  )  const [pure virtual]

check for 3D-point

Parameters:
PointInMother pointin Mother Referency System
Returns:
true if point is inside physical volume

Implemented in PVolume.

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)

See also:
ILVolume

ISolid

Exceptions:
PVolumeException wrong environment
Parameters:
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)

See also:
ILVolume

ISolid

Exceptions:
PVolumeException wrong environment
Parameters:
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

Parameters:
os STD/STL stream
Returns:
reference to the stream

Implemented in PVolume.

virtual MsgStream& IPVolume::printOut ( MsgStream os  )  const [pure virtual]

printout to Gaudi MsgStream stream

Parameters:
os Gaudi MsgStream stream
Returns:
reference to the stream

Implemented in PVolume.

virtual IPVolume* IPVolume::reset (  )  [pure virtual]

reset to the initial state

Returns:
self-reference

Implemented in PVolume.

virtual const Gaudi::Transform3D& IPVolume::applyMisAlignment ( const Gaudi::Transform3D ma  )  [pure virtual]

apply the misalignemnt to the transformation matrix

Parameters:
ma misalignment matrix (assumed to be small!!!)
Returns:
the resulting transformation matrix

Implemented in PVolume.

virtual const Gaudi::Transform3D& IPVolume::resetMisAlignment (  )  [pure virtual]

reset the misalignemnt

Returns:
the "nominal" transformation matrix

Implemented in PVolume.


The documentation for this interface was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:00:18 2011 for DetDesc by doxygen 1.4.7