11 #ifndef __RAT_DS_MCPMT__
12 #define __RAT_DS_MCPMT__
14 #include <RAT/DS/MCPhoton.hh>
23 MCPMT() : TObject() {}
27 virtual Int_t
GetID()
const {
return id; };
28 virtual void SetID(Int_t _id) {
id = _id; };
37 virtual Int_t
GetType()
const {
return type; };
38 virtual void SetType(Int_t _type) { type = _type; };
42 Int_t GetMCPhotonCount()
const {
return photon.size(); }
44 photon.resize(photon.size() + 1);
45 return &photon.back();
47 void RemoveMCPhoton(Int_t i) { photon.erase(photon.begin() + i); }
48 void PruneMCPhoton() { photon.resize(0); }
49 void SortMCPhotons() { std::sort(photon.begin(), photon.end()); }
51 void PruneNoiseMCPhotons() {
52 photon.erase(std::remove_if(photon.begin(), photon.end(), [](
const MCPhoton ph) { return ph.IsDarkHit(); }),
55 void PruneAfterPulseMCPhotons() {
56 photon.erase(std::remove_if(photon.begin(), photon.end(), [](
const MCPhoton ph) { return ph.IsAfterPulse(); }),
65 std::vector<MCPhoton> photon;
virtual Double_t GetCharge() const
Definition: MCPMT.cc:18
virtual std::string GetCreatorProcess() const
Definition: MCPMT.cc:6
MCPhoton * GetMCPhoton(Int_t i)
Definition: MCPMT.hh:41
virtual Int_t GetID() const
Definition: MCPMT.hh:27
virtual Int_t GetType() const
Definition: MCPMT.hh:37
Definition: MCPhoton.hh:25
Definition: CCCrossSecMessenger.hh:29