ATLAS Offline Software
xAODClusterCompressor.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 //Dear emacs, this is -*-c++-*-
6 #ifndef CALOUTILS_XAODCLUSTERCOMPRESSOR_H
7 #define CALOUTILS_XAODCLUSTERCOMPRESSOR_H 1
8 
9 // STL includes
10 #include <string>
11 
12 // FrameWork includes
16 
18 
20  virtual public IxAODClusterCompressor, public AthService {
21 
22  protected:
23  friend class SvcFactory<xAODClusterCompressor>;
24 
25 
27  // Public methods:
29  public:
30 
33  xAODClusterCompressor(const std::string& name, ISvcLocator* pSvcLocator);
34 
35  virtual StatusCode initialize() override;
36  static const InterfaceID& interfaceID() { return IID_IxAODClusterCompressor;}
37 
38  virtual void compress(xAOD::CaloClusterContainer* clustercontainer) const override;
39 
40  virtual StatusCode queryInterface( const InterfaceID& riid,
41  void** ppvInterface ) override;
42 
43  //List of all moments
44  typedef std::array< xAOD::CaloCluster::MomentType,60> momentList_t;
46 
47  //Use Float compressor from CxxUtils
49 
50  //JobO-driven flag to turn compression on/off
52 
53 };
54 
55 #endif //> !CALOUTILS_XAODCLUSTERCOMPRESSOR_H
xAODClusterCompressor::interfaceID
static const InterfaceID & interfaceID()
Definition: xAODClusterCompressor.h:36
SvcFactory
Definition: AthCnvSvc.h:28
xAODClusterCompressor::m_compressor
CxxUtils::FloatCompressor m_compressor
Definition: xAODClusterCompressor.h:48
IxAODClusterCompressor
Definition: IxAODClusterCompressor.h:24
CxxUtils::FloatCompressor
Class implementing a lossy float compression.
Definition: FloatCompressor.h:30
xAODClusterCompressor::momentList_t
std::array< xAOD::CaloCluster::MomentType, 60 > momentList_t
Definition: xAODClusterCompressor.h:44
FloatCompressor.h
xAODClusterCompressor::queryInterface
virtual StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface) override
Definition: xAODClusterCompressor.cxx:74
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthService
Definition: AthService.h:32
xAODClusterCompressor::initialize
virtual StatusCode initialize() override
Definition: xAODClusterCompressor.cxx:31
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
xAODClusterCompressor::compress
virtual void compress(xAOD::CaloClusterContainer *clustercontainer) const override
Definition: xAODClusterCompressor.cxx:40
xAODClusterCompressor::m_allMoments
momentList_t m_allMoments
Definition: xAODClusterCompressor.h:45
xAODClusterCompressor::m_isEnabled
bool m_isEnabled
Definition: xAODClusterCompressor.h:51
CaloClusterContainer.h
AthService.h
xAODClusterCompressor::xAODClusterCompressor
xAODClusterCompressor()=delete
xAODClusterCompressor
Definition: xAODClusterCompressor.h:20
IxAODClusterCompressor.h