All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
sim::SimChannel Class Reference

Energy deposited on a readout channel by simulated tracks. More...

#include <SimChannel.h>

Classes

struct  CompareByTDC
 

Public Types

typedef TDCIDE::first_type StoredTDC_t
 Type for TDC tick used in the internal representation. More...
 
typedef std::vector< TDCIDETDCIDEs_t
 Type of list of energy deposits for each TDC with signal. More...
 
typedef unsigned int TDC_t
 
typedef IDE::TrackID_t TrackID_t
 Type of track ID (the value comes from Geant4) More...
 

Public Member Functions

 SimChannel ()
 
 SimChannel (raw::ChannelID_t channel)
 Constructor: immediately sets the channel number. More...
 
void AddIonizationElectrons (TrackID_t trackID, TDC_t tdc, double numberElectrons, double const *xyz, double energy, TrackID_t origTrackID=util::kBogusI)
 Add ionization electrons and energy to this channel. More...
 
raw::ChannelID_t Channel () const
 Returns the readout channel this object describes. More...
 
std::vector< sim::IDETrackIDsAndEnergies (TDC_t startTDC, TDC_t endTDC) const
 Return all the recorded energy deposition within a time interval. More...
 
TDCIDEs_t const & TDCIDEMap () const
 Returns all the deposited energy information as stored. More...
 
double Charge (TDC_t tdc) const
 Returns the total number of ionization electrons on this channel in the specified TDC. More...
 
double Energy (TDC_t tdc) const
 Returns the total energy on this channel in the specified TDC [MeV]. More...
 
std::vector< sim::TrackIDETrackIDEs (TDC_t startTDC, TDC_t endTDC) const
 Returns energies collected for each track within a time interval. More...
 
bool operator< (const SimChannel &other) const
 Comparison: sorts by channel ID. More...
 
bool operator== (const SimChannel &other) const
 Comparison: true if SimChannels have the same channel ID. More...
 
std::pair< TrackID_t, TrackID_tMergeSimChannel (const SimChannel &channel, int offset)
 Merges the deposits from another channel into this one. More...
 
template<typename Stream >
void Dump (Stream &&out, std::string indent, std::string first_indent) const
 Dumps the full content of the SimChannel into a stream. More...
 
template<typename Stream >
void Dump (Stream &&out, std::string indent="") const
 Documentation at Dump(Stream&&, std::string, std::string) const. More...
 

Private Member Functions

TDCIDEs_t::iterator findClosestTDCIDE (StoredTDC_t tdc)
 Return the iterator to the first TDCIDE not earlier than tdc. More...
 
TDCIDEs_t::const_iterator findClosestTDCIDE (StoredTDC_t tdc) const
 Return the (constant) iterator to the first TDCIDE not earlier than tdc. More...
 

Private Attributes

raw::ChannelID_t fChannel
 readout channel where electrons are collected More...
 
TDCIDEs_t fTDCIDEs
 list of energy deposits for each TDC with signal More...
 

Detailed Description

Energy deposited on a readout channel by simulated tracks.

This class stores the list of all energies deposited on a readout channel. The number of electrons is stored as well.

The information is organized by time: it is divided by TDC ticks, and each TDC tick where some energy was deposited appears in a separate entry, while the quiet TDC ticks are omitted. For each TDC, the information is stored as a list of energy deposits; each deposit comes from a single Geant4 track and stores the location where the ionization happened according to the simulation (see sim::IDE class).

Note that there can be multiple energy deposit records (that is sim::IDE) for a single track in a single TDC tick.

Definition at line 145 of file SimChannel.h.

Member Typedef Documentation

typedef TDCIDE::first_type sim::SimChannel::StoredTDC_t

Type for TDC tick used in the internal representation.

Definition at line 149 of file SimChannel.h.

typedef unsigned int sim::SimChannel::TDC_t

Type for TDC tick used in the interface (different type than raw::TDCtick_t! and from internal representation! but same meaning!)

Definition at line 167 of file SimChannel.h.

typedef std::vector<TDCIDE> sim::SimChannel::TDCIDEs_t

Type of list of energy deposits for each TDC with signal.

Definition at line 152 of file SimChannel.h.

Type of track ID (the value comes from Geant4)

Definition at line 170 of file SimChannel.h.

Constructor & Destructor Documentation

sim::SimChannel::SimChannel ( )

Definition at line 45 of file SimChannel.cxx.

47  {}
raw::ChannelID_t fChannel
readout channel where electrons are collected
Definition: SimChannel.h:155
constexpr ChannelID_t InvalidChannelID
ID of an invalid channel.
Definition: RawTypes.h:32
sim::SimChannel::SimChannel ( raw::ChannelID_t  channel)
explicit

Constructor: immediately sets the channel number.

Definition at line 50 of file SimChannel.cxx.

51  : fChannel(channel)
52  {}
raw::ChannelID_t fChannel
readout channel where electrons are collected
Definition: SimChannel.h:155

Member Function Documentation

void sim::SimChannel::AddIonizationElectrons ( TrackID_t  trackID,
TDC_t  tdc,
double  numberElectrons,
double const *  xyz,
double  energy,
TrackID_t  origTrackID = util::kBogusI 
)

Add ionization electrons and energy to this channel.

Parameters
trackIDID of simulated track depositing this energy (from Geant4)
tdcTDC tick when this deposit was collected
numberElectronselectrons created at this point by this track
xyzcoordinates of original location of ionization (3D array) [cm]
energyenergy deposited at this point by this track [MeV]

The number of electrons can be fractional because of simulated efficiency and physics effects.

Definition at line 55 of file SimChannel.cxx.

61  {
62  // look at the collection to see if the current TDC already
63  // exists, if not, add it, if so, just add a new track id to the
64  // vector, or update the information if track is already present
65 
66  // no electrons? no energy? no good!
67  if ((numberElectrons < std::numeric_limits<double>::epsilon())
68  || (energy <= std::numeric_limits<double>::epsilon()))
69  {
70  // will throw
71  MF_LOG_ERROR("SimChannel")
72  << "AddIonizationElectrons() trying to add to TDC #"
73  << tdc
74  << " "
75  << numberElectrons
76  << " electrons with "
77  << energy
78  << " MeV of energy from track ID="
79  << trackID;
80  return;
81  } // if no energy or no electrons
82 
83  auto itr = findClosestTDCIDE(tdc);
84 
85  // check if this tdc value is in the vector, it is possible that
86  // the lower bound is different from the given tdc, in which case
87  // we need to add something for that tdc
88  if(itr == fTDCIDEs.end() ||
89  itr->first != tdc){
90  std::vector<sim::IDE> idelist;
91  idelist.emplace_back(trackID,
92  numberElectrons,
93  energy,
94  xyz[0],
95  xyz[1],
96  xyz[2],
97  origTrackID
98  );
99  fTDCIDEs.emplace(itr, tdc, std::move(idelist) );
100  }
101  else { // we have that TDC already; itr points to it
102 
103  // loop over the IDE vector for this tdc and add the electrons
104  // to the entry with the same G4 track id
105  for(auto& ide : itr->second){
106 
107  if (ide.origTrackID != origTrackID) continue;
108 
109  // make a weighted average for the location information
110  double weight = ide.numElectrons + numberElectrons;
111  ide.x = (ide.x * ide.numElectrons + xyz[0]*numberElectrons)/weight;
112  ide.y = (ide.y * ide.numElectrons + xyz[1]*numberElectrons)/weight;
113  ide.z = (ide.z * ide.numElectrons + xyz[2]*numberElectrons)/weight;
114  ide.numElectrons = weight;
115  ide.energy = ide.energy + energy;
116 
117  // found the track id we wanted, so return;
118  return;
119  } // for
120 
121  // if we never found the track id, then this is the first instance of
122  // the track id for this tdc, so add ide to the vector
123  itr->second.emplace_back(trackID,
124  numberElectrons,
125  energy,
126  xyz[0],
127  xyz[1],
128  xyz[2],
129  origTrackID
130  );
131 
132  } // if new TDC ... else
133 
134  } // SimChannel::AddIonizationElectrons()
TDCIDEs_t fTDCIDEs
list of energy deposits for each TDC with signal
Definition: SimChannel.h:156
TDCIDEs_t::iterator findClosestTDCIDE(StoredTDC_t tdc)
Return the iterator to the first TDCIDE not earlier than tdc.
Definition: SimChannel.cxx:346
raw::ChannelID_t sim::SimChannel::Channel ( ) const
inline

Returns the readout channel this object describes.

Definition at line 335 of file SimChannel.h.

335 { return fChannel; }
raw::ChannelID_t fChannel
readout channel where electrons are collected
Definition: SimChannel.h:155
double sim::SimChannel::Charge ( TDC_t  tdc) const

Returns the total number of ionization electrons on this channel in the specified TDC.

Definition at line 138 of file SimChannel.cxx.

139  {
140  double charge = 0.;
141 
142  auto itr = findClosestTDCIDE(tdc);
143 
144  // check to see if this tdc value is in the map
145  if(itr != fTDCIDEs.end() &&
146  itr->first == tdc){
147 
148  // loop over the list for this tdc value and add up
149  // the total number of electrons
150  for(auto ide : itr->second){
151  charge += ide.numElectrons;
152  } // end loop over sim::IDE for this tdc
153 
154  } // end if this tdc is represented in the map
155 
156  return charge;
157  }
TDCIDEs_t fTDCIDEs
list of energy deposits for each TDC with signal
Definition: SimChannel.h:156
TDCIDEs_t::iterator findClosestTDCIDE(StoredTDC_t tdc)
Return the iterator to the first TDCIDE not earlier than tdc.
Definition: SimChannel.cxx:346
template<class Stream >
void sim::SimChannel::Dump ( Stream &&  out,
std::string  indent,
std::string  first_indent 
) const

Dumps the full content of the SimChannel into a stream.

Template Parameters
Streaman ostream-like stream object
Parameters
outthe stream to send the information into
indentindentation of the lines (default: none)
first_indentindentation for the first line (default: as indent)

Definition at line 343 of file SimChannel.h.

344 {
345  out << first_indent << "channel #" << Channel() << " read " << fTDCIDEs.size()
346  << " TDCs:\n";
347  double channel_energy = 0., channel_charge = 0.;
348  for (const auto& TDCinfo: fTDCIDEs) {
349  auto const tdc = TDCinfo.first;
350  out << indent << " TDC #" << tdc
351  << " with " << TDCinfo.second.size() << " IDEs\n";
352  double tdc_energy = 0., tdc_charge = 0.;
353  for (const sim::IDE& ide: TDCinfo.second) {
354  out << indent
355  << " (" << ide.x << ", " << ide.y << ", " << ide.z << ") "
356  << ide.numElectrons << " electrons, " << ide.energy << " MeV (trkID="
357  << ide.trackID << ")\n";
358  tdc_energy += ide.energy;
359  tdc_charge += ide.numElectrons;
360  } // for IDEs
361  out << indent << " => TDC #" << tdc << " CH #" << Channel()
362  << " collected " << tdc_charge << " electrons and " << tdc_energy
363  << " MeV\n";
364  channel_energy += tdc_energy;
365  channel_charge += tdc_charge;
366  } // for TDCs
367  out << indent << " => channel #" << Channel() << " collected "
368  << channel_charge << " electrons and " << channel_energy << " MeV\n";
369 } // sim::SimChannel::Dump<>()
TrackID_t trackID
Geant4 supplied track ID.
Definition: SimChannel.h:116
float z
z position of ionization [cm]
Definition: SimChannel.h:121
float x
x position of ionization [cm]
Definition: SimChannel.h:119
TDCIDEs_t fTDCIDEs
list of energy deposits for each TDC with signal
Definition: SimChannel.h:156
Ionization at a point of the TPC sensitive volume.
Definition: SimChannel.h:86
float energy
energy deposited by ionization by this track ID and time [MeV]
Definition: SimChannel.h:118
float y
y position of ionization [cm]
Definition: SimChannel.h:120
raw::ChannelID_t Channel() const
Returns the readout channel this object describes.
Definition: SimChannel.h:335
float numElectrons
number of electrons at the readout for this track ID and time
Definition: SimChannel.h:117
template<typename Stream >
void sim::SimChannel::Dump ( Stream &&  out,
std::string  indent = "" 
) const
inline

Documentation at Dump(Stream&&, std::string, std::string) const.

Definition at line 310 of file SimChannel.h.

311  { Dump(std::forward<Stream>(out), indent, indent); }
void Dump(Stream &&out, std::string indent, std::string first_indent) const
Dumps the full content of the SimChannel into a stream.
Definition: SimChannel.h:343
double sim::SimChannel::Energy ( TDC_t  tdc) const

Returns the total energy on this channel in the specified TDC [MeV].

Definition at line 160 of file SimChannel.cxx.

161  {
162  double energy = 0.;
163 
164  auto itr = findClosestTDCIDE(tdc);
165 
166  // check to see if this tdc value is in the map
167  if(itr != fTDCIDEs.end() &&
168  itr->first == tdc){
169 
170  // loop over the list for this tdc value and add up
171  // the total number of electrons
172  for(auto ide : itr->second ){
173  energy += ide.energy;
174  } // end loop over sim::IDE for this tdc
175 
176  } // end if this tdc is represented in the map
177 
178  return energy;
179  }
TDCIDEs_t fTDCIDEs
list of energy deposits for each TDC with signal
Definition: SimChannel.h:156
TDCIDEs_t::iterator findClosestTDCIDE(StoredTDC_t tdc)
Return the iterator to the first TDCIDE not earlier than tdc.
Definition: SimChannel.cxx:346
SimChannel::TDCIDEs_t::iterator sim::SimChannel::findClosestTDCIDE ( StoredTDC_t  tdc)
private

Return the iterator to the first TDCIDE not earlier than tdc.

Definition at line 346 of file SimChannel.cxx.

347  {
348  return std::lower_bound
349  (fTDCIDEs.begin(), fTDCIDEs.end(), tdc, CompareByTDC());
350  }
TDCIDEs_t fTDCIDEs
list of energy deposits for each TDC with signal
Definition: SimChannel.h:156
SimChannel::TDCIDEs_t::const_iterator sim::SimChannel::findClosestTDCIDE ( StoredTDC_t  tdc) const
private

Return the (constant) iterator to the first TDCIDE not earlier than tdc.

Definition at line 353 of file SimChannel.cxx.

354  {
355  return std::lower_bound
356  (fTDCIDEs.begin(), fTDCIDEs.end(), tdc, CompareByTDC());
357  }
TDCIDEs_t fTDCIDEs
list of energy deposits for each TDC with signal
Definition: SimChannel.h:156
std::pair< SimChannel::TrackID_t, SimChannel::TrackID_t > sim::SimChannel::MergeSimChannel ( const SimChannel channel,
int  offset 
)

Merges the deposits from another channel into this one.

Parameters
channelthe sim::SimChannel holding information to be merged
offsettrack ID offset for the merge
Returns
range of the IDs of the added tracks

The information from the specified simulated channel is added to the current one. This is achieved by appending the energy deposit information (sim::IDE) at each TDC tick from the merged channel to the list of existing energy deposits for that TDC tick.

In addition, the track IDs of the merged channel are added an offset, so that they can be distinguished from the existing ones. This is useful when simulating tracks with multiple Geant4 runs. Geant4 will reuse track IDs on each run, and using the highest number of track ID from one run as the offset for the next avoids track ID collisions. Note however that this function does not perform any collision check, and it is caller's duty to ensure that the offset is properly large. The return value is a pair including the lowest and the largest track IDs added to this channel, equivalent to the lowest and the highest track IDs present in the merged channel, both augmented by the applied offset.

The channel number of the merged channel is ignored.

Definition at line 285 of file SimChannel.cxx.

287  {
288  if( this->Channel() != channel.Channel() )
289  throw std::runtime_error("ERROR SimChannel Merge: Trying to merge different channels!");
290 
291  std::pair<TrackID_t,TrackID_t> range_trackID(std::numeric_limits<int>::max(),
292  std::numeric_limits<int>::min());
293 
294  for(auto const& itr : channel.TDCIDEMap()){
295 
296  auto tdc = itr.first;
297  auto const& ides = itr.second;
298 
299  // find the entry from this SimChannel corresponding to the tdc from the other
300  auto itrthis = findClosestTDCIDE(tdc);
301 
302  // pick which IDE list we have to fill: new one or existing one
303  std::vector<sim::IDE>* curIDEVec;
304  if(itrthis == fTDCIDEs.end() ||
305  itrthis->first != tdc){
306  fTDCIDEs.emplace_back(tdc, std::vector<sim::IDE>());
307  curIDEVec = &(fTDCIDEs.back().second);
308  }
309  else
310  curIDEVec = &(itrthis->second);
311 
312  for(auto const& ide : ides){
313  curIDEVec->emplace_back(ide, offset);
314  auto tid = std::abs(ide.trackID)+offset;
315  if( tid < range_trackID.first )
316  range_trackID.first = tid;
317  if( tid > range_trackID.second )
318  range_trackID.second = tid;
319  }//end loop over IDEs
320 
321  }//end loop over TDCIDEMap
322 
323 
324  return range_trackID;
325 
326  }
BEGIN_PROLOG TPC Trig offset(g4 rise time) ProjectToHeight
Definition: CORSIKAGen.fcl:7
TDCIDEs_t fTDCIDEs
list of energy deposits for each TDC with signal
Definition: SimChannel.h:156
T abs(T value)
TDCIDEs_t::iterator findClosestTDCIDE(StoredTDC_t tdc)
Return the iterator to the first TDCIDE not earlier than tdc.
Definition: SimChannel.cxx:346
raw::ChannelID_t Channel() const
Returns the readout channel this object describes.
Definition: SimChannel.h:335
bool sim::SimChannel::operator< ( const SimChannel other) const
inline

Comparison: sorts by channel ID.

Definition at line 332 of file SimChannel.h.

332 { return fChannel < other.Channel(); }
raw::ChannelID_t fChannel
readout channel where electrons are collected
Definition: SimChannel.h:155
bool sim::SimChannel::operator== ( const SimChannel other) const
inline

Comparison: true if SimChannels have the same channel ID.

Definition at line 333 of file SimChannel.h.

333 { return fChannel == other.Channel(); }
raw::ChannelID_t fChannel
readout channel where electrons are collected
Definition: SimChannel.h:155
sim::SimChannel::TDCIDEs_t const & sim::SimChannel::TDCIDEMap ( ) const
inline

Returns all the deposited energy information as stored.

Returns
all the deposited energy information as stored in the object

The returned list is organized in pairs. Each pair contains all ionization information in a single TDC tick (collection of sim::IDE), and the number of that tick. The information is sorted by increasing TDC tick.

See the class description for the details of the ionization information content.

Definition at line 334 of file SimChannel.h.

334 { return fTDCIDEs; }
TDCIDEs_t fTDCIDEs
list of energy deposits for each TDC with signal
Definition: SimChannel.h:156
std::vector< sim::TrackIDE > sim::SimChannel::TrackIDEs ( TDC_t  startTDC,
TDC_t  endTDC 
) const

Returns energies collected for each track within a time interval.

Parameters
startTDCTDC tick opening the time window
endTDCTDC tick closing the time window (included in the interval)
Returns
a collection of energy and fraction from each track in interval
See Also
TrackIDsAndEnergies()

This method returns the energy deposited on this channel by each track ID active in the specified TDC time interval.

Each entry pertains a single track ID. For each entry, all energy deposit information is merged into a single record. It includes:

  • energy of the track, as the integral in the time interval [MeV]
  • energy fraction respect to the total (see below)
  • the ID of the track depositing this energy

The energy fraction is the energy deposited by the track on this channel in the specified time interval, divided by the total of the energy deposited by all tracks on this channel in that same time interval.

Entries are sorted by track ID number.

Definition at line 250 of file SimChannel.cxx.

252  {
253 
254  std::vector<sim::TrackIDE> trackIDEs;
255 
256  if(startTDC > endTDC ){
257  mf::LogWarning("SimChannel::TrackIDEs") << "requested tdc range is bogus: "
258  << startTDC << " " << endTDC
259  << " return empty vector";
260  return trackIDEs;
261  }
262 
263  double totalE = 0.;
264  std::vector<sim::IDE> const ides = TrackIDsAndEnergies(startTDC, endTDC);
265  for (auto const& ide : ides)
266  totalE += ide.energy;
267 
268  // protect against a divide by zero below
269  if(totalE < 1.e-5) totalE = 1.;
270 
271  // loop over the entries in the map and fill the input vectors
272  for (auto const& ide : ides){
273  if(ide.trackID == sim::NoParticleId) continue;
274  trackIDEs.emplace_back(ide.trackID, ide.energy/totalE, ide.energy, ide.numElectrons, ide.origTrackID);
275  }
276 
277  return trackIDEs;
278  }
static const int NoParticleId
Definition: sim.h:21
std::vector< sim::IDE > TrackIDsAndEnergies(TDC_t startTDC, TDC_t endTDC) const
Return all the recorded energy deposition within a time interval.
Definition: SimChannel.cxx:184
do i e
std::vector< sim::IDE > sim::SimChannel::TrackIDsAndEnergies ( TDC_t  startTDC,
TDC_t  endTDC 
) const

Return all the recorded energy deposition within a time interval.

Parameters
startTDCTDC tick opening the time window
endTDCTDC tick closing the time window (included in the interval)
Returns
a collection of energy deposit information from all tracks

This method returns the energy deposited on this channel by each track ID active in the specified TDC time interval.

Each entry pertains a single track ID. For each entry, all energy deposit information is merged into a single record. It includes:

  • energy and number of electrons, as the integral in the time interval
  • position, as average weighted by the number of electrons
  • the ID of the track depositing this energy

Entries are sorted by track ID number.

Definition at line 184 of file SimChannel.cxx.

186  {
187  // make a map of track ID values to sim::IDE objects
188 
189  if(startTDC > endTDC ){
190  mf::LogWarning("SimChannel") << "requested tdc range is bogus: "
191  << startTDC << " " << endTDC
192  << " return empty vector";
193  return {}; // returns an empty vector
194  }
195 
196  std::map<TrackID_t, sim::IDE> idToIDE;
197 
198  //find the lower bound for this tdc and then iterate from there
199  auto itr = findClosestTDCIDE(startTDC);
200 
201  while(itr != fTDCIDEs.end()){
202 
203  // check the tdc value for the iterator, break the loop if we
204  // are outside the range
205  if(itr->first > endTDC) break;
206 
207  // grab the vector of IDEs for this tdc
208  auto const& idelist = itr->second;
209  // now loop over them and add their content to the map
210  for(auto const& ide : idelist){
211  auto itTrkIDE = idToIDE.find(ide.trackID);
212  if( itTrkIDE != idToIDE.end() ){
213  // the IDE we are going to update:
214  sim::IDE& trackIDE = itTrkIDE->second;
215 
216  double const nel1 = trackIDE.numElectrons;
217  double const nel2 = ide.numElectrons;
218  double const en1 = trackIDE.energy;
219  double const en2 = ide.energy;
220  double const energy = en1 + en2;
221  double const weight = nel1 + nel2;
222 
223  // make a weighted average for the location information
224  trackIDE.x = (ide.x*nel2 + trackIDE.x*nel1)/weight;
225  trackIDE.y = (ide.y*nel2 + trackIDE.y*nel1)/weight;
226  trackIDE.z = (ide.z*nel2 + trackIDE.z*nel1)/weight;
227  trackIDE.numElectrons = weight;
228  trackIDE.energy = energy;
229  } // end if the track id for this one is found
230  else{
231  idToIDE[ide.trackID] = sim::IDE(ide);
232  }
233  } // end loop over vector
234 
235  ++itr;
236  } // end loop over tdc values
237 
238  // now fill the vector with the ides from the map
239  std::vector<sim::IDE> ides;
240  ides.reserve(idToIDE.size());
241  for(auto const& itr : idToIDE){
242  ides.push_back(itr.second);
243  }
244 
245  return ides;
246  }
float z
z position of ionization [cm]
Definition: SimChannel.h:121
float x
x position of ionization [cm]
Definition: SimChannel.h:119
TDCIDEs_t fTDCIDEs
list of energy deposits for each TDC with signal
Definition: SimChannel.h:156
Ionization at a point of the TPC sensitive volume.
Definition: SimChannel.h:86
float energy
energy deposited by ionization by this track ID and time [MeV]
Definition: SimChannel.h:118
TDCIDEs_t::iterator findClosestTDCIDE(StoredTDC_t tdc)
Return the iterator to the first TDCIDE not earlier than tdc.
Definition: SimChannel.cxx:346
float y
y position of ionization [cm]
Definition: SimChannel.h:120
float numElectrons
number of electrons at the readout for this track ID and time
Definition: SimChannel.h:117

Member Data Documentation

raw::ChannelID_t sim::SimChannel::fChannel
private

readout channel where electrons are collected

Definition at line 155 of file SimChannel.h.

TDCIDEs_t sim::SimChannel::fTDCIDEs
private

list of energy deposits for each TDC with signal

Definition at line 156 of file SimChannel.h.


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