1#ifndef KVIDENTIFICATIONRESULT_H
2#define KVIDENTIFICATIONRESULT_H
6#include <unordered_map>
53 using grid_infos = std::unordered_map<std::string, std::vector<TString>>;
115 flags[grid_name].push_back(flag);
121 auto fv =
flags.find(grid_name);
122 if (fv !=
flags.end())
return (std::find(fv->second.begin(), fv->second.end(), flag) != fv->second.end());
129 auto fv =
flags.find(grid_name);
130 if (fv !=
flags.end()) {
131 for (
auto&
f : fv->second) {
132 if (
f.BeginsWith(flag_beginning))
return kTRUE;
141 auto fv =
flags.find(grid_name);
142 if (fv !=
flags.end()) {
143 for (
auto&
f : fv->second) {
144 if (
f.BeginsWith(flag_beginning))
return f;
176 for (
auto& fv :
flags) {
177 grid_name = fv.first;
187 for (
auto& fv :
flags) {
188 grid_name = fv.first;
198 for (
auto& fv :
flags) {
199 grid_name = fv.first;
201 if (
f.Length())
return f;
#define ClassDef(name, id)
Base class for KaliVeda framework.
void SetLabel(const Char_t *lab)
virtual void SetType(const Char_t *str)
const Char_t * GetLabel() const
virtual void Copy(TObject &) const
Make a copy of this object.
virtual const Char_t * GetType() const
Full result of one attempted particle identification.
Bool_t IDattempted
=kTRUE if identification was attempted
Bool_t HasFlagWhichBegins(std::string grid_name, TString flag_beginning)
const Char_t * GetComment() const
const Char_t * GetIDType() const
Bool_t IDOK
general quality of identification, =kTRUE if acceptable identification made
void SetGridName(const Char_t *n)
void Print(Option_t *opt="") const
void Copy(TObject &) const
Copy this to obj.
void SetComment(const Char_t *c)
void AddFlag(std::string grid_name, TString flag)
const Char_t * GetGridName() const
void Clear(Option_t *opt="")
Reset to initial values.
Bool_t IdentifyingGridHasFlagWhichBegins(TString flag_beginning)
TString Rejecting_Cut
name of cut in grid which rejected particle for identification
Bool_t HasFlagWhichBegins_AnyGrid(TString flag_beginning, std::string &grid_name)
std::unordered_map< std::string, std::vector< TString > > grid_infos
Bool_t Aident
= kTRUE if A of particle established
Double_t PID
= "real" Z if Zident==kTRUE and Aident==kFALSE, "real" A if Zident==Aident==kTRUE
Bool_t IdentifyingGridHasFlag(TString flag)
Int_t deltaEpedestal
special code for handling particles which give no signal in deltaE
Bool_t HasFlag_AnyGrid(TString flag, std::string &grid_name)
TString GetFlagWhichBegins_AnyGrid(TString flag_beginning, std::string &grid_name)
TString IdentifyingGridGetFlagWhichBegins(TString flag_beginning)
KVIdentificationResult(const KVIdentificationResult &id)
Int_t A
A of particle found (if Aident==kTRUE)
Int_t Z
Z of particle found (if Zident==kTRUE)
Int_t IDquality
specific quality code returned by identification procedure
Int_t IDcode
a general identification code for this type of identification
KVIdentificationResult & operator=(const KVIdentificationResult &i)
TString GetFlagWhichBegins(std::string grid_name, TString flag_beginning)
Bool_t HasFlag(std::string grid_name, TString flag)
void SetIDType(const Char_t *t)
Bool_t Zident
=kTRUE if Z of particle established
const char * GetName() const override
virtual void SetName(const char *name)