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
|
#ifndef AnalysisDataFormats_SiStripDigi_SiStripProcessedRawDigi_H
#define AnalysisDataFormats_SiStripDigi_SiStripProcessedRawDigi_H
#include "DataFormats/Common/interface/traits.h"
/**
@brief A signed Digi for the silicon strip detector, containing
only adc information, and suitable for storing processed
(pedestal, cmn subtracted) hit information. NOTA BENE: these digis
use the DetSetVector, but the public inheritence from
edm::DoNotSortUponInsertion ensures that the digis are NOT sorted
by the DetSetVector::post_insert() method. The strip position is
therefore inferred from the position of the digi within its
container (the DetSet private vector).
*/
class SiStripProcessedRawDigi : public edm::DoNotSortUponInsertion {
public:
SiStripProcessedRawDigi(const float& adc) : adc_(adc) { ; }
SiStripProcessedRawDigi() : adc_(0) { ; }
~SiStripProcessedRawDigi() { ; }
inline const float& adc() const;
/** Not used! (even if implementation is required). */
inline bool operator<(const SiStripProcessedRawDigi& other) const;
private:
float adc_;
};
#include <iostream>
inline std::ostream& operator<<(std::ostream& o, const SiStripProcessedRawDigi& digi) { return o << " " << digi.adc(); }
// inline methods
const float& SiStripProcessedRawDigi::adc() const { return adc_; }
bool SiStripProcessedRawDigi::operator<(const SiStripProcessedRawDigi& other) const {
return (this->adc() < other.adc());
}
#endif // AnalysisDataFormats_SiStripDigi_SiStripProcessedRawDigi_H
|