ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
G4Utilities
Geo2G4
src
LArWheelSolidDDProxy.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// LArWheelSolidDDProxy
6
// proxy for LArWheelSolid to store in DetectorDescription
7
// Author: D. A. Maximov
8
9
#ifndef GEO2G4_LARWHEELSOLIDDDPROXY_H
10
#define GEO2G4_LARWHEELSOLIDDDPROXY_H
11
12
#include "CLHEP/Vector/ThreeVector.h"
13
#include "
AthenaKernel/CLASS_DEF.h
"
14
15
class
G4VSolid;
16
17
class
LArWheelSolidDDProxy
{
18
public
:
19
20
LArWheelSolidDDProxy
(G4VSolid* plws);
21
virtual
~LArWheelSolidDDProxy
();
22
23
// Mandatory for custom solid Geant4 functions
24
/* EInside Inside(const G4ThreeVector&) const;
25
G4double DistanceToIn(const G4ThreeVector&,
26
const G4ThreeVector&) const;
27
G4double DistanceToIn(const G4ThreeVector&) const;
28
G4double DistanceToOut(const G4ThreeVector&,
29
const G4ThreeVector&,
30
const G4bool calcNorm = false,
31
G4bool* validNorm = 0,
32
G4ThreeVector* n = 0) const; */
33
int
Inside
(
const
CLHEP::Hep3Vector&)
const
;
34
35
double
DistanceToIn
(
const
CLHEP::Hep3Vector&,
const
CLHEP::Hep3Vector&)
const
;
36
double
DistanceToIn
(
const
CLHEP::Hep3Vector&)
const
;
37
38
double
DistanceToOut
(
const
CLHEP::Hep3Vector&,
const
CLHEP::Hep3Vector&)
const
;
39
40
double
DistanceToOut
(
const
CLHEP::Hep3Vector&)
const
;
41
CLHEP::Hep3Vector
SurfaceNormal
(
const
CLHEP::Hep3Vector&)
const
;
42
43
// G4bool CalculateExtent(const EAxis,
44
// const G4VoxelLimits&,
45
// const G4AffineTransform&,
46
// G4double&,
47
// G4double&) const;
48
49
CLHEP::Hep3Vector
GetPointOnSurface
()
const
;
50
double
GetCubicVolume
();
51
double
GetSurfaceArea
();
52
53
void
SetVerbose
(
int
v)
const
;
54
55
private
:
56
57
G4VSolid *
m_plws
;
58
59
};
60
61
62
//using the macro below we can assign an identifier (and a version)
63
//This is required and checked at compile time when you try to record/retrieve
64
CLASS_DEF
(
LArWheelSolidDDProxy
, 900345679 , 1)
65
66
#endif
// GEO2G4_LARWHEELSOLIDDDPROXY_H
CLASS_DEF.h
macros to associate a CLID to a type
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition
Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
LArWheelSolidDDProxy
Definition
LArWheelSolidDDProxy.h:17
LArWheelSolidDDProxy::DistanceToIn
double DistanceToIn(const CLHEP::Hep3Vector &, const CLHEP::Hep3Vector &) const
Definition
LArWheelSolidDDProxy.cxx:23
LArWheelSolidDDProxy::GetCubicVolume
double GetCubicVolume()
Definition
LArWheelSolidDDProxy.cxx:47
LArWheelSolidDDProxy::DistanceToOut
double DistanceToOut(const CLHEP::Hep3Vector &, const CLHEP::Hep3Vector &) const
Definition
LArWheelSolidDDProxy.cxx:31
LArWheelSolidDDProxy::SetVerbose
void SetVerbose(int v) const
Definition
LArWheelSolidDDProxy.cxx:63
LArWheelSolidDDProxy::SurfaceNormal
CLHEP::Hep3Vector SurfaceNormal(const CLHEP::Hep3Vector &) const
Definition
LArWheelSolidDDProxy.cxx:39
LArWheelSolidDDProxy::GetSurfaceArea
double GetSurfaceArea()
Definition
LArWheelSolidDDProxy.cxx:51
LArWheelSolidDDProxy::LArWheelSolidDDProxy
LArWheelSolidDDProxy(G4VSolid *plws)
Definition
LArWheelSolidDDProxy.cxx:13
LArWheelSolidDDProxy::~LArWheelSolidDDProxy
virtual ~LArWheelSolidDDProxy()
Definition
LArWheelSolidDDProxy.cxx:17
LArWheelSolidDDProxy::m_plws
G4VSolid * m_plws
Definition
LArWheelSolidDDProxy.h:57
LArWheelSolidDDProxy::GetPointOnSurface
CLHEP::Hep3Vector GetPointOnSurface() const
Definition
LArWheelSolidDDProxy.cxx:43
LArWheelSolidDDProxy::Inside
int Inside(const CLHEP::Hep3Vector &) const
Definition
LArWheelSolidDDProxy.cxx:19
Generated on
for ATLAS Offline Software by
1.17.0