ATLAS Offline Software
Loading...
Searching...
No Matches
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
11NAME: CaloCellCorrection.h use to be LArCellCorrection.h
12PACKAGE: offline/Calorimeter/CaloUtils
13
14AUTHORS: H. Ma, S. Rajagopalan
15CREATED: Dec. 15, 1999
16
17PURPOSE: Performs cell corrections for CaloCell objects
18 This is the base class for individual cell correction classes.
19
20
21Updated: May 10, 2000 (SR, HM)
22 Migrated to Athena Framework from PASO
23
24Updated: Jan. 2, 2001 (SR)
25 Adhere to QC standards (based on comments from S. Albrand)
26
27Updated: Jan 2003
28 Made to an AlgTool,
29 Moved to LArCalorimeter/LArRecUtils
30
31Update : June 2004 David Rousseau
32 Change name
33 Work off CaloCell, not LArCell anymore, without friend mechanism
34
35********************************************************************/
36
37class CaloCell;
39class EventContext;
40
42
43static const InterfaceID IID_CaloCellCorrection("CaloCellCorrection", 1 , 0);
44
46{
47
48public:
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
static const InterfaceID IID_CaloCellCorrection("CaloCellCorrection", 1, 0)
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Container class for CaloCell.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
static void addenergy(CaloCell *lar_cell, float energy)
virtual StatusCode execute(CaloCellContainer *cellCollection, const EventContext &ctx) const
static const InterfaceID & interfaceID()
static void setenergy(CaloCell *lar_cell, float energy)
virtual ~CaloCellCorrection()
static void scaleenergy(CaloCell *lar_cell, float scale)
virtual void MakeCorrection(CaloCell *cellCollection, const EventContext &ctx) const =0
Data object for each calorimeter readout cell.
Definition CaloCell.h:57