57 timeStart = timeEnd = timeMax = 0;
68 { _x =
x; _y =
y; _z =
z; }
73 if(_x < rhs.
_x)
return true;
74 if(rhs.
_x < _x)
return false;
75 if(_y < rhs.
_y)
return true;
76 if(rhs.
_y < _y)
return false;
77 if(_z < rhs.
_z)
return true;
78 if(rhs.
_z < _z)
return false;
95 std::vector<deposit> deps {};
104 pos(p),
pid(pi), deps(num_planes) { deps[id].energy=
e; deps[id].charge=c;}
115 void MakeMCEdep(
const std::vector<sim::SimChannel>& schArray);
118 {
return (_track_index.find(track_id) != _track_index.end()); }
123 auto iter = _track_index.find(track_id);
124 return (iter == _track_index.end() ? -1 : (int)((*iter).second));
128 const std::vector<sim::MCEdep>& GetEdepArrayAt(
size_t edep_index)
const;
132 {
return _track_index; }
136 _track_index.clear();
137 std::vector<std::vector<sim::MCEdep>>().swap(_mc_edeps);
138 std::map<unsigned int,size_t>().swap(_track_index);
142 std::vector<sim::MCEdep>& __GetEdepArray__(
unsigned int track_id);
MCEdep(sim::UniquePosition p, geo::PlaneID pi, size_t num_planes, float e, float c, size_t id)
bool operator<(const UniquePosition &rhs) const
The data type to uniquely identify a Plane.
std::map< geo::PlaneID, size_t > createPlaneIndexMap()
int TrackToEdepIndex(unsigned int track_id) const
Converts a track ID to MCEdep array index. Returns -1 if no corresponding array found ...
bool ExistTrack(const unsigned int track_id) const
std::vector< std::vector< sim::MCEdep > > _mc_edeps
deposit(float e, float c)
UniquePosition(double x=0, double y=0, double z=0)
object containing MC truth information necessary for making RawDigits and doing back tracking ...
constexpr T pi()
Returns the constant pi (up to 35 decimal digits of precision)
std::map< unsigned int, size_t > _track_index
const std::map< unsigned int, size_t > TrackIndexMap() const
Returns a map of track id <-> MCEdep vector index.
art framework interface to geometry description