ATLAS Offline Software
Loading...
Searching...
No Matches
RandomSurfaceBuilder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 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
14// Gaudi & Athena
16#include "GaudiKernel/IRndmGenSvc.h"
17#include "GaudiKernel/RndmGenerators.h"
18// STL
19#include <algorithm>
20
21namespace 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_gaussDist;
58 Rndm::Numbers* m_flatDist;
59
62 std::vector<double> m_worldDimensions;
63 };
64
65} // end of namespace
66
67#endif // TRKDETDESCRTOOLS_RANDOMSURFACEBUILDER_H
68
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Interface class ISurfaceBuilders It inherits from IAlgTool.
StatusCode finalize()
AlgTool finalize method.
StatusCode initialize()
AlgTool initialize method.
SmartIF< IRndmGenSvc > m_rndmSvc
random number engine used
RandomSurfaceBuilder(const std::string &, const std::string &, const IInterface *)
Constructor.
const Surface * surface() const
SurfaceBuilder interface method - provice a single surface.
virtual ~RandomSurfaceBuilder()
Destructor.
const std::vector< const Surface * > * surfaces() const
SurfaceBuilder interface method - provide a vector of surfaces -.
std::vector< double > m_worldDimensions
Abstract Base Class for tracking surfaces.
Ensure that the ATLAS eigen extensions are properly loaded.
#define private