ATLAS Offline Software
Loading...
Searching...
No Matches
FastCaloSimV2ParamSvc.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#ifndef ISF_FASTCALOSIMV2PARAMSVC_H
6#define ISF_FASTCALOSIMV2PARAMSVC_H 1
7
11#include "GaudiKernel/ServiceHandle.h"
13#ifdef USE_GPU
15#endif
16
17//forward declarations
19
20namespace ISF {
21
22 class FastCaloSimV2ParamSvc : public extends<AthService, IFastCaloSimParamSvc> {
23 public:
25 FastCaloSimV2ParamSvc(const std::string& name, ISvcLocator* pSvcLocator);
26
28 virtual ~FastCaloSimV2ParamSvc() = default;
29
31 virtual StatusCode initialize() override final;
32
34 virtual StatusCode simulate(TFCSSimulationState& simulstate,const TFCSTruthState* truth, const TFCSExtrapolationState* extrapol) const override final;
35
36 private:
37
38#ifdef USE_GPU
39 // for FCS-GPU
40 //construct the geometry with GPU EDM
41 bool convert_cellmap(t_cellmap* cellmap, t_cellmap_Gpu* newcellmap);
42 void region_data_cpy( CaloGeometryLookup* glkup, GeoRegion* gr ) ;
43 GeoLoadGpu* m_gl;
44 GeoLoadGpu m_glg;
45 void* m_rd4h;
46 t_cellmap_Gpu m_cellmap_gpu;
47#endif
52
55
56 std::string m_paramsFilename{"TFCSparam.root"};
57 std::string m_paramsObject{"SelPDGID"};
58
60
61 std::unique_ptr<CaloGeometryFromCaloDDM> m_caloGeo{};
62
64 bool m_CompressMemory{true};
65 bool m_runOnGPU{false};
66 };
67
68}
69
71// Inline methods:
73inline
76
77#endif //> !ISF_FASTCALOSIMV2PARAMSVC_H
std::map< Identifier, const CaloDetDescrElement * > t_cellmap
#define gr
std::map< Identifier_Gpu, const CaloDetDescrElement_Gpu * > t_cellmap_Gpu
Definition GeoLoadGpu.h:15
std::unique_ptr< CaloGeometryFromCaloDDM > m_caloGeo
ServiceHandle< StoreGateSvc > m_detStore
Pointer to StoreGate (detector store by default)
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
FastCaloSimV2ParamSvc(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters.
virtual StatusCode initialize() override final
Athena algorithm's interface methods.
virtual ~FastCaloSimV2ParamSvc()=default
Destructor.
virtual StatusCode simulate(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override final
Simulation Call.
TFCSParametrizationBase * m_param
ISFParticleOrderedQueue.
#define private