CMS 3D CMS Logo

AbsHFPhase1Algo.h
Go to the documentation of this file.
1 #ifndef RecoLocalCalo_HcalRecAlgos_AbsHFPhase1Algo_h_
2 #define RecoLocalCalo_HcalRecAlgos_AbsHFPhase1Algo_h_
3 
7 
8 class AbsHcalAlgoData;
9 
10 //
11 // It is assumed that the HF Phase 1 algorithms will be developed
12 // utilizing pairs of classes: a DB class with relevant calibration
13 // constants and configuration parameters, derived from AbsHcalAlgoData,
14 // and the algo class, derived from AbsHFPhase1Algo, utilizing that DB class.
15 //
16 // We can expect that the same calibration constants might be utilized
17 // by different reco algorithms.
18 //
19 // In principle, of course, the configuration objects do not have to be
20 // actually stored in the database. It is expected that, at the early
21 // stages of our understanding of energy reconstruction with dual-anode
22 // PMTs, these objects will be created from the module configuration
23 // parameters.
24 //
26 public:
27  inline virtual ~AbsHFPhase1Algo() {}
28 
29  // Does this class expect to receive its configuration from the database?
30  virtual bool isConfigurable() const = 0;
31 
32  // If using DB, expect that the configuration will be updated
33  // once per run. We will not manage the pointer here. "true"
34  // should be returned on success (typically, automatic cast
35  // from the pointer checked by the appropriate dynamic cast).
36  inline virtual bool configure(const AbsHcalAlgoData*) { return false; }
37 
38  // Convention: if we do not want to use the given HFPreRecHit
39  // at all (i.e., it is to be discarded), the returned HFRecHit
40  // should have its id (of type HcalDetId) set to 0.
41  virtual HFRecHit reconstruct(const HFPreRecHit& prehit,
42  const HcalCalibrations& calibs,
43  const bool flaggedBadInDB[2],
44  bool expectSingleAnodePMT) = 0;
45 };
46 
47 #endif // RecoLocalCalo_HcalRecAlgos_AbsHFPhase1Algo_h_
HcalCalibrations.h
AbsHFPhase1Algo::configure
virtual bool configure(const AbsHcalAlgoData *)
Definition: AbsHFPhase1Algo.h:36
AbsHcalAlgoData
Definition: AbsHcalAlgoData.h:10
AbsHFPhase1Algo::~AbsHFPhase1Algo
virtual ~AbsHFPhase1Algo()
Definition: AbsHFPhase1Algo.h:27
AbsHFPhase1Algo::isConfigurable
virtual bool isConfigurable() const =0
HFRecHit
Definition: HFRecHit.h:11
HFRecHit.h
HcalCalibrations
Definition: HcalCalibrations.h:9
AbsHFPhase1Algo::reconstruct
virtual HFRecHit reconstruct(const HFPreRecHit &prehit, const HcalCalibrations &calibs, const bool flaggedBadInDB[2], bool expectSingleAnodePMT)=0
AbsHFPhase1Algo
Definition: AbsHFPhase1Algo.h:25
HFPreRecHit
Definition: HFPreRecHit.h:14
HFPreRecHit.h