DD4hep
1.30.0
Detector Description Toolkit for High Energy Physics
|
Implementation class extending the ROOT mulit-volumes (TGeoVolumeMulti) More...
#include <Volumes.h>
Public Member Functions | |
VolumeMulti ()=default | |
Default constructor. More... | |
VolumeMulti (const VolumeMulti &v)=default | |
Copy from handle. More... | |
VolumeMulti (TGeoVolume *v) | |
Copy from pointer as a result of Solid->Divide() More... | |
template<typename T > | |
VolumeMulti (const Handle< T > &v) | |
Copy from arbitrary Element. More... | |
VolumeMulti (const std::string &name, Material material) | |
Constructor to be used when creating a new multi-volume object. More... | |
VolumeMulti & | operator= (const VolumeMulti &a)=default |
Assignment operator (must match copy constructor) More... | |
Public Member Functions inherited from dd4hep::Volume | |
Volume ()=default | |
Default constructor. More... | |
Volume (Volume &&v)=default | |
Move from handle. More... | |
Volume (const Volume &v)=default | |
Copy from handle. More... | |
Volume (const TGeoVolume *v) | |
Copy from handle. More... | |
template<typename T > | |
Volume (const Handle< T > &v) | |
Copy from arbitrary Element. More... | |
Volume (const std::string &name) | |
Constructor to be used when creating a new geometry tree. More... | |
Volume (const std::string &name, const std::string &title) | |
Constructor to be used when creating a new geometry tree. Sets also title. More... | |
Volume (const std::string &name, const Solid &s, const Material &m) | |
Constructor to be used when creating a new geometry tree. Also sets materuial and solid attributes. More... | |
Volume (const std::string &name, const std::string &title, const Solid &s, const Material &m) | |
Constructor to be used when creating a new geometry tree. Also sets materuial and solid attributes. More... | |
Volume & | operator= (Volume &&a)=default |
Assignment operator (must match move constructor) More... | |
Volume & | operator= (const Volume &a)=default |
Assignment operator (must match copy constructor) More... | |
template<typename T > | |
bool | operator== (const Handle< T > &e) const |
Equality operator. More... | |
template<typename T > | |
bool | operator!= (const Handle< T > &e) const |
Non-Equality operator. More... | |
Object * | data () const |
Check if placement is properly instrumented. More... | |
const char * | type () const |
Access the object type from the class information. More... | |
Volume | reflect () const |
Create a reflected volume tree. The reflected volume has left-handed coordinates. More... | |
Volume | reflect (SensitiveDetector sd) const |
Create a reflected volume tree. The reflected volume has left-handed coordinates. More... | |
Volume & | import () |
If we import volumes from external sources, we have to attach the extensions to the tree. More... | |
Volume | divide (const std::string &divname, int iaxis, int ndiv, double start, double step, int numed=0, const char *option="") |
Divide volume into subsections (See the ROOT manuloa for details) More... | |
PlacedVolume | placeVolume (const Volume &volume) const |
Place daughter volume. The position and rotation are the identity. More... | |
PlacedVolume | placeVolume (const Volume &volume, const Transform3D &tr) const |
Place daughter volume according to a generic Transform3D. More... | |
PlacedVolume | placeVolume (const Volume &volume, const Position &pos) const |
Place un-rotated daughter volume at the given position. More... | |
PlacedVolume | placeVolume (const Volume &volume, const RotationZYX &rot) const |
Place rotated daughter volume. The position is automatically the identity position. More... | |
PlacedVolume | placeVolume (const Volume &volume, const Rotation3D &rot) const |
Place rotated daughter volume. The position is automatically the identity position. More... | |
PlacedVolume | placeVolume (const Volume &volume, int copy_no) const |
Place daughter volume. The position and rotation are the identity. More... | |
PlacedVolume | placeVolume (const Volume &volume, int copy_no, const Transform3D &tr) const |
Place daughter volume according to a generic Transform3D. More... | |
PlacedVolume | placeVolume (const Volume &volume, int copy_no, const Position &pos) const |
Place un-rotated daughter volume at the given position. More... | |
PlacedVolume | placeVolume (const Volume &volume, int copy_no, const RotationZYX &rot) const |
Place rotated daughter volume. The position is automatically the identity position. More... | |
PlacedVolume | placeVolume (const Volume &volume, int copy_no, const Rotation3D &rot) const |
Place rotated daughter volume. The position is automatically the identity position. More... | |
PlacedVolume | placeVolume (const Volume &volume, TGeoMatrix *tr) const |
Place daughter volume with generic TGeo matrix. More... | |
PlacedVolume | placeVolume (const Volume &volume, int copy_nr, TGeoMatrix *tr) const |
Place daughter volume with generic TGeo matrix. More... | |
PlacedVolume | replicate (const Volume entity, ReplicationAxis axis, size_t count, double inc, double start=0e0) |
1D volume replication implementation More... | |
PlacedVolume | paramVolume1D (const Transform3D &start, Volume entity, size_t count, const Transform3D &inc) |
1D Parameterised volume implementation More... | |
PlacedVolume | paramVolume1D (Volume entity, size_t count, const Transform3D &trafo) |
1D Parameterised volume implementation More... | |
PlacedVolume | paramVolume1D (Volume entity, size_t count, const Position &inc) |
1D Parameterised volume implementation More... | |
PlacedVolume | paramVolume1D (Volume entity, size_t count, const RotationZYX &inc) |
1D Parameterised volume implementation More... | |
PlacedVolume | paramVolume2D (Volume entity, size_t count_1, const Transform3D &inc_1, size_t count_2, const Transform3D &inc_2) |
2D Parameterised volume implementation More... | |
PlacedVolume | paramVolume2D (const Transform3D &start, Volume entity, size_t count_1, const Position &inc_1, size_t count_2, const Position &inc_2) |
Constructor to be used when creating a new parameterised volume object. More... | |
PlacedVolume | paramVolume2D (Volume entity, size_t count_1, const Position &inc_1, size_t count_2, const Position &inc_2) |
Constructor to be used when creating a new parameterised volume object. More... | |
PlacedVolume | paramVolume2D (const Transform3D &start, Volume entity, size_t count_1, const Transform3D &inc_1, size_t count_2, const Transform3D &inc_2) |
2D Parameterised volume implementation More... | |
PlacedVolume | paramVolume3D (Volume entity, size_t count_1, const Transform3D &inc_1, size_t count_2, const Transform3D &inc_2, size_t count_3, const Transform3D &inc_3) |
3D Parameterised volume implementation More... | |
PlacedVolume | paramVolume3D (const Transform3D &start, Volume entity, size_t count_1, const Transform3D &inc_1, size_t count_2, const Transform3D &inc_2, size_t count_3, const Transform3D &inc_3) |
3D Parameterised volume implementation More... | |
PlacedVolume | paramVolume3D (Volume entity, size_t count_1, const Position &inc_1, size_t count_2, const Position &inc_2, size_t count_3, const Position &inc_3) |
3D Parameterised volume implementation More... | |
PlacedVolume | paramVolume3D (const Transform3D &start, Volume entity, size_t count_1, const Position &inc_1, size_t count_2, const Position &inc_2, size_t count_3, const Position &inc_3) |
3D Parameterised volume implementation More... | |
void | setFlagBit (unsigned int bit) |
Set user flags in bit-field. More... | |
bool | testFlagBit (unsigned int bit) const |
Test the user flag bit. More... | |
bool | isReflected () const |
Test if this volume was reflected. More... | |
bool | isAssembly () const |
Test if this volume is an assembly structure. More... | |
const Volume & | setOption (const std::string &opt) const |
Set the volume's option value. More... | |
std::string | option () const |
Access the volume's option value. More... | |
const Volume & | setAttributes (const Detector &description, const std::string ®ion, const std::string &limits, const std::string &vis) const |
Attach attributes to the volume. More... | |
const Volume & | setRegion (const Detector &description, const std::string &name) const |
Set the regional attributes to the volume. Note: If the name string is empty, the action is ignored. More... | |
const Volume & | setRegion (const Region &obj) const |
Set the regional attributes to the volume. More... | |
Region | region () const |
Access to the handle to the region structure. More... | |
const Volume & | setLimitSet (const Detector &description, const std::string &name) const |
Set the limits to the volume. Note: If the name string is empty, the action is ignored. More... | |
const Volume & | setLimitSet (const LimitSet &obj) const |
Set the limits to the volume. More... | |
LimitSet | limitSet () const |
Access to the limit set. More... | |
const Volume & | setVisAttributes (const VisAttr &obj) const |
Set Visualization attributes to the volume. More... | |
const Volume & | setVisAttributes (const Detector &description, const std::string &name) const |
Set Visualization attributes to the volume. Note: If the name string is empty, the action is ignored. More... | |
VisAttr | visAttributes () const |
Access the visualisation attributes. More... | |
const Volume & | setSensitiveDetector (const SensitiveDetector &obj) const |
Assign the sensitive detector structure. More... | |
Handle< NamedObject > | sensitiveDetector () const |
Access to the handle to the sensitive detector. More... | |
bool | isSensitive () const |
Accessor if volume is sensitive (ie. is attached to a sensitive detector) More... | |
const Volume & | setSolid (const Solid &s) const |
Set the volume's solid shape. More... | |
Solid | solid () const |
Access to Solid (Shape) More... | |
Box | boundingBox () const |
Access the bounding box of the volume (if available) More... | |
const Volume & | setMaterial (const Material &m) const |
Set the volume's material. More... | |
Material | material () const |
Access to the Volume material. More... | |
bool | hasProperties () const |
Check for existence of properties. More... | |
void | addProperty (const std::string &nam, const std::string &val) const |
Add Volume property (name-value pair) More... | |
std::string | getProperty (const std::string &nam, const std::string &default_val="") const |
Access property value. Returns default_value if the property is not present. More... | |
operator TGeoVolume * () const | |
Auto conversion to underlying ROOT object. More... | |
Public Member Functions inherited from dd4hep::Handle< TGeoVolume > | |
Handle ()=default | |
Default constructor. More... | |
Handle (Handle< TGeoVolume > &&element)=default | |
Copy constructor. More... | |
Handle (const Handle< TGeoVolume > &element)=default | |
Copy constructor. More... | |
Handle (TGeoVolume *element) | |
Initializing constructor from pointer. More... | |
Handle (Q *element) | |
Initializing constructor from unrelated pointer with type checking. More... | |
Handle (const Handle< Q > &element) | |
Initializing constructor from unrelated handle with type checking. More... | |
Handle< TGeoVolume > & | operator= (Handle< TGeoVolume > &&element)=default |
Assignment move operator. More... | |
Handle< TGeoVolume > & | operator= (const Handle< TGeoVolume > &element)=default |
Assignment copy operator. More... | |
bool | operator== (const Handle< TGeoVolume > &element) const |
Boolean operator == used for RB tree insertions. More... | |
bool | operator< (const Handle< TGeoVolume > &element) const |
Boolean operator < used for RB tree insertions. More... | |
bool | operator> (const Handle< TGeoVolume > &element) const |
Boolean operator > used for RB tree insertions. More... | |
bool | isValid () const |
Check the validity of the object held by the handle. More... | |
bool | operator! () const |
Check the validity of the object held by the handle. More... | |
Handle< TGeoVolume > & | clear () |
Release the object held by the handle. More... | |
TGeoVolume * | operator-> () const |
Access the held object using the -> operator. More... | |
operator TGeoVolume & () const | |
Automatic type conversion to an object references. More... | |
TGeoVolume & | operator* () const |
Access the held object using the * operator. More... | |
TGeoVolume * | ptr () const |
Access to the held object. More... | |
Q * | _ptr () const |
Access to an unrelated object type. More... | |
Q * | data () const |
Access to an unrelated object type. More... | |
Q & | object () const |
Access to an unrelated object type. More... | |
TGeoVolume * | access () const |
Checked object access. Throws invalid handle runtime exception if invalid handle. More... | |
const char * | name () const |
Access the object name (or "" if not supported by the object) More... | |
const char * | name () const |
const char * | name () const |
void | assign (Object *n, const std::string &nam, const std::string &title) |
Assign a new named object. Note: object references must be managed by the user. More... | |
void | assign (_Segmentation *s, const std::string &n, const std::string &) |
void | assign (NamedObject *p, const std::string &n, const std::string &t) |
void | destroy () |
Destroy the underlying object (be careful here: things are not reference counted)! More... | |
Private Member Functions | |
void | verifyVolumeMulti () |
Import volume from pointer as a result of Solid->Divide() More... | |
Additional Inherited Members | |
Public Types inherited from dd4hep::Volume | |
enum | { VETO_SIMU = 1, VETO_RECO = 2, VETO_DISPLAY = 3, REFLECTED = 10 } |
Flag bit numbers for special volume treatments. More... | |
enum | ReplicationAxis { REPLICATED = 1UL << 4, PARAMETERIZED = 1UL << 5, Undefined = 1UL << 7, X_axis = 1UL << 8, Y_axis = 1UL << 9, Z_axis = 1UL << 10, Rho_axis = 1UL << 11, Phi_axis = 1UL << 12 } |
typedef VolumeExtension | Object |
Public Types inherited from dd4hep::Handle< TGeoVolume > | |
typedef TGeoVolume | Object |
Extern accessible definition of the contained element type. More... | |
typedef Handle< TGeoVolume > | Base |
Self type: used by sub-classes. More... | |
Static Public Member Functions inherited from dd4hep::Volume | |
static void | enableCopyNumberCheck (bool value) |
Set flag to enable copy number checks when inserting new nodes. More... | |
Static Public Member Functions inherited from dd4hep::Handle< TGeoVolume > | |
static void | bad_assignment (const std::type_info &from, const std::type_info &to) |
Helper routine called when unrelated types are assigned. More... | |
Public Attributes inherited from dd4hep::Handle< TGeoVolume > | |
TGeoVolume * | m_element |
Single and only data member: Reference to the actual element. More... | |
Implementation class extending the ROOT mulit-volumes (TGeoVolumeMulti)
Handle describing a multi volume.
For any further documentation please see the following ROOT documentation:
|
default |
Default constructor.
|
default |
Copy from handle.
|
inline |
|
inline |
VolumeMulti::VolumeMulti | ( | const std::string & | name, |
Material | material | ||
) |
Constructor to be used when creating a new multi-volume object.
Definition at line 1335 of file Volumes.cpp.
|
default |
Assignment operator (must match copy constructor)
|
private |
Import volume from pointer as a result of Solid->Divide()
Definition at line 1340 of file Volumes.cpp.