LDMX Software
WorkingCluster.h
1/*
2 WorkingCluster -- In-memory tool for working on clusters
3 */
4#ifndef ECAL_WORKINGCLUSTER_H_
5#define ECAL_WORKINGCLUSTER_H_
6
7#include <iostream>
8#include <vector>
9
11#include "Ecal/Event/EcalHit.h"
12#include "TLorentzVector.h"
13
14namespace ecal {
15
17 public:
18 WorkingCluster(const ldmx::EcalHit* eh, const ldmx::EcalGeometry& geom);
19
21
22 void add(const ldmx::EcalHit* eh, const ldmx::EcalGeometry& geom);
23
24 void add(const WorkingCluster& wc);
25
26 const TLorentzVector& centroid() const { return centroid_; }
27
28 std::vector<const ldmx::EcalHit*> getHits() const { return hits_; }
29
30 bool empty() const { return hits_.empty(); }
31
32 void clear() { hits_.clear(); }
33
34 private:
35 std::vector<const ldmx::EcalHit*> hits_;
36 TLorentzVector centroid_;
37};
38} // namespace ecal
39
40#endif
Class that translates raw positions of ECal module hits into cells in a hexagonal readout.
void add(const ldmx::EcalHit *eh, const ldmx::EcalGeometry &geom)
Translation between real-space positions and cell IDs within the ECal.
Stores reconstructed hit information from the ECAL.
Definition EcalHit.h:19