ATLAS Offline Software
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 
21 namespace Trk {
22 
23  class Surface;
24 
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 
44 
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 
ISurfaceBuilder.h
Trk::RandomSurfaceBuilder::~RandomSurfaceBuilder
virtual ~RandomSurfaceBuilder()
Destructor.
Definition: RandomSurfacesBuilder.cxx:39
Trk::RandomSurfaceBuilder::m_gaussDist
Rndm::Numbers * m_gaussDist
Definition: RandomSurfaceBuilder.h:57
Trk::RandomSurfaceBuilder::m_rndmSvc
SmartIF< IRndmGenSvc > m_rndmSvc
random number engine used
Definition: RandomSurfaceBuilder.h:56
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
Trk::RandomSurfaceBuilder::surface
const Surface * surface() const
SurfaceBuilder interface method - provice a single surface.
Definition: RandomSurfacesBuilder.cxx:87
Trk::RandomSurfaceBuilder
Definition: RandomSurfaceBuilder.h:33
Trk::RandomSurfaceBuilder::m_flatDist
Rndm::Numbers * m_flatDist
Definition: RandomSurfaceBuilder.h:58
Trk::RandomSurfaceBuilder::finalize
StatusCode finalize()
AlgTool finalize method.
Definition: RandomSurfacesBuilder.cxx:63
Trk::RandomSurfaceBuilder::m_enableCones
bool m_enableCones
Definition: RandomSurfaceBuilder.h:61
Trk::RandomSurfaceBuilder::m_numberOfSurfaces
size_t m_numberOfSurfaces
Definition: RandomSurfaceBuilder.h:60
Trk::ISurfaceBuilder
Definition: ISurfaceBuilder.h:30
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
Trk::RandomSurfaceBuilder::surfaces
const std::vector< const Surface * > * surfaces() const
SurfaceBuilder interface method - provide a vector of surfaces -.
Definition: RandomSurfacesBuilder.cxx:70
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
Trk::RandomSurfaceBuilder::initialize
StatusCode initialize()
AlgTool initialize method.
Definition: RandomSurfacesBuilder.cxx:48
Trk::RandomSurfaceBuilder::m_worldDimensions
std::vector< double > m_worldDimensions
Definition: RandomSurfaceBuilder.h:62
Trk::RandomSurfaceBuilder::RandomSurfaceBuilder
RandomSurfaceBuilder(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition: RandomSurfacesBuilder.cxx:23
AthAlgTool
Definition: AthAlgTool.h:26
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75