|
BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Base class and registry of sampler instances. More...
#include <BDSSampler.hh>


Public Member Functions | |
| BDSSampler (const G4String &nameIn, G4int filterSetIDIn=-1) | |
| BDSSampler ()=delete | |
| No default constructor. | |
| void | MakeMaterialValidForUseInMassWorld () |
| BDSSampler & | operator= (const BDSSampler &)=delete |
| Assignment and copy constructor not implemented nor used. | |
| BDSSampler (BDSSampler &)=delete | |
| Assignment and copy constructor not implemented nor used. | |
| virtual G4String | GetName () const |
| Accessor. | |
| G4int | GetFilterSetID () const |
| Accessor. | |
Public Member Functions inherited from BDSGeometryComponent | |
| BDSGeometryComponent (G4VSolid *containerSolidIn, G4LogicalVolume *containerLVIn, const BDSExtent &extentIn=BDSExtent(), const BDSExtent &innerExtentIn=BDSExtent(), const G4ThreeVector &placementOffsetIn=G4ThreeVector(0, 0, 0), G4RotationMatrix *placementRotationIn=nullptr) | |
| BDSGeometryComponent (G4AssemblyVolume *containerAssemblyIn, const BDSExtent &extentIn=BDSExtent(), const BDSExtent &innerExtentIn=BDSExtent(), const G4ThreeVector &placementOffsetIn=G4ThreeVector(0, 0, 0), G4RotationMatrix *placementRotationIn=nullptr) | |
| BDSGeometryComponent (const BDSGeometryComponent &component) | |
| Copy constructor (no copying of registered objects) | |
| BDSGeometryComponent & | operator= (const BDSGeometryComponent &)=delete |
| Assignment operator not used. | |
| G4bool | ContainerIsAssembly () const |
| Whether the container is an assembly. If not, it's a logical volume. | |
| void | SetPlacementOffset (const G4ThreeVector &offsetIn) |
| Set the offset from 0,0,0 that the object should ideally be placed in its parent. | |
| G4ThreeVector | GetExtentPositive () const |
| Get the extent of the object in the positive direction in all dimensions. | |
| G4ThreeVector | GetExtentNegative () const |
| Get the extent of the object in the negative direction in all dimensions. | |
| void | InheritExtents (BDSGeometryComponent const *const anotherComponent) |
| Update the extents of this object with those of another object. | |
| void | InheritExtents (BDSGeometryComponent const *const anotherComponent, const G4ThreeVector &offset) |
| void | RegisterDaughter (BDSGeometryComponent *anotherComponent) |
| void | RegisterSolid (G4VSolid *solid) |
| void | RegisterSolid (const std::set< G4VSolid * > &solids) |
| Similarly for a set of unique solids. | |
| void | RegisterLogicalVolume (G4LogicalVolume *logicalVolume) |
| void | RegisterLogicalVolume (const std::set< G4LogicalVolume * > &localVolumes) |
| Apply RegisterLogicalVolume() to a set of logical volumes. | |
| void | RegisterSensitiveVolume (G4LogicalVolume *sensitiveVolume, BDSSDType sensitivityType) |
| void | RegisterSensitiveVolume (const std::set< G4LogicalVolume * > &sensitiveVolumes, BDSSDType sensitivityType) |
| void | RegisterSensitiveVolume (const std::map< G4LogicalVolume *, BDSSDType > &sensitiveVolumes) |
| Copy in a mapping of sensitive volumes to sensitive detectors. | |
| void | RegisterPhysicalVolume (G4VPhysicalVolume *physicalVolume) |
| void | RegisterPhysicalVolume (const std::set< G4VPhysicalVolume * > &physicalVolumes) |
| Apply RegisterPhysicalVolume() to a set of physical volumes. | |
| void | RegisterRotationMatrix (G4RotationMatrix *rotationMatrix) |
| void | RegisterRotationMatrix (const std::set< G4RotationMatrix * > &rotationMatrices) |
| Apply Register RotationMatrix() to a set of rotation matrices. | |
| void | RegisterVisAttributes (G4VisAttributes *visAttribute) |
| void | RegisterVisAttributes (const std::set< G4VisAttributes * > &visAttributes) |
| Apply RegisterVisAttribute() to a set of visualisation attributes. | |
| void | RegisterUserLimits (G4UserLimits *userLimit) |
| void | RegisterUserLimits (const std::set< G4UserLimits * > &userLimits) |
| Apply RegisterUserLimit to a set of user limits. | |
| void | InheritObjects (BDSGeometryComponent *component) |
| virtual std::set< G4LogicalVolume * > | GetAllLogicalVolumes () const |
| Access all logical volumes belonging to this component. | |
| virtual std::set< G4LogicalVolume * > | GetAllBiasingVolumes () const |
| Return all logical volumes that should be used for biasing minus any that are in the excluded set. | |
| virtual std::map< G4LogicalVolume *, BDSSDType > | GetAllSensitiveVolumes () const |
| Access all sensitive volumes belonging to this component. | |
| void | MakeAllVolumesSensitive (BDSSDType stype=BDSSDType::energydep) |
| virtual void | AttachSensitiveDetectors () |
| Attach a sensitive detector class to all registered sensitive volumes in this component. | |
| virtual void | ExcludeLogicalVolumeFromBiasing (G4LogicalVolume *lv) |
| void | StripOuterAndMakeAssemblyVolume () |
| Change from a container logical volume to an assembly volume. | |
| G4VSolid * | GetContainerSolid () const |
| Accessor - see member for more info. | |
| G4LogicalVolume * | GetContainerLogicalVolume () const |
| Accessor - see member for more info. | |
| G4AssemblyVolume * | GetContainerAssemblyVolume () const |
| Accessor - see member for more info. | |
| G4Transform3D | GetPlacementTransform () const |
| Accessor - see member for more info. | |
| G4ThreeVector | GetPlacementOffset () const |
| Accessor - see member for more info. | |
| G4RotationMatrix * | GetPlacementRotation () const |
| Accessor - see member for more info. | |
| BDSExtent | GetExtent () const |
| Accessor - see member for more info. | |
| BDSExtent | GetInnerExtent () const |
| Accessor - see member for more info. | |
| std::pair< G4double, G4double > | GetExtentX () const |
| Accessor - see member for more info. | |
| std::pair< G4double, G4double > | GetExtentY () const |
| Accessor - see member for more info. | |
| std::pair< G4double, G4double > | GetExtentZ () const |
| Accessor - see member for more info. | |
| std::pair< G4double, G4double > | GetInnerExtentX () const |
| Accessor - see member for more info. | |
| std::pair< G4double, G4double > | GetInnerExtentY () const |
| Accessor - see member for more info. | |
| std::pair< G4double, G4double > | GetInnerExtentZ () const |
| Accessor - see member for more info. | |
| virtual std::set< G4VPhysicalVolume * > | GetAllPhysicalVolumes () const |
| Accessor - see member for more info. | |
| virtual std::set< G4RotationMatrix * > | GetAllRotationMatrices () const |
| Accessor - see member for more info. | |
| virtual std::set< G4VisAttributes * > | GetAllVisAttributes () const |
| Accessor - see member for more info. | |
| virtual std::set< G4UserLimits * > | GetAllUserLimits () const |
| Accessor - see member for more info. | |
| virtual std::set< BDSGeometryComponent * > | GetAllDaughters () const |
| Accessor - see member for more info. | |
| virtual std::set< G4VSolid * > | GetAllSolids () const |
| Accessor - see member for more info. | |
| void | SetExtent (const BDSExtent &extIn) |
| Set extent. | |
| void | SetInnerExtent (const BDSExtent &extIn) |
| Set extent. | |
Protected Member Functions | |
| virtual void | CommonConstruction () |
| virtual void | SetSensitivity () |
| Attach sensitive detector to containerLogicalVolume. | |
Protected Attributes | |
| const G4String | name |
| const G4int | filterSetID |
Protected Attributes inherited from BDSGeometryComponent | |
| G4bool | containerIsAssembly |
| True if the 'container' is really an assembly; false if an LV. | |
| G4VSolid * | containerSolid |
| G4LogicalVolume * | containerLogicalVolume |
| G4AssemblyVolume * | containerAssembly |
| BDSExtent | outerExtent |
| BDSExtent | innerExtent |
| std::set< BDSGeometryComponent * > | allDaughters |
| registry of all daughter geometry components | |
| std::set< G4VSolid * > | allSolids |
| registry of all solids belonging to this component | |
| std::set< G4LogicalVolume * > | allLogicalVolumes |
| std::map< G4LogicalVolume *, BDSSDType > | sensitivity |
| G4bool | overrideSensitivity |
| std::set< G4VPhysicalVolume * > | allPhysicalVolumes |
| registry of all physical volumes belonging to this component | |
| std::set< G4RotationMatrix * > | allRotationMatrices |
| registry of all rotation matrices belonging to this component | |
| std::set< G4VisAttributes * > | allVisAttributes |
| registry of all visualisation attributes belonging to this component | |
| std::set< G4UserLimits * > | allUserLimits |
| registry of all user limits belonging to this component | |
| G4ThreeVector | placementOffset |
| G4RotationMatrix * | placementRotation |
| std::set< G4LogicalVolume * > * | lvsExcludedFromBiasing |
| Volumes that should not be included when return GetAllBiasingVolumes(). | |
Additional Inherited Members | |
Static Public Member Functions inherited from BDSGeometryComponent | |
| static void | AttachUserLimitsToAssembly (G4AssemblyVolume *av, G4UserLimits *ul) |
| Utility function to apply user limits to an assembly volume as there's not interface. | |
Base class and registry of sampler instances.
Definition at line 35 of file BDSSampler.hh.
|
explicit |
Definition at line 29 of file BDSSampler.cc.
|
inlinevirtual |
Definition at line 46 of file BDSSampler.hh.
|
protectedvirtual |
Common construction tasks such as creating a logical volume from the solid and visualisation options.
Definition at line 36 of file BDSSampler.cc.
References GetName(), BDSGlobalConstants::Instance(), and SetSensitivity().
Referenced by BDSSamplerCylinder::BDSSamplerCylinder(), and BDSSamplerCylinder::BDSSamplerCylinder().


|
inline |
Accessor.
Definition at line 50 of file BDSSampler.hh.
|
inlinevirtual |
Accessor.
Reimplemented from BDSGeometryComponent.
Definition at line 49 of file BDSSampler.hh.
Referenced by CommonConstruction().

| void BDSSampler::MakeMaterialValidForUseInMassWorld | ( | ) |
Normally the sampler has nullptr material. But, in case we use it in the mass world, we should set a valid material. This function sets it to G4_GALACTIC.
Definition at line 50 of file BDSSampler.cc.
References BDSMaterials::Instance().
Referenced by BDSLinkOpaqueBox::PlaceOutputSampler().


|
protectedvirtual |
Attach sensitive detector to containerLogicalVolume.
Reimplemented in BDSSamplerCylinder, and BDSSamplerSphere.
Definition at line 43 of file BDSSampler.cc.
Referenced by CommonConstruction().

|
protected |
Definition at line 66 of file BDSSampler.hh.
|
protected |
Definition at line 65 of file BDSSampler.hh.