1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#ifndef DATAFORMATS_HCALRECHIT_ZDCRECHIT_H
#define DATAFORMATS_HCALRECHIT_ZDCRECHIT_H 1
#include "DataFormats/HcalDetId/interface/HcalZDCDetId.h"
#include "DataFormats/CaloRecHit/interface/CaloRecHit.h"
/** \class ZDCRecHit
*
*\author J. Mans - Minnesota
*/
class ZDCRecHit : public CaloRecHit {
public:
typedef HcalZDCDetId key_type;
ZDCRecHit();
ZDCRecHit(const HcalZDCDetId& id, float energy, float time, float lowGainEnergy);
/// get the id
HcalZDCDetId id() const { return HcalZDCDetId(detid()); }
// follow EcalRecHit method of adding variable flagBits_ to CaloRecHit
float lowGainEnergy() const { return lowGainEnergy_; };
constexpr inline void setEnergySOIp1(const float en) { energySOIp1_ = en; };
constexpr inline float energySOIp1() const { return energySOIp1_; }; // energy of Slice of Interest plus 1
constexpr inline void setRatioSOIp1(const float ratio) { ratioSOIp1_ = ratio; };
constexpr inline float ratioSOIp1() const {
return ratioSOIp1_;
}; // ratio of Energy of (Slice of Interest)/ (Slice of Interest plus 1)
constexpr inline void setTDCtime(const float time) { TDCtime_ = time; };
constexpr inline float TDCtime() const { return TDCtime_; };
constexpr inline void setChargeWeightedTime(const float time) {
chargeWeightedTime_ = time;
}; // time of activity determined by charged weighted average
constexpr inline float chargeWeightedTime() const { return chargeWeightedTime_; };
private:
float lowGainEnergy_;
float energySOIp1_;
float ratioSOIp1_;
float TDCtime_;
float chargeWeightedTime_;
};
std::ostream& operator<<(std::ostream& s, const ZDCRecHit& hit);
#endif
|