1 #ifndef KVIDENTIFICATIONRESULT_H
2 #define KVIDENTIFICATIONRESULT_H
6 #include <unordered_map>
52 using grid_infos = std::unordered_map<std::string, std::vector<TString>>;
114 flags[grid_name].push_back(flag);
120 auto fv =
flags.find(grid_name);
121 if (fv !=
flags.end())
return (std::find(fv->second.begin(), fv->second.end(), flag) != fv->second.end());
128 auto fv =
flags.find(grid_name);
129 if (fv !=
flags.end()) {
130 for (
auto&
f : fv->second) {
131 if (
f.BeginsWith(flag_beginning))
return kTRUE;
140 auto fv =
flags.find(grid_name);
141 if (fv !=
flags.end()) {
142 for (
auto&
f : fv->second) {
143 if (
f.BeginsWith(flag_beginning))
return f;
175 for (
auto& fv :
flags) {
176 grid_name = fv.first;
186 for (
auto& fv :
flags) {
187 grid_name = fv.first;
197 for (
auto& fv :
flags) {
198 grid_name = fv.first;
200 if (
f.Length())
return f;
#define ClassDef(name, id)
Base class for KaliVeda framework.
void SetLabel(const Char_t *lab)
const Char_t * GetLabel() const
const Char_t * GetType() const
virtual void SetType(const Char_t *str)
virtual void Copy(TObject &) const
Make a copy of this object.
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)
KVIdentificationResult & operator=(const KVIdentificationResult &i)
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)
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
const Char_t * GetIDType() const
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)
const Char_t * GetComment() const
KVIdentificationResult(const KVIdentificationResult &id)
const Char_t * GetGridName() const
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
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
virtual const char * GetName() const
virtual void SetName(const char *name)