|
|
|||
File indexing completed on 2026-10-20 08:45:49
0001 /** 0002 * @file SensorIdentifier.h 0003 * Application-provided sensor identities used during geometry translation. 0004 */ 0005 #pragma once 0006 0007 class G4VPhysicalVolume; 0008 0009 namespace simphony 0010 { 0011 /** 0012 * Identifies sensors in a Geant4 geometry. 0013 * 0014 * Supply an implementation through GeometryOptions::sensor_identifier. The 0015 * runtime borrows it for its process lifetime. Return -1 for volumes without 0016 * sensors and a unique non-negative identity for each sensor. 0017 */ 0018 struct SensorIdentifier 0019 { 0020 virtual ~SensorIdentifier() = default; 0021 0022 /** Sets the diagnostic verbosity requested by the geometry translator. */ 0023 virtual void setLevel(int level) = 0; 0024 0025 /** 0026 * Identifies a sensor in the non-instanced remainder of the geometry. 0027 * 0028 * @param volume volume being inspected. 0029 * @param parent parent volume, or nullptr at the world. 0030 */ 0031 virtual int getGlobalIdentity( 0032 const G4VPhysicalVolume* volume, const G4VPhysicalVolume* parent) = 0; 0033 0034 /** 0035 * Identifies the sensor within a factorized instance subtree. 0036 * 0037 * @param outer_volume outer volume of the instance. At most one sensor 0038 * identity per instance is supported. 0039 */ 0040 virtual int getInstanceIdentity(const G4VPhysicalVolume* outer_volume) const = 0; 0041 }; 0042 } // namespace simphony
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|