DD4hep
1.30.0
Detector Description Toolkit for High Energy Physics
|
Handle class holding a placed volume (also called physical volume) More...
#include <Volumes.h>
Public Types | |
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 } |
enum | g4_optimizations { NO_SMARTLESS_OPTIMIZATION = 0xFF } |
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... | |
Public Member Functions | |
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 manual 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... | |
unsigned char | setSmartlessValue (unsigned char value) |
Set the smartless option for G4 voxelization. Returns previous value. More... | |
unsigned char | smartlessValue () const |
access the smartless option for G4 voxelization 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... | |
Static Public Member Functions | |
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... | |
Additional Inherited Members | |
Public Attributes inherited from dd4hep::Handle< TGeoVolume > | |
TGeoVolume * | m_element |
Single and only data member: Reference to the actual element. More... | |
Handle class holding a placed volume (also called physical volume)
Since dd4hep requires Volumes (aka TGeoVolume) and PlacedVolumes (aka TGeoNode) to be enhaced with the user extension mechanism shape divisions MUST be done using the division mechanism of the dd4hep shape or volume wrapper. Otherwise the enhancements are not added and you shall get exception when dd4hep is closing the geometry. The same argument holds when a division is made from a Volume. Unfortunately there is no reasonable way to intercept this call to the TGeo objects - except to sub-class each of them, which is not really acceptable either.
For any further documentation please see the following ROOT documentation:
anonymous enum |
|
default |
Default constructor.
|
default |
Move from handle.
|
default |
Copy from handle.
|
inline |
|
inline |
Volume::Volume | ( | const std::string & | name | ) |
Constructor to be used when creating a new geometry tree.
Definition at line 630 of file Volumes.cpp.
Volume::Volume | ( | const std::string & | name, |
const std::string & | title | ||
) |
Constructor to be used when creating a new geometry tree. Sets also title.
Constructor to be used when creating a new geometry tree.
Definition at line 635 of file Volumes.cpp.
Constructor to be used when creating a new geometry tree. Also sets materuial and solid attributes.
Definition at line 641 of file Volumes.cpp.
Volume::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.
Definition at line 646 of file Volumes.cpp.
void Volume::addProperty | ( | const std::string & | nam, |
const std::string & | val | ||
) | const |
Add Volume property (name-value pair)
Definition at line 1332 of file Volumes.cpp.
Box Volume::boundingBox | ( | ) | const |
Access the bounding box of the volume (if available)
Definition at line 1257 of file Volumes.cpp.
Volume::Object * Volume::data | ( | ) | const |
Check if placement is properly instrumented.
Definition at line 657 of file Volumes.cpp.
Volume 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 manual for details)
Divide volume into subsections (See the ROOT manuloa for details)
Definition at line 741 of file Volumes.cpp.
|
static |
Set flag to enable copy number checks when inserting new nodes.
By default checks are enabled. If you want to disable, call this function
Definition at line 652 of file Volumes.cpp.
std::string Volume::getProperty | ( | const std::string & | nam, |
const std::string & | default_val = "" |
||
) | const |
Access property value. Returns default_value if the property is not present.
Definition at line 1348 of file Volumes.cpp.
bool Volume::hasProperties | ( | ) | const |
Check for existence of properties.
Definition at line 1327 of file Volumes.cpp.
Volume & Volume::import | ( | ) |
If we import volumes from external sources, we have to attach the extensions to the tree.
Definition at line 689 of file Volumes.cpp.
bool Volume::isAssembly | ( | ) | const |
Test if this volume is an assembly structure.
Definition at line 723 of file Volumes.cpp.
bool Volume::isReflected | ( | ) | const |
Test if this volume was reflected.
Definition at line 718 of file Volumes.cpp.
bool Volume::isSensitive | ( | ) | const |
Accessor if volume is sensitive (ie. is attached to a sensitive detector)
Definition at line 1322 of file Volumes.cpp.
LimitSet Volume::limitSet | ( | ) | const |
Access to the limit set.
Definition at line 1304 of file Volumes.cpp.
Material Volume::material | ( | ) | const |
Access to the Volume material.
Definition at line 1151 of file Volumes.cpp.
|
inline |
|
inline |
Assignment operator (must match copy constructor)
Assignment operator (must match move constructor)
|
inline |
std::string Volume::option | ( | ) | const |
Access the volume's option value.
Definition at line 1133 of file Volumes.cpp.
PlacedVolume Volume::paramVolume1D | ( | const Transform3D & | start, |
Volume | entity, | ||
size_t | count, | ||
const Transform3D & | inc | ||
) |
1D Parameterised volume implementation
Constructor to be used when creating a new parameterised volume object.
Embedding parameterised daughter placements in a mother volume
start | start transormation for the first placement |
entity | Daughter volume to be placed |
count | Number of entities to be placed |
inc | Transformation increment for each iteration |
Definition at line 935 of file Volumes.cpp.
PlacedVolume Volume::paramVolume1D | ( | Volume | entity, |
size_t | count, | ||
const Position & | inc | ||
) |
1D Parameterised volume implementation
Constructor to be used when creating a new parameterised volume object.
Embedding parameterised daughter placements in a mother volume
entity | Daughter volume to be placed |
count | Number of entities to be placed |
inc | Transformation increment for each iteration |
Definition at line 920 of file Volumes.cpp.
PlacedVolume Volume::paramVolume1D | ( | Volume | entity, |
size_t | count, | ||
const RotationZYX & | inc | ||
) |
1D Parameterised volume implementation
Constructor to be used when creating a new parameterised volume object.
Embedding parameterised daughter placements in a mother volume
entity | Daughter volume to be placed |
count | Number of entities to be placed |
inc | Transformation increment for each iteration |
Definition at line 925 of file Volumes.cpp.
PlacedVolume Volume::paramVolume1D | ( | Volume | entity, |
size_t | count, | ||
const Transform3D & | trafo | ||
) |
1D Parameterised volume implementation
Constructor to be used when creating a new parameterised volume object.
Embedding parameterised daughter placements in a mother volume
entity | Daughter volume to be placed |
count | Number of entities to be placed |
inc | Transformation increment for each iteration |
Definition at line 930 of file Volumes.cpp.
PlacedVolume Volume::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.
Embedding parameterised daughter placements in a mother volume
start | start transormation for the first placement |
entity | Daughter volume to be placed |
count_1 | Number of entities to be placed in dimension 1 |
inc_1 | Transformation increment for each iteration in dimension 1 |
count_2 | Number of entities to be placed in dimension 2 |
inc_2 | Transformation increment for each iteration in dimension 2 |
Definition at line 979 of file Volumes.cpp.
PlacedVolume Volume::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
Constructor to be used when creating a new parameterised volume object.
Embedding parameterised daughter placements in a mother volume
start | start transormation for the first placement |
entity | Daughter volume to be placed |
count_1 | Number of entities to be placed in dimension 1 |
inc_1 | Transformation increment for each iteration in dimension 1 |
count_2 | Number of entities to be placed in dimension 2 |
inc_2 | Transformation increment for each iteration in dimension 2 |
Definition at line 1000 of file Volumes.cpp.
PlacedVolume Volume::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.
Embedding parameterised daughter placements in a mother volume
start | start transormation for the first placement |
entity | Daughter volume to be placed |
count_1 | Number of entities to be placed in dimension 1 |
inc_1 | Transformation increment for each iteration in dimension 1 |
count_2 | Number of entities to be placed in dimension 2 |
inc_2 | Transformation increment for each iteration in dimension 2 |
Definition at line 990 of file Volumes.cpp.
PlacedVolume Volume::paramVolume2D | ( | Volume | entity, |
size_t | count_1, | ||
const Transform3D & | inc_1, | ||
size_t | count_2, | ||
const Transform3D & | inc_2 | ||
) |
2D Parameterised volume implementation
Constructor to be used when creating a new parameterised volume object.
Embedding parameterised daughter placements in a mother volume
entity | Daughter volume to be placed |
count_1 | Number of entities to be placed in dimension 1 |
inc_1 | Transformation increment for each iteration in dimension 1 |
count_2 | Number of entities to be placed in dimension 2 |
inc_2 | Transformation increment for each iteration in dimension 2 |
Definition at line 969 of file Volumes.cpp.
PlacedVolume Volume::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
Constructor to be used when creating a new parameterised volume object.
Embedding parameterised daughter placements in a mother volume
start | start transormation for the first placement |
entity | Daughter volume to be placed |
count_1 | Number of entities to be placed in dimension 1 |
inc_1 | Transformation increment for each iteration in dimension 1 |
count_2 | Number of entities to be placed in dimension 2 |
inc_2 | Transformation increment for each iteration in dimension 2 |
count_3 | Number of entities to be placed in dimension 3 |
inc_3 | Transformation increment for each iteration in dimension 3 |
Definition at line 1043 of file Volumes.cpp.
PlacedVolume Volume::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
Constructor to be used when creating a new parameterised volume object.
Embedding parameterised daughter placements in a mother volume
start | start transormation for the first placement |
entity | Daughter volume to be placed |
count_1 | Number of entities to be placed in dimension 1 |
inc_1 | Transformation increment for each iteration in dimension 1 |
count_2 | Number of entities to be placed in dimension 2 |
inc_2 | Transformation increment for each iteration in dimension 2 |
count_3 | Number of entities to be placed in dimension 3 |
inc_3 | Transformation increment for each iteration in dimension 3 |
Definition at line 1074 of file Volumes.cpp.
PlacedVolume Volume::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
Constructor to be used when creating a new parameterised volume object.
Embedding parameterised daughter placements in a mother volume
entity | Daughter volume to be placed |
count_1 | Number of entities to be placed in dimension 1 |
inc_1 | Transformation increment for each iteration in dimension 1 |
count_2 | Number of entities to be placed in dimension 2 |
inc_2 | Transformation increment for each iteration in dimension 2 |
count_3 | Number of entities to be placed in dimension 3 |
inc_3 | Transformation increment for each iteration in dimension 3 |
Definition at line 1059 of file Volumes.cpp.
PlacedVolume dd4hep::Volume::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
Embedding parameterised daughter placements in a mother volume
entity | Daughter volume to be placed |
count_1 | Number of entities to be placed in dimension 1 |
inc_1 | Transformation increment for each iteration in dimension 1 |
count_2 | Number of entities to be placed in dimension 2 |
inc_2 | Transformation increment for each iteration in dimension 2 |
count_3 | Number of entities to be placed in dimension 3 |
inc_3 | Transformation increment for each iteration in dimension 3 |
PlacedVolume Volume::placeVolume | ( | const Volume & | volume | ) | const |
Place daughter volume. The position and rotation are the identity.
Daughter placements with auto-generated copy number for the daughter volume
Definition at line 859 of file Volumes.cpp.
PlacedVolume Volume::placeVolume | ( | const Volume & | volume, |
const Position & | pos | ||
) | const |
Place un-rotated daughter volume at the given position.
Definition at line 864 of file Volumes.cpp.
PlacedVolume Volume::placeVolume | ( | const Volume & | volume, |
const Rotation3D & | rot | ||
) | const |
Place rotated daughter volume. The position is automatically the identity position.
Definition at line 874 of file Volumes.cpp.
PlacedVolume Volume::placeVolume | ( | const Volume & | volume, |
const RotationZYX & | rot | ||
) | const |
Place rotated daughter volume. The position is automatically the identity position.
Definition at line 869 of file Volumes.cpp.
PlacedVolume Volume::placeVolume | ( | const Volume & | volume, |
const Transform3D & | tr | ||
) | const |
Place daughter volume according to a generic Transform3D.
Place daughter volume according to generic Transform3D.
Definition at line 854 of file Volumes.cpp.
PlacedVolume Volume::placeVolume | ( | const Volume & | volume, |
int | copy_no | ||
) | const |
Place daughter volume. The position and rotation are the identity.
Daughter placements with user supplied copy number for the daughter volume
Definition at line 884 of file Volumes.cpp.
PlacedVolume Volume::placeVolume | ( | const Volume & | volume, |
int | copy_no, | ||
const Position & | pos | ||
) | const |
Place un-rotated daughter volume at the given position.
Definition at line 889 of file Volumes.cpp.
PlacedVolume Volume::placeVolume | ( | const Volume & | volume, |
int | copy_no, | ||
const Rotation3D & | rot | ||
) | const |
Place rotated daughter volume. The position is automatically the identity position.
Definition at line 899 of file Volumes.cpp.
PlacedVolume Volume::placeVolume | ( | const Volume & | volume, |
int | copy_no, | ||
const RotationZYX & | rot | ||
) | const |
Place rotated daughter volume. The position is automatically the identity position.
Definition at line 894 of file Volumes.cpp.
PlacedVolume Volume::placeVolume | ( | const Volume & | volume, |
int | copy_no, | ||
const Transform3D & | tr | ||
) | const |
Place daughter volume according to a generic Transform3D.
Place daughter volume according to generic Transform3D.
Definition at line 879 of file Volumes.cpp.
PlacedVolume Volume::placeVolume | ( | const Volume & | volume, |
int | copy_nr, | ||
TGeoMatrix * | tr | ||
) | const |
Place daughter volume with generic TGeo matrix.
Definition at line 849 of file Volumes.cpp.
PlacedVolume Volume::placeVolume | ( | const Volume & | volume, |
TGeoMatrix * | tr | ||
) | const |
Place daughter volume with generic TGeo matrix.
Definition at line 844 of file Volumes.cpp.
Volume Volume::reflect | ( | ) | const |
Create a reflected volume tree. The reflected volume has left-handed coordinates.
Definition at line 668 of file Volumes.cpp.
Volume Volume::reflect | ( | SensitiveDetector | sd | ) | const |
Create a reflected volume tree. The reflected volume has left-handed coordinates.
Swap the sensitive detector - if valid - on all sensitive sub-volumes
Definition at line 673 of file Volumes.cpp.
Region Volume::region | ( | ) | const |
Access to the handle to the region structure.
Definition at line 1285 of file Volumes.cpp.
PlacedVolume Volume::replicate | ( | const Volume | entity, |
ReplicationAxis | axis, | ||
size_t | count, | ||
double | inc, | ||
double | start = 0e0 |
||
) |
1D volume replication implementation
Embedding parameterised daughter placements in a mother volume
entity | Daughter volume to be placed |
axis | Replication axis direction in the frame of the mother |
count | Number of entities to be placed |
inc | Transformation increment for each iteration |
start | start transormation for the first placement |
Definition at line 904 of file Volumes.cpp.
Ref_t Volume::sensitiveDetector | ( | ) | const |
Access to the handle to the sensitive detector.
Definition at line 1316 of file Volumes.cpp.
const Volume & Volume::setAttributes | ( | const Detector & | description, |
const std::string & | region, | ||
const std::string & | limits, | ||
const std::string & | vis | ||
) | const |
Attach attributes to the volume.
Definition at line 1229 of file Volumes.cpp.
void Volume::setFlagBit | ( | unsigned int | bit | ) |
Set user flags in bit-field.
Definition at line 700 of file Volumes.cpp.
Set the limits to the volume. Note: If the name string is empty, the action is ignored.
Set the limits to the volume.
Definition at line 1290 of file Volumes.cpp.
Set the limits to the volume.
Definition at line 1298 of file Volumes.cpp.
Set the volume's material.
Definition at line 1138 of file Volumes.cpp.
const Volume & Volume::setOption | ( | const std::string & | opt | ) | const |
Set the volume's option value.
Definition at line 1124 of file Volumes.cpp.
Set the regional attributes to the volume. Note: If the name string is empty, the action is ignored.
Set the regional attributes to the volume.
Definition at line 1271 of file Volumes.cpp.
Set the regional attributes to the volume.
Definition at line 1279 of file Volumes.cpp.
const Volume & Volume::setSensitiveDetector | ( | const SensitiveDetector & | obj | ) | const |
Assign the sensitive detector structure.
Definition at line 1309 of file Volumes.cpp.
unsigned char Volume::setSmartlessValue | ( | unsigned char | value | ) |
Set the smartless option for G4 voxelization. Returns previous value.
Definition at line 728 of file Volumes.cpp.
Set the volume's solid shape.
Definition at line 1246 of file Volumes.cpp.
const Volume & 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.
Set Visualization attributes to the volume.
Definition at line 1220 of file Volumes.cpp.
Set Visualization attributes to the volume.
Definition at line 1156 of file Volumes.cpp.
unsigned char Volume::smartlessValue | ( | ) | const |
access the smartless option for G4 voxelization
Definition at line 736 of file Volumes.cpp.
Solid Volume::solid | ( | ) | const |
Access to Solid (Shape)
Definition at line 1252 of file Volumes.cpp.
bool Volume::testFlagBit | ( | unsigned int | bit | ) | const |
Test the user flag bit.
Definition at line 709 of file Volumes.cpp.
const char * Volume::type | ( | ) | const |
Access the object type from the class information.
Definition at line 663 of file Volumes.cpp.
VisAttr Volume::visAttributes | ( | ) | const |
Access the visualisation attributes.
Definition at line 1239 of file Volumes.cpp.