10 #ifndef __KVPARTICLECONDITION_H
11 #define __KVPARTICLECONDITION_H
#define ClassDef(name, id)
Base class for KaliVeda framework.
Factory class for generating skeleton files for new classes.
Extended version of ROOT THashList.
Description of properties and kinematics of atomic nuclei.
Handles particle selection criteria for data analysis classes ,.
friend KVParticleCondition operator&&(const KVParticleCondition &, const KVParticleCondition &)
LambdaFunc fSavedLambda2
used by || and &&
virtual ~KVParticleCondition()
default dtor
static KVHashList fgOptimized
list of optimized particle conditions
Bool_t fOptOK
false if optimisation failed (can't load generated code)
void logical_operator_lambda_condition_test() const
void CreateClassFactory() const
Initialises KVClassFactory object used for optimization if it doesn't exist.
Bool_t Test(const KVNucleus *nuc) const
KVClassFactory * cf
used to generate code for optimisation
Int_t fNUsing
number of classes using this as an optimized condition
void AddExtraInclude(const Char_t *inc_file)
KVParticleCondition & operator|=(const KVParticleCondition &)
KVParticleCondition(const KVString &name, const LambdaFunc &F)
enum KVParticleCondition::LogOp fOpType
KVParticleCondition()
default ctor
KVString fOptimizedClassName
name of generated class used for optimisation
virtual bool optimized_test(const KVNucleus *) const
KVParticleCondition & operator&=(const KVParticleCondition &)
Bool_t Test(const KVNucleus &nuc) const
KVString fCondition
string containing selection criteria with ";" at end
void Copy(TObject &) const
Copy this to obj.
KVString fCondition_raw
'raw' condition, i.e. no ';'
void SetClassFactory(KVClassFactory *CF)
void SetParticleClassName(const Char_t *cl)
KVParticleCondition & operator=(const KVParticleCondition &)
Set condition to be same as for existing KVParticleCondition object.
std::function< bool(const KVNucleus *)> LambdaFunc
KVString fCondition_brackets
condition with '(' and ')' around it
static void PrintOptimizedList()
void Set(const KVString &name, const LambdaFunc &F)
const KVParticleCondition * fOptimal
friend KVParticleCondition operator||(const KVParticleCondition &, const KVParticleCondition &)
void Print(Option_t *opt="") const
Print informations on object.
LambdaFunc fLambdaCondition
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
virtual void Print(Option_t *option, const char *wildcard, Int_t recurse=1) const
virtual void SetName(const char *name)