ATLAS Offline Software
CaloCellCorrection.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 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 
41 // Includes for Gaudi
42 
43 //#include "GaudiKernel/Algorithm.h"
44 //#include "GaudiKernel/AlgTool.h"
45 
47 
48 static const InterfaceID IID_CaloCellCorrection("CaloCellCorrection", 1 , 0);
49 
51 {
52 
53 public:
54  static const InterfaceID& interfaceID() { return IID_CaloCellCorrection;}
55 
56  CaloCellCorrection(const std::string& type, const std::string& name,
57  const IInterface* parent);
59 
60  // Main access method: Correct cells in cellCollection:
61  virtual StatusCode execute (CaloCellContainer* cellCollection,
62  const EventContext& ctx) const;
63 
64 
65  // All derived class must implement the following method:
66  virtual void MakeCorrection (CaloCell* cellCollection,
67  const EventContext& ctx) const = 0;
68 
69  protected:
70 
71  // All derived classes can call the following to correct CaloCell object:
72  static void setenergy(CaloCell* lar_cell, float energy) ;
73 
74  static void addenergy(CaloCell* lar_cell, float energy) ;
75 
76  static void scaleenergy(CaloCell* lar_cell, float scale) ;
77 
78 };
79 
80 #endif
CaloCellCorrection::execute
virtual StatusCode execute(CaloCellContainer *cellCollection, const EventContext &ctx) const
Definition: CaloCellCorrection.cxx:58
CaloCellCorrection
Definition: CaloCellCorrection.h:51
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
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CaloCellCorrection::CaloCellCorrection
CaloCellCorrection(const std::string &type, const std::string &name, const IInterface *parent)
Definition: CaloCellCorrection.cxx:43
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
CaloCellCorrection::addenergy
static void addenergy(CaloCell *lar_cell, float energy)
Definition: CaloCellCorrection.cxx:94
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:89
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
CaloCellCorrection::scaleenergy
static void scaleenergy(CaloCell *lar_cell, float scale)
Definition: CaloCellCorrection.cxx:99
AthAlgTool
Definition: AthAlgTool.h:26
CaloCellCorrection::interfaceID
static const InterfaceID & interfaceID()
Definition: CaloCellCorrection.h:54