#include <EDepSimVolumeId.hh>
Classes | |
class | Volume |
Public Types | |
typedef std::vector< Volume > | Volumes |
Public Member Functions | |
VolumeId (const G4TouchableHandle &handle) | |
Construct a new volume Id. More... | |
VolumeId () | |
Construct an empty volume Id. More... | |
~VolumeId () | |
void | AddVolume (G4VPhysicalVolume *fHandle, int fReplica) |
Explicitly add a new volume to the volume Id. More... | |
bool | operator! () |
EDepSim::VolumeId & | operator= (const G4TouchableHandle &handle) |
EDepSim::VolumeId & | operator= (const EDepSim::VolumeId &id) |
friend | bool::operator== (const EDepSim::VolumeId &x, const G4TouchableHandle &y) |
friend | bool::operator== (const G4TouchableHandle &x, const EDepSim::VolumeId &y) |
friend | bool::operator== (const EDepSim::VolumeId &x, const EDepSim::VolumeId &y) |
friend | bool::operator!= (const EDepSim::VolumeId &x, const G4TouchableHandle &y) |
friend | bool::operator!= (const G4TouchableHandle &x, const EDepSim::VolumeId &y) |
friend | bool::operator!= (const EDepSim::VolumeId &x, const EDepSim::VolumeId &y) |
friend | bool::operator< (const EDepSim::VolumeId &x, const EDepSim::VolumeId &y) |
Public Attributes | |
Volumes | fVolumes |
Friends | |
std::ostream & | operator<< (std::ostream &s, const EDepSim::VolumeId &) |
A class to provide a unique identifier for all physical volumes. One of the features of G4 is that physical volumes are identified by their position in the volume tree. This has many advantages, but it means that it can be quite trick to figure out if two physical volume pointers refer to the same physical volume, or different replicas of the same physical volume. (Consider the case where a you have an unreplicated sub-volume of a replicated parent). This class provides a unique comparable object that allows an equality test between volumes taking into account the full position in the hierarchy. It is similar in function to G4TouchableHandle, but provides better comparison operators.
Definition at line 35 of file EDepSimVolumeId.hh.
typedef std::vector<Volume> EDepSim::VolumeId::Volumes |
Definition at line 77 of file EDepSimVolumeId.hh.
EDepSim::VolumeId::VolumeId | ( | const G4TouchableHandle & | handle | ) |
Construct a new volume Id.
Definition at line 15 of file EDepSimVolumeId.cc.
EDepSim::VolumeId::VolumeId | ( | ) |
EDepSim::VolumeId::~VolumeId | ( | ) |
Definition at line 11 of file EDepSimVolumeId.cc.
void EDepSim::VolumeId::AddVolume | ( | G4VPhysicalVolume * | fHandle, |
int | fReplica | ||
) |
EDepSim::VolumeId::bool::operator!= | ( | const EDepSim::VolumeId & | x, |
const G4TouchableHandle & | y | ||
) |
EDepSim::VolumeId::bool::operator!= | ( | const G4TouchableHandle & | x, |
const EDepSim::VolumeId & | y | ||
) |
EDepSim::VolumeId::bool::operator!= | ( | const EDepSim::VolumeId & | x, |
const EDepSim::VolumeId & | y | ||
) |
EDepSim::VolumeId::bool::operator< | ( | const EDepSim::VolumeId & | x, |
const EDepSim::VolumeId & | y | ||
) |
EDepSim::VolumeId::bool::operator== | ( | const EDepSim::VolumeId & | x, |
const G4TouchableHandle & | y | ||
) |
EDepSim::VolumeId::bool::operator== | ( | const G4TouchableHandle & | x, |
const EDepSim::VolumeId & | y | ||
) |
EDepSim::VolumeId::bool::operator== | ( | const EDepSim::VolumeId & | x, |
const EDepSim::VolumeId & | y | ||
) |
|
inline |
Definition at line 46 of file EDepSimVolumeId.hh.
EDepSim::VolumeId & EDepSim::VolumeId::operator= | ( | const G4TouchableHandle & | handle | ) |
Definition at line 25 of file EDepSimVolumeId.cc.
EDepSim::VolumeId & EDepSim::VolumeId::operator= | ( | const EDepSim::VolumeId & | id | ) |
Definition at line 36 of file EDepSimVolumeId.cc.
|
friend |
Definition at line 119 of file EDepSimVolumeId.cc.
Volumes EDepSim::VolumeId::fVolumes |
This is a vector of information required to uniquely identify the volume. It is arranged so that the most local information is at the front of the vector and the world volume will be the last element in the vector.
Definition at line 83 of file EDepSimVolumeId.hh.