CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes | Friends
FedTimingAnalysis Class Reference

Analysis for timing run using APV tick marks. More...

#include <FedTimingAnalysis.h>

Inheritance diagram for FedTimingAnalysis:
CommissioningAnalysis

Public Member Functions

const float & base () const
 
const float & delay () const
 
const float & error () const
 
 FedTimingAnalysis (const uint32_t &key)
 
 FedTimingAnalysis ()
 
const float & height () const
 
const float & max () const
 
void max (const float &)
 
const float & peak () const
 
void print (std::stringstream &, uint32_t not_used=0) override
 
void reset () override
 
const float & time () const
 
 ~FedTimingAnalysis () override
 
- Public Member Functions inherited from CommissioningAnalysis
virtual void addErrorCode (const std::string &error)
 
 CommissioningAnalysis (const uint32_t &key, const std::string &my_name)
 
 CommissioningAnalysis (const std::string &my_name)
 
const uint32_t & dcuId () const
 
void dcuId (const uint32_t &)
 
const uint32_t & detId () const
 
void detId (const uint32_t &)
 
const uint32_t & fecKey () const
 
void fecKey (const uint32_t &)
 
const uint32_t & fedKey () const
 
void fedKey (const uint32_t &)
 
const VStringgetErrorCodes () const
 
virtual void header (std::stringstream &) const
 
virtual bool isValid () const
 
const std::string & myName () const
 
void setErrorCodes (const VString &errors)
 
virtual void summary (std::stringstream &) const
 
virtual ~CommissioningAnalysis ()
 

Private Attributes

float base_
 
float delay_
 
float error_
 
float height_
 
float max_
 
float optimumSamplingPoint_
 
float peak_
 
float time_
 

Friends

class FedTimingAlgorithm
 

Additional Inherited Members

- Public Types inherited from CommissioningAnalysis
typedef std::vector< bool > VBool
 
typedef std::vector< float > VFloat
 
typedef std::vector< uint16_t > VInt
 
typedef std::vector< std::string > VString
 
typedef std::vector< VBoolVVBool
 
typedef std::vector< VFloatVVFloat
 
typedef std::vector< VIntVVInt
 

Detailed Description

Analysis for timing run using APV tick marks.

Author
M. Wingham, R.Bainbridge

Definition at line 16 of file FedTimingAnalysis.h.

Constructor & Destructor Documentation

◆ FedTimingAnalysis() [1/2]

FedTimingAnalysis::FedTimingAnalysis ( const uint32_t &  key)

◆ FedTimingAnalysis() [2/2]

FedTimingAnalysis::FedTimingAnalysis ( )

◆ ~FedTimingAnalysis()

FedTimingAnalysis::~FedTimingAnalysis ( )
inlineoverride

Definition at line 22 of file FedTimingAnalysis.h.

22 { ; }

Member Function Documentation

◆ base()

const float & FedTimingAnalysis::base ( ) const
inline

Definition at line 76 of file FedTimingAnalysis.h.

References base_.

76 { return base_; }

◆ delay()

const float & FedTimingAnalysis::delay ( ) const
inline

Definition at line 74 of file FedTimingAnalysis.h.

References delay_.

74 { return delay_; }

◆ error()

const float & FedTimingAnalysis::error ( ) const
inline

Definition at line 75 of file FedTimingAnalysis.h.

References error_.

Referenced by Page1Parser.Page1Parser::check_for_whole_start_tag().

75 { return error_; }

◆ height()

const float & FedTimingAnalysis::height ( ) const
inline

Definition at line 78 of file FedTimingAnalysis.h.

References height_.

78 { return height_; }

◆ max() [1/2]

const float & FedTimingAnalysis::max ( ) const
inline

Definition at line 73 of file FedTimingAnalysis.h.

References max_.

Referenced by max().

73 { return max_; }

◆ max() [2/2]

void FedTimingAnalysis::max ( const float &  max)

Definition at line 68 of file FedTimingAnalysis.cc.

References delay_, max(), max_, sistrip::maximum_, optimumSamplingPoint_, and time_.

68  {
69  max_ = max;
70  if (time_ > sistrip::maximum_) {
71  return;
72  }
73  int32_t adjustment = 25 - static_cast<int32_t>(rint(max_ + optimumSamplingPoint_)) % 25;
74  max_ += adjustment;
75  delay_ = max_ - time_;
76 }
static const uint16_t maximum_
Definition: Constants.h:20
const float & max() const

◆ peak()

const float & FedTimingAnalysis::peak ( ) const
inline

Definition at line 77 of file FedTimingAnalysis.h.

References peak_.

77 { return peak_; }

◆ print()

void FedTimingAnalysis::print ( std::stringstream &  ,
uint32_t  not_used = 0 
)
overridevirtual

Prints analysis results.

Implements CommissioningAnalysis.

Definition at line 55 of file FedTimingAnalysis.cc.

References base_, delay_, error_, CommissioningAnalysis::header(), height_, max_, peak_, contentValuesCheck::ss, and time_.

55  {
56  header(ss);
57  ss << " Time of tick rising edge [ns] : " << time_ << "\n"
58  << " Maximum time (sampling point) [ns] : " << max_ << "\n"
59  << " Delay required wrt max time [ns] : " << delay_ << "\n"
60  << " Error on delay [ns] : " << error_ << "\n"
61  << " Baseline [adc] : " << base_ << "\n"
62  << " Tick peak [adc] : " << peak_ << "\n"
63  << " Tick height [adc] : " << height_ << "\n";
64 }
virtual void header(std::stringstream &) const

◆ reset()

void FedTimingAnalysis::reset ( )
overridevirtual

◆ time()

const float & FedTimingAnalysis::time ( ) const
inline

Definition at line 72 of file FedTimingAnalysis.h.

References time_.

72 { return time_; }

Friends And Related Function Documentation

◆ FedTimingAlgorithm

friend class FedTimingAlgorithm
friend

Definition at line 24 of file FedTimingAnalysis.h.

Member Data Documentation

◆ base_

float FedTimingAnalysis::base_
private

Level of tick mark "base" [adc]

Definition at line 60 of file FedTimingAnalysis.h.

Referenced by base(), print(), and reset().

◆ delay_

float FedTimingAnalysis::delay_
private

Delay required, relative to maximum time [ns]

Definition at line 54 of file FedTimingAnalysis.h.

Referenced by delay(), max(), print(), and reset().

◆ error_

float FedTimingAnalysis::error_
private

Error on time delay [ns]

Definition at line 57 of file FedTimingAnalysis.h.

Referenced by error(), print(), and reset().

◆ height_

float FedTimingAnalysis::height_
private

Tick mark height [adc]

Definition at line 66 of file FedTimingAnalysis.h.

Referenced by height(), print(), and reset().

◆ max_

float FedTimingAnalysis::max_
private

Maximum time set [ns]

Definition at line 51 of file FedTimingAnalysis.h.

Referenced by max(), print(), and reset().

◆ optimumSamplingPoint_

float FedTimingAnalysis::optimumSamplingPoint_
private

Definition at line 69 of file FedTimingAnalysis.h.

Referenced by max().

◆ peak_

float FedTimingAnalysis::peak_
private

Level of tick mark "peak" [adc]

Definition at line 63 of file FedTimingAnalysis.h.

Referenced by peak(), print(), and reset().

◆ time_

float FedTimingAnalysis::time_
private

Time of tick mark rising edge [ns]

Definition at line 48 of file FedTimingAnalysis.h.

Referenced by max(), print(), reset(), and time().