1 #ifndef MCSHOWERRECOPART_H 2 #define MCSHOWERRECOPART_H 8 #include "cetlib_except/exception.h" 33 void ConstructShower(
const MCRecoPart& part_v);
39 const std::vector<unsigned int>&
ShowerDaughters(
const unsigned int shower_id)
const 41 if (shower_id >= _shower_daughters.size())
43 return _shower_daughters.at(shower_id);
51 std::vector<unsigned int> mothers(_shower_index.size(), 0);
52 for (
auto mother_iter = _shower_index.begin(); mother_iter != _shower_index.end();
54 mothers.at((*mother_iter).second) = (*mother_iter).first;
66 if (_shower_id.size() <= part_index)
return kINVALID_INT;
67 return _shower_id.at(part_index);
std::vector< int > _shower_id
Track index to shower index map.
const std::vector< unsigned int > ShowerMothers() const
std::vector< std::vector< unsigned int > > _shower_daughters
Shower time-ordered daughters.
static const int kINVALID_INT
int ShowerIndex(const unsigned int part_index) const
bool _debug_mode
lots of stdout stream
const std::vector< unsigned int > & ShowerDaughters(const unsigned int shower_id) const
std::map< unsigned int, unsigned int > _shower_index
Shower Primary Index ID => Shower Index Map.
static const unsigned int kINVALID_UINT
cet::coded_exception< error, detail::translate > exception