LDMX Software
ldmx::HgcrocPulseTruth Class Reference

Public Member Functions

 HgcrocPulseTruth (unsigned int id, ldmx::CompositePulse p)
 
 HgcrocPulseTruth ()=default
 default constructor needed for std::vector::resize
 
void clear ()
 
double getMax () const
 
unsigned int getID () const
 

Private Member Functions

 ClassDef (HgcrocPulseTruth, 1)
 

Private Attributes

unsigned int id_
 
ldmx::CompositePulse composite_pulse_
 

Detailed Description

Definition at line 16 of file HgcrocPulseTruth.h.

Constructor & Destructor Documentation

◆ HgcrocPulseTruth()

ldmx::HgcrocPulseTruth::HgcrocPulseTruth ( unsigned int id,
ldmx::CompositePulse p )
inline

Definition at line 18 of file HgcrocPulseTruth.h.

19 : id_(id), composite_pulse_(p){};

Member Function Documentation

◆ clear()

void ldmx::HgcrocPulseTruth::clear ( )

Definition at line 6 of file HgcrocPulseTruth.cxx.

6{}

◆ getID()

unsigned int ldmx::HgcrocPulseTruth::getID ( ) const
inline

Definition at line 30 of file HgcrocPulseTruth.h.

30{ return id_; }

◆ getMax()

double ldmx::HgcrocPulseTruth::getMax ( ) const

Definition at line 9 of file HgcrocPulseTruth.cxx.

9 {
10 auto hits = composite_pulse_.hits();
11
12 std::ranges::sort(
13 hits.begin(), hits.end(),
14 [](const std::pair<double, double> &a,
15 const std::pair<double, double> &b) { return a.second < b.second; });
16 double starttime = hits.at(0).second - 100;
17 double endtime = hits.at(hits.size() - 1).second + 200;
18
19 double peak = -9999.0;
20 for (int i = 0; i < 100; i++) {
21 double time = starttime + (endtime - starttime) / 100.0 * i;
22 double v = composite_pulse_.at(time);
23 if (v > peak) peak = v;
24 }
25
26 return peak;
27}
const std::vector< std::pair< double, double > > & hits() const
Get list of individual pulses that are entering the chip.
double at(double time) const
Measure the voltage at the input time.

Member Data Documentation

◆ composite_pulse_

ldmx::CompositePulse ldmx::HgcrocPulseTruth::composite_pulse_
private

Definition at line 34 of file HgcrocPulseTruth.h.

◆ id_

unsigned int ldmx::HgcrocPulseTruth::id_
private

Definition at line 33 of file HgcrocPulseTruth.h.


The documentation for this class was generated from the following files: