Geometry-II.Pdf

Geometry-II.Pdf

Version 10.6 Geometry II Gabriele Cosmo (CERN) Geant4 Advanced Course Contents • Placements, Parameterised and Replicated volumes - Introduction • Divided volumes • Nested parameterisations • Geometrical regions • Assembly volumes • Reflected volumes • Geometry optimisation • Parallel geometries • CAD interface Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 2 Detector geometry • Three conceptual layers – G4VSolid -- shape, size – G4LogicalVolume -- daughter physical volumes, material, sensitivity, user limits, etc. – G4VPhysicalVolume -- position, rotation G4VSolid G4LogicalVolume G4VPhysicalVolume G4Box G4Material G4VisAttributes G4PVPlacement G4VSensitiveDetector G4Tubs G4PVParameterised Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 4 Physical Volumes • G4PVReplica 1 Replica = Many Repeated Volumes – Daughters of same shape are aligned along one axis – Daughters fill the mother completely without gap in between • G4PVDivision 1 Division = Many Repeated Volumes – Daughters of same shape are aligned along one axis and fill the mother – There can be gaps between mother wall and outmost daughters – No gap in between daughters • G4ReflectionFactory 1 Placement = a pair of Placement volumes – generating placements of a volume and its reflected volume – Useful typically for end-cap calorimeter • G4AssemblyVolume 1 Placement = a set of Placement volumes – Position a group of volumes Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 7 Divided Volumes Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 9 G4PVDivision • A ”division” in Geant4 is a special kind of parameterised volume – G4VPVParameterisation is automatically generated according to the parameters given in G4PVDivision • G4PVDivision is similar to G4PVReplica but – It allows gaps in between mother and daughter volumes • The geometrical shape of all daughter volumes must be the same as for the mother volume. – G4VSolid (to be assigned to the daughter logical volume) must be a different object but of the same type • Replication must be aligned along one axis Ø For setups with no gaps, should use G4PVReplica instead – For identical geometry, navigation in G4PVReplica is faster mother volume Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 10 G4PVDivision - # of divisions provided G4PVDivision(const G4String& pName, G4LogicalVolume* pDaughterLogical, G4LogicalVolume* pMotherLogical, const EAxis pAxis, const G4int nDivisions, const G4double offset); • The size (width) of the daughter volume is calculated as ( (size of mother) - offset ) / nDivisions nDivisions offset Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 11 G4PVDivision – width of daughter slice provided G4PVDivision(const G4String& pName, G4LogicalVolume* pDaughterLogical, G4LogicalVolume* pMotherLogical, const EAxis pAxis, const G4double width, const G4double offset); • The number of daughter volumes is calculated as int( ( (size of mother) - offset ) / width ) As many daughters as width and offset allow width offset Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 12 G4PVDivision – both # of divisions and width of slice provided G4PVDivision(const G4String& pName, G4LogicalVolume* pDaughterLogical, G4LogicalVolume* pMotherLogical, const EAxis pAxis, const G4int nDivisions, const G4double width, const G4double offset); • nDivisions daughters of width thickness nDivisions width offset Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 13 G4PVDivision – Supported cases G4PVDivision currently supports following shapes / axes: – G4Box : kXAxis, kYAxis, kZAxis – G4Tubs : kRho, kPhi, kZAxis – G4Cons : kRho, kPhi, kZAxis – G4Trd : kXAxis, kYAxis, kZAxis – G4Para : kXAxis, kYAxis, kZAxis – G4Polycone : kRho, kPhi, kZAxis • kZAxis - the number of divisions has to be the same as solid sections (i.e. numZPlanes-1), the width will not be taken into account – G4Polyhedra : kRho, kPhi, kZAxis • kPhi - the number of divisions has to be the same as solid sides (i.e. numSides), the width will not be taken into account • kZAxis - the number of divisions has to be the same as solid sections (i.e. numZPlanes-1), the width will not be taken into account Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 14 G4ReplicatedSlice • Extension of G4PVDivision allowing gaps in between divided volumes: G4ReplicatedSlice(const G4String& pName, G4LogicalVolume* pDaughterLogical, G4LogicalVolume* pMotherLogical, const EAxis pAxis, const G4int nDivisions, const G4double half_gap, const G4double offset); G4ReplicatedSlice(const G4String& pName, G4LogicalVolume* pDaughterLogical, G4LogicalVolume* pMotherLogical, const EAxis pAxis, const G4double width, const G4double half_gap, const G4double offset); G4ReplicatedSlice(const G4String& pName, G4LogicalVolume* pDaughterLogical, G4LogicalVolume* pMotherLogical, const EAxis pAxis, const G4int nDivisions, const G4double width, const G4double half_gap, const G4double offset); half_gap nDivisions offset Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 15 Nested Parameterisations Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 16 Nested Parameterisation 4 Suppose a geometry with three-dimensional regular repetition of the same shape and size of volumes without gap between volumes. Material of such volumes are changing according to the position 4 E.g. voxels made by CT Scan data (DICOM) 4 Instead of a full three-dimensional parameterised volume: 4 Use replicas for the first and second axes sequentially, and then use one-dimensional parameterisation along the third axis Much less memory required for geometry optimization and much faster navigation for ultra-large number of voxels Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 17 Nested Parameterisation 4 Given a geometry defined as two sequential replicas and then 0 one-dimensional parameterisation, 1 0 1 22 2 3 4 Material of a single voxel must be parameterised not only by the copy number of the voxel, but also by the copy numbers of the ancestors 1 4 Material is indexed by three indices 0 4 G4VNestedParameterisation is a special parameterisation class derived from the base class G4VPVParameterisation 4 ComputeMaterial() method of G4VNestedParameterisation has a touchable object of the parent physical volume, in addition to the copy number of the voxel 4 Index of first axis = theTouchable->GetCopyNumber(1); 4 Index of second axis = theTouchable->GetCopyNumber(0); 4 Index of third axis = copy number Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 18 G4VNestedParameterisation • G4VNestedParameterisation is a class derived from G4VPVParameterisation • G4VNestedParameterisation class has three pure virtual methods to be implemented by the user in addition to ComputeTransformation(), which is a mandatory method for all G4VPVParameterisation classes: virtual G4Material* ComputeMaterial(G4VPhysicalVolume *currentVol, const G4int repNo, const G4VTouchable *parentTouch=0)=0; – Returns a material pointer w.r.t. copy numbers of itself and ancestors – Must use parentTouch=0 for navigator's sake. Typically, return a default material if parentTouch=0 virtual G4int GetNumberOfMaterials() const=0; – Returns total number of materials which may appear as the return value of ComputeMaterial() method virtual G4Material* GetMaterial(G4int idx) const=0; – Return idx-th material – idx is not a copy number: idx=[0,nMaterial-1] Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 19 G4VNestedParameterisation - notes Ø As sub-type of the G4VPVParameterisation class: – G4VNestedParameterisation can be used as an argument of G4PVParameterised – All other arguments of G4PVParameterised are unaffected Ø Nested parameterisations of a placement volume are not supported – All levels used as indices of material must be a repeated volume – There cannot be a level of placement volume in between Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 20 Regions Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 21 Logical Volumes & Regions World Volume - Default Region • A logical volume can be a region. More than one logical volumes may belong to a region Root logical - Region A • A region is a part of the geometrical hierarchy, i.e. a set of geometry volumes, typically of a sub-system • A logical volume becomes a root logical volume once a Root logical - region is assigned to it: Region B – All daughter volumes belonging to the root logical volume share the same region, unless a daughter volume itself is already set as root logical volume for another region • Important restriction: – No logical volume can be shared by more than one regions, regardless if root volume or not Advanced Geant4 Course - Geometry II - G.Cosmo (CERN) 22 Geometrical Regions – Information which can be associated with… • A G4Region may have its unique: – Production thresholds (cuts) • If a region in the mass geometry does not have its own production thresholds, those of the default region are used (i.e., may not be those of the parent region) – User limits • Artificial limits affecting to the tracking, e.g. max step length, max number of steps, min kinetic energy left, etc. • User limits can be set directly to logical volume as well (if both logical volume and associated region have user limits, those associated to the logical volume take precedence) – User region information • E.g. to implement a fast Boolean method to identify the nature of the region – Fast simulation manager – Regional user stepping action – Field manager • NOTE: – The world logical volume is recognized as the default region – User is not allowed to define a region to the world

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    58 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us