CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ThreeThresholdAlgorithm.h
Go to the documentation of this file.
1 #ifndef RecoLocalTracker_SiStripClusterizer_ThreeThresholdAlgorithm_h
2 #define RecoLocalTracker_SiStripClusterizer_ThreeThresholdAlgorithm_h
5 
7 
9 
10  public:
11 
14 
15  bool stripByStripBegin(uint32_t id);
16  void stripByStripAdd(uint16_t strip, uint16_t adc, std::vector<SiStripCluster>& out);
17  void stripByStripEnd(std::vector<SiStripCluster>& out);
18 
19  private:
20 
21  template<class T> void clusterizeDetUnit_(const T&, output_t::FastFiller&);
22  ThreeThresholdAlgorithm(float, float, float, unsigned, unsigned, unsigned, std::string qualityLabel,
23  bool setDetId, bool removeApvShots=false);
24 
25  //state of the candidate cluster
26  std::vector<uint16_t> ADCs;
27  uint16_t lastStrip;
28  float noiseSquared;
30 
31  //constant methods with state information
32  uint16_t firstStrip() const {return lastStrip - ADCs.size() + 1;}
33  bool candidateEnded(const uint16_t&) const;
34  bool candidateAccepted() const;
35 
36  //state modification methods
37  template<class T> void endCandidate(T&);
38  void clearCandidate() { candidateLacksSeed = true; noiseSquared = 0; ADCs.clear();}
39  void addToCandidate(const SiStripDigi&);
40  void appendBadNeighbors();
41  void applyGains();
42 
46 
48 };
49 
50 #endif
int adc(sample_type sample)
get the ADC sample (12 bits)
void addToCandidate(const SiStripDigi &)
void stripByStripAdd(uint16_t strip, uint16_t adc, std::vector< SiStripCluster > &out)
bool candidateEnded(const uint16_t &) const
SiStripApvShotCleaner ApvCleaner
std::vector< uint16_t > ADCs
A Digi for the silicon strip detector, containing both strip and adc information, and suitable for st...
Definition: SiStripDigi.h:12
ThreeThresholdAlgorithm(float, float, float, unsigned, unsigned, unsigned, std::string qualityLabel, bool setDetId, bool removeApvShots=false)
tuple out
Definition: dbtoconf.py:99
virtual void setDetId(const uint32_t)
void stripByStripEnd(std::vector< SiStripCluster > &out)
void clusterizeDetUnit(const edm::DetSet< SiStripDigi > &, output_t::FastFiller &)
void clusterizeDetUnit_(const T &, output_t::FastFiller &)
long double T