ATLAS Offline Software
CaloCellCorrection.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef CALOUTILS_CALOCELLCORRECTION_H
6 #define CALOUTILS_CALOCELLCORRECTION_H
7 
8 
9 /********************************************************************
10 
11 NAME: CaloCellCorrection.h use to be LArCellCorrection.h
12 PACKAGE: offline/Calorimeter/CaloUtils
13 
14 AUTHORS: H. Ma, S. Rajagopalan
15 CREATED: Dec. 15, 1999
16 
17 PURPOSE: Performs cell corrections for CaloCell objects
18  This is the base class for individual cell correction classes.
19 
20 
21 Updated: May 10, 2000 (SR, HM)
22  Migrated to Athena Framework from PASO
23 
24 Updated: Jan. 2, 2001 (SR)
25  Adhere to QC standards (based on comments from S. Albrand)
26 
27 Updated: Jan 2003
28  Made to an AlgTool,
29  Moved to LArCalorimeter/LArRecUtils
30 
31 Update : June 2004 David Rousseau
32  Change name
33  Work off CaloCell, not LArCell anymore, without friend mechanism
34 
35 ********************************************************************/
36 
37 class CaloCell;
38 class CaloCellContainer;
39 class EventContext;
40 
42 
43 static const InterfaceID IID_CaloCellCorrection("CaloCellCorrection", 1 , 0);
44 
46 {
47 
48 public:
49 
51  static const InterfaceID& interfaceID() { return IID_CaloCellCorrection;}
52 
53 
55 
56  // Main access method: Correct cells in cellCollection:
57  virtual StatusCode execute (CaloCellContainer* cellCollection,
58  const EventContext& ctx) const;
59 
60 
61  // All derived class must implement the following method:
62  virtual void MakeCorrection (CaloCell* cellCollection,
63  const EventContext& ctx) const = 0;
64 
65  protected:
66 
67  // All derived classes can call the following to correct CaloCell object:
68  static void setenergy(CaloCell* lar_cell, float energy) ;
69 
70  static void addenergy(CaloCell* lar_cell, float energy) ;
71 
72  static void scaleenergy(CaloCell* lar_cell, float scale) ;
73 
74 };
75 
76 #endif
CaloCellCorrection::execute
virtual StatusCode execute(CaloCellContainer *cellCollection, const EventContext &ctx) const
Definition: CaloCellCorrection.cxx:50
CaloCellCorrection
Definition: CaloCellCorrection.h:46
yodamerge_tmp.scale
scale
Definition: yodamerge_tmp.py:138
CaloCellCorrection::MakeCorrection
virtual void MakeCorrection(CaloCell *cellCollection, const EventContext &ctx) const =0
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
CaloCellCorrection::addenergy
static void addenergy(CaloCell *lar_cell, float energy)
Definition: CaloCellCorrection.cxx:86
CaloCellCorrection::~CaloCellCorrection
virtual ~CaloCellCorrection()
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
CaloCellCorrection::setenergy
static void setenergy(CaloCell *lar_cell, float energy)
Definition: CaloCellCorrection.cxx:81
CaloCellCorrection::scaleenergy
static void scaleenergy(CaloCell *lar_cell, float scale)
Definition: CaloCellCorrection.cxx:91
AthAlgTool
Definition: AthAlgTool.h:26
CaloCellCorrection::interfaceID
static const InterfaceID & interfaceID()
Definition: CaloCellCorrection.h:51