#include "DirOfGamma.h"
Definition at line 119 of file DirOfGamma.h.
Definition at line 161 of file DirOfGamma.cxx.
References ComputeBaryCenter(), ComputeMaxCharge(), ComputeMaxDist(), fBaryCenter, fBins, fHits, FillBins(), FindCandidates(), FindInitialPart(), fNbins, and fPoints2D.
169 for (
unsigned int i = 0; i < src.size(); i++) {
170 Hit2D*
hit =
new Hit2D(detProp, src[i]);
176 for (
unsigned int i = 0; i <
fNbins; i++)
std::vector< art::Ptr< recob::Hit > > fHits
std::vector< Bin2D > fBins
Detector simulation of raw signals on wires.
std::vector< Hit2D * > fPoints2D
ems::DirOfGamma::~DirOfGamma |
( |
| ) |
|
|
inline |
Definition at line 125 of file DirOfGamma.h.
127 for (
unsigned int i = 0; i <
fPoints2D.size(); ++i)
std::vector< Hit2D * > fPoints2D
void ems::DirOfGamma::ComputeBaryCenter |
( |
| ) |
|
|
private |
void ems::DirOfGamma::ComputeFinalValues |
( |
| ) |
|
|
private |
void ems::DirOfGamma::ComputeMaxCharge |
( |
| ) |
|
|
private |
void ems::DirOfGamma::ComputeMaxDist |
( |
| ) |
|
|
private |
void ems::DirOfGamma::FillBins |
( |
| ) |
|
|
private |
Definition at line 203 of file DirOfGamma.cxx.
References bin, fBaryCenter, fBins, fNbins, fPoints2D, X, and Y.
Referenced by DirOfGamma().
205 TVector2 vstart(0, 1);
207 for (
unsigned int i = 0; i <
fPoints2D.size(); i++) {
210 float sinsign = (vstart.X() * vecp.Y()) - (vstart.Y() * vecp.X());
211 float cosine = (vstart * vecp) / (vstart.Mod() * vecp.Mod());
212 float theta = 180.0F * (std::acos(cosine)) / TMath::Pi();
215 double bin = double(360.0) / double(
fNbins);
218 id = int(theta / bin);
219 else if (sinsign < 0)
220 id = int(theta / bin) + (
fNbins / 2);
226 for (
unsigned int id = 0;
id <
fBins.size();
id++)
std::vector< Bin2D > fBins
std::vector< Hit2D * > fPoints2D
bool ems::DirOfGamma::FindCandidates |
( |
| ) |
|
|
private |
Definition at line 248 of file DirOfGamma.cxx.
References pma::Dist2(), fBaryCenter, fBins, fCandidates, fNbins, fNormDist, fPoints2D, and ems::Hit2D::GetPointCm().
Referenced by DirOfGamma().
251 unsigned int nbins =
fNbins * 4;
252 for (
unsigned int id = 0;
id <
fNbins;
id++) {
254 if (!
fBins[
id].Size())
continue;
256 std::vector<Hit2D*> points;
257 Hit2D* candidate2D =
fBins[id].GetHits2D().front();
259 for (
unsigned int i = 0; i <
fPoints2D.size(); i++) {
263 if ((distnorm > 0.5) && (dist2 < rad * rad)) points.push_back(
fPoints2D[i]);
266 if (
fBins[
id].Size() > 1) {
267 EndPoint ep(*candidate2D, points, nbins);
double Dist2(const TVector2 &v1, const TVector2 &v2)
std::vector< Bin2D > fBins
std::vector< EndPoint > fCandidates
std::vector< Hit2D * > fPoints2D
void ems::DirOfGamma::FindInitialPart |
( |
| ) |
|
|
private |
Definition at line 287 of file DirOfGamma.cxx.
References pma::Dist2(), fBaryCenter, fCandidateID, fCandidates, fIniHits, fStartHit, and fStartPoint.
Referenced by DirOfGamma().
289 double max_asymmetry = 0.0;
290 unsigned int saveid = 0;
293 double maxdist2 = 0.0;
294 double maxcharge = 0.0;
295 unsigned int idmaxdist = 0;
296 unsigned int idmaxcharge = 0;
298 for (
unsigned int i = 0; i <
fCandidates.size(); i++) {
301 if (dist2 > maxdist2) {
305 if (charge > maxcharge) {
312 unsigned int idmaxdistb = 0;
314 if ((i == idmaxdist) || (i == idmaxcharge))
continue;
317 if (dist2 > maxdist2) {
324 for (
unsigned int i = 0; i <
fCandidates.size(); i++) {
327 if ((i == idmaxdist) || (i == idmaxcharge) || (i == idmaxdistb)) {
328 if (asymmetry > max_asymmetry) {
329 max_asymmetry = asymmetry;
337 for (
unsigned int i = 0; i <
fCandidates.size(); i++) {
340 if ((i == idmaxdist) || (i == idmaxdistb)) {
341 if (asymmetry > max_asymmetry) {
342 max_asymmetry = asymmetry;
double Dist2(const TVector2 &v1, const TVector2 &v2)
MaybeLogger_< ELseverityLevel::ELsev_error, false > LogError
std::vector< EndPoint > fCandidates
art::Ptr< recob::Hit > fStartHit
std::vector< art::Ptr< recob::Hit > > fIniHits
TVector2 const& ems::DirOfGamma::GetBaryCenterCm |
( |
| ) |
const |
|
inline |
std::vector<EndPoint> const& ems::DirOfGamma::GetCandidates |
( |
| ) |
const |
|
inline |
Definition at line 135 of file DirOfGamma.h.
std::vector< EndPoint > fCandidates
Definition at line 149 of file DirOfGamma.h.
art::Ptr< recob::Hit > fStartHit
TVector2 const& ems::DirOfGamma::GetFirstPoint |
( |
| ) |
const |
|
inline |
Definition at line 151 of file DirOfGamma.h.
std::vector< art::Ptr< recob::Hit > > fHits
std::vector<Hit2D*> const& ems::DirOfGamma::GetHits2D |
( |
| ) |
const |
|
inline |
size_t ems::DirOfGamma::GetIdCandidate |
( |
| ) |
|
|
inline |
size_t ems::DirOfGamma::GetIdCl |
( |
| ) |
const |
|
inline |
Definition at line 155 of file DirOfGamma.h.
std::vector< art::Ptr< recob::Hit > > fIniHits
void ems::DirOfGamma::SetIdCandidate |
( |
size_t |
id | ) |
|
|
inline |
Definition at line 137 of file DirOfGamma.h.
std::vector< EndPoint > fCandidates
art::Ptr< recob::Hit > fStartHit
std::vector< art::Ptr< recob::Hit > > fIniHits
TVector2 ems::DirOfGamma::fBaryCenter |
|
private |
std::vector<Bin2D> ems::DirOfGamma::fBins |
|
private |
size_t ems::DirOfGamma::fCandidateID |
|
private |
std::vector<EndPoint> ems::DirOfGamma::fCandidates |
|
private |
size_t ems::DirOfGamma::fIdCl |
|
private |
bool ems::DirOfGamma::fIsCandidateIDset |
|
private |
size_t ems::DirOfGamma::fNbins |
|
private |
float ems::DirOfGamma::fNormCharge |
|
private |
float ems::DirOfGamma::fNormDist |
|
private |
std::vector<Hit2D*> ems::DirOfGamma::fPoints2D |
|
private |
TVector2 ems::DirOfGamma::fStartPoint |
|
private |
The documentation for this class was generated from the following files: