ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Geo2G4STParameterisation Class Reference

#include <Geo2G4STParameterisation.h>

Inheritance diagram for Geo2G4STParameterisation:
Collaboration diagram for Geo2G4STParameterisation:

Public Member Functions

 Geo2G4STParameterisation (const GeoXF::Function *func, unsigned int copies)
 
void ComputeTransformation (const G4int copyNo, G4VPhysicalVolume *physVol) const
 

Private Member Functions

 Geo2G4STParameterisation (const Geo2G4STParameterisation &)
 
Geo2G4STParameterisationoperator= (const Geo2G4STParameterisation &)
 
void ComputeDimensions (G4Box &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Trd &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Trap &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Cons &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Sphere &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Torus &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Para &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Hype &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Tubs &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Orb &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Polyhedra &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Polycone &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Ellipsoid &, const G4int, const G4VPhysicalVolume *) const
 

Private Attributes

const GeoXF::Function * m_function
 
unsigned int m_nCopies
 

Detailed Description

Definition at line 31 of file Geo2G4STParameterisation.h.

Constructor & Destructor Documentation

◆ Geo2G4STParameterisation() [1/2]

Geo2G4STParameterisation::Geo2G4STParameterisation ( const GeoXF::Function *  func,
unsigned int  copies 
)

Definition at line 11 of file Geo2G4STParameterisation.cxx.

12  :
13  m_function(func->clone()),
14  m_nCopies(copies)
15 {
16 }

◆ Geo2G4STParameterisation() [2/2]

Geo2G4STParameterisation::Geo2G4STParameterisation ( const Geo2G4STParameterisation )
private

Member Function Documentation

◆ ComputeDimensions() [1/13]

void Geo2G4STParameterisation::ComputeDimensions ( G4Box &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivate

Definition at line 50 of file Geo2G4STParameterisation.h.

50 {}

◆ ComputeDimensions() [2/13]

void Geo2G4STParameterisation::ComputeDimensions ( G4Cons &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivate

Definition at line 53 of file Geo2G4STParameterisation.h.

53 {}

◆ ComputeDimensions() [3/13]

void Geo2G4STParameterisation::ComputeDimensions ( G4Ellipsoid &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivate

Definition at line 62 of file Geo2G4STParameterisation.h.

62 {}

◆ ComputeDimensions() [4/13]

void Geo2G4STParameterisation::ComputeDimensions ( G4Hype &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivate

Definition at line 57 of file Geo2G4STParameterisation.h.

57 {}

◆ ComputeDimensions() [5/13]

void Geo2G4STParameterisation::ComputeDimensions ( G4Orb &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivate

Definition at line 59 of file Geo2G4STParameterisation.h.

59 {}

◆ ComputeDimensions() [6/13]

void Geo2G4STParameterisation::ComputeDimensions ( G4Para &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivate

Definition at line 56 of file Geo2G4STParameterisation.h.

56 {}

◆ ComputeDimensions() [7/13]

void Geo2G4STParameterisation::ComputeDimensions ( G4Polycone &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivate

Definition at line 61 of file Geo2G4STParameterisation.h.

61 {}

◆ ComputeDimensions() [8/13]

void Geo2G4STParameterisation::ComputeDimensions ( G4Polyhedra &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivate

Definition at line 60 of file Geo2G4STParameterisation.h.

60 {}

◆ ComputeDimensions() [9/13]

void Geo2G4STParameterisation::ComputeDimensions ( G4Sphere &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivate

Definition at line 54 of file Geo2G4STParameterisation.h.

54 {}

◆ ComputeDimensions() [10/13]

void Geo2G4STParameterisation::ComputeDimensions ( G4Torus &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivate

Definition at line 55 of file Geo2G4STParameterisation.h.

55 {}

◆ ComputeDimensions() [11/13]

void Geo2G4STParameterisation::ComputeDimensions ( G4Trap &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivate

Definition at line 52 of file Geo2G4STParameterisation.h.

52 {}

◆ ComputeDimensions() [12/13]

void Geo2G4STParameterisation::ComputeDimensions ( G4Trd &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivate

Definition at line 51 of file Geo2G4STParameterisation.h.

51 {}

◆ ComputeDimensions() [13/13]

void Geo2G4STParameterisation::ComputeDimensions ( G4Tubs &  ,
const  G4int,
const G4VPhysicalVolume *   
) const
inlineprivate

Definition at line 58 of file Geo2G4STParameterisation.h.

58 {}

◆ ComputeTransformation()

void Geo2G4STParameterisation::ComputeTransformation ( const G4int  copyNo,
G4VPhysicalVolume *  physVol 
) const

Definition at line 18 of file Geo2G4STParameterisation.cxx.

20 {
22  G4ThreeVector translation = transform.getTranslation();
23 
24  // keep thread-local rotation matrix (see discussion on atlas/athena!58732)
25  static G4ThreadLocal G4RotationMatrix* rotation = nullptr;
26  if (!rotation) {
27  rotation = new G4RotationMatrix();
28  G4AutoDelete::Register(rotation);
29  }
30  *rotation = transform.getRotation().inverse();
31 
32  physVol->SetTranslation(translation);
33  physVol->SetRotation(rotation);
34 }

◆ operator=()

Geo2G4STParameterisation& Geo2G4STParameterisation::operator= ( const Geo2G4STParameterisation )
private

Member Data Documentation

◆ m_function

const GeoXF::Function* Geo2G4STParameterisation::m_function
private

Definition at line 64 of file Geo2G4STParameterisation.h.

◆ m_nCopies

unsigned int Geo2G4STParameterisation::m_nCopies
private

Definition at line 65 of file Geo2G4STParameterisation.h.


The documentation for this class was generated from the following files:
Geo2G4STParameterisation::m_function
const GeoXF::Function * m_function
Definition: Geo2G4STParameterisation.h:64
Geo2G4STParameterisation::m_nCopies
unsigned int m_nCopies
Definition: Geo2G4STParameterisation.h:65
xAOD::rotation
rotation
Definition: TrackSurface_v1.cxx:15
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
Amg::EigenTransformToCLHEP
HepGeom::Transform3D EigenTransformToCLHEP(const Amg::Transform3D &eigenTransf)
Converts an Eigen-based Amg::Transform3D into a CLHEP-based HepGeom::Transform3D.
Definition: CLHEPtoEigenConverter.h:120