ATLAS Offline Software
CaloCellMaker.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef CALOREC_CALOCELLMAKER_H
6 #define CALOREC_CALOCELLMAKER_H
7 
8 /********************************************************************
9 
10  NAME: CaloCellMaker.h
11  PACKAGE: offline/Calorimeter/CaloRec
12 
13  AUTHORS: David Rousseau
14  CREATED: May 11, 2004
15 
16  PURPOSE: Create a CaloCellContainer by calling a set of tools
17  sharing interface CaloInterface/ICaloCellMakerTool.h
18 
19  ********************************************************************/
20 
21 // Gaudi includes
22 #include "GaudiKernel/ToolHandle.h"
23 #include "GaudiKernel/ServiceHandle.h"
24 
25 // Athena includes
28 
29 // Calo includes
31 //#include "CaloInterface/ICaloCellMakerTool.h"
32 
33 class IChronoStatSvc;
34 class ICaloCellMakerTool;
35 
37 
38  public:
40  virtual ~CaloCellMaker() = default;
41 
42  virtual StatusCode initialize() override;
43  virtual StatusCode execute (const EventContext& ctx) const override;
44  virtual StatusCode finalize() override;
45 
46  private:
47 
49  ServiceHandle<IChronoStatSvc> m_chrono{this,"ChronoStatSvc","ChronoStatSvc"};
50  Gaudi::Property<bool> m_doChronoStat{this,"EnableChronoStat",true};
51 
52  //Decide if the container owns the cells or views it (default false=view)
53  Gaudi::Property<bool> m_ownPolicyProp{this,"OwnPolicy",false};
55 
57  SG::WriteHandleKey<CaloCellContainer> m_caloCellsOutputKey{this,"CaloCellsOutputName","AllCalo","SG Key of the output container"};
58 
60  ToolHandleArray<ICaloCellMakerTool> m_caloCellMakerTools{this,"CaloCellMakerToolNames",{}};
61 
62 };
63 #endif
SG::VIEW_ELEMENTS
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Definition: OwnershipPolicy.h:18
CaloCellMaker::m_ownPolicy
SG::OwnershipPolicy m_ownPolicy
Definition: CaloCellMaker.h:54
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
SG::OwnershipPolicy
OwnershipPolicy
describes the possible element ownership policies (see e.g. DataVector)
Definition: OwnershipPolicy.h:16
ICaloCellMakerTool
Definition: ICaloCellMakerTool.h:20
CaloCellMaker::initialize
virtual StatusCode initialize() override
Definition: CaloCellMaker.cxx:38
CaloCellMaker::m_ownPolicyProp
Gaudi::Property< bool > m_ownPolicyProp
Definition: CaloCellMaker.h:53
AthReentrantAlgorithm::AthReentrantAlgorithm
AthReentrantAlgorithm()
Default constructor:
SG::WriteHandleKey< CaloCellContainer >
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CaloCellMaker
Definition: CaloCellMaker.h:36
CaloCellMaker::m_chrono
ServiceHandle< IChronoStatSvc > m_chrono
ChronoStatSvc.
Definition: CaloCellMaker.h:49
CaloCellMaker::m_caloCellsOutputKey
SG::WriteHandleKey< CaloCellContainer > m_caloCellsOutputKey
Output cell continer to be used.
Definition: CaloCellMaker.h:57
AthReentrantAlgorithm.h
CaloCellMaker::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: CaloCellMaker.cxx:63
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
CaloCellContainer.h
CaloCellMaker::m_doChronoStat
Gaudi::Property< bool > m_doChronoStat
Definition: CaloCellMaker.h:50
CaloCellMaker::~CaloCellMaker
virtual ~CaloCellMaker()=default
CaloCellMaker::finalize
virtual StatusCode finalize() override
Definition: CaloCellMaker.cxx:94
ServiceHandle< IChronoStatSvc >
CaloCellMaker::m_caloCellMakerTools
ToolHandleArray< ICaloCellMakerTool > m_caloCellMakerTools
Array of CellMaker (and corrector) AlgTools.
Definition: CaloCellMaker.h:60