ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkDetDescr
TrkDetDescrTestTools
TrkDetDescrTestTools
RandomSurfaceBuilder.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// RandomSurfaceBuilder.h, (c) ATLAS Detector software
8
9
#ifndef TRKDETDESCRTOOLS_RANDOMSURFACEBUILDER_H
10
#define TRKDETDESCRTOOLS_RANDOMSURFACEBUILDER_H
11
12
// Trk
13
#include "
TrkDetDescrInterfaces/ISurfaceBuilder.h
"
14
// Gaudi & Athena
15
#include "
AthenaBaseComps/AthAlgTool.h
"
16
#include "GaudiKernel/IRndmGenSvc.h"
17
#include "GaudiKernel/RndmGenerators.h"
18
// STL
19
#include <algorithm>
20
21
namespace
Trk
{
22
23
class
Surface
;
24
32
33
class
RandomSurfaceBuilder
:
public
AthAlgTool
,
virtual
public
ISurfaceBuilder
{
34
35
public
:
37
RandomSurfaceBuilder
(
const
std::string&,
const
std::string&,
const
IInterface*);
38
40
virtual
~RandomSurfaceBuilder
();
41
43
StatusCode
initialize
();
44
46
StatusCode
finalize
();
47
49
const
std::vector< const Surface* >*
surfaces
()
const
;
50
52
const
Surface
*
surface
( )
const
;
53
54
private
:
56
SmartIF<IRndmGenSvc>
m_rndmSvc
;
57
Rndm::Numbers*
m_flatDist
=
nullptr
;
58
59
Gaudi::Property<size_t>
m_numberOfSurfaces
{
this
,
"NumberOfSurfaces"
, 100};
60
Gaudi::Property<std::vector<double>>
m_worldDimensions
61
{
this
,
"WorldDimensions"
, {},
"the active dimensions"
};
62
};
63
64
}
// end of namespace
65
66
#endif
// TRKDETDESCRTOOLS_RANDOMSURFACEBUILDER_H
67
AthAlgTool.h
ISurfaceBuilder.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
Trk::ISurfaceBuilder
Interface class ISurfaceBuilders It inherits from IAlgTool.
Definition
ISurfaceBuilder.h:30
Trk::RandomSurfaceBuilder::finalize
StatusCode finalize()
AlgTool finalize method.
Definition
RandomSurfacesBuilder.cxx:52
Trk::RandomSurfaceBuilder::initialize
StatusCode initialize()
AlgTool initialize method.
Definition
RandomSurfacesBuilder.cxx:38
Trk::RandomSurfaceBuilder::m_rndmSvc
SmartIF< IRndmGenSvc > m_rndmSvc
random number engine used
Definition
RandomSurfaceBuilder.h:56
Trk::RandomSurfaceBuilder::m_flatDist
Rndm::Numbers * m_flatDist
Definition
RandomSurfaceBuilder.h:57
Trk::RandomSurfaceBuilder::RandomSurfaceBuilder
RandomSurfaceBuilder(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition
RandomSurfacesBuilder.cxx:23
Trk::RandomSurfaceBuilder::surface
const Surface * surface() const
SurfaceBuilder interface method - provice a single surface.
Definition
RandomSurfacesBuilder.cxx:76
Trk::RandomSurfaceBuilder::m_worldDimensions
Gaudi::Property< std::vector< double > > m_worldDimensions
Definition
RandomSurfaceBuilder.h:61
Trk::RandomSurfaceBuilder::~RandomSurfaceBuilder
virtual ~RandomSurfaceBuilder()
Destructor.
Definition
RandomSurfacesBuilder.cxx:30
Trk::RandomSurfaceBuilder::surfaces
const std::vector< const Surface * > * surfaces() const
SurfaceBuilder interface method - provide a vector of surfaces -.
Definition
RandomSurfacesBuilder.cxx:59
Trk::RandomSurfaceBuilder::m_numberOfSurfaces
Gaudi::Property< size_t > m_numberOfSurfaces
Definition
RandomSurfaceBuilder.h:59
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0