BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
ITools.h
Go to the documentation of this file.
1#pragma once
2
3#include <GaudiKernel/AlgTool.h>
4#include <GaudiKernel/IAlgTool.h>
5#include <GaudiKernel/IInterface.h>
6
7#include "BesDChain/CDDecay.h"
8#include "BesDChain/CDLambda.h"
9#include "DecayChain/Function/DCSelectionFunction.h"
10
11/*
12 * Interface for general selector
13 */
14template <typename T>
15class ISelectorTool : virtual public IAlgTool, public DCSelectionFunction<T> {
16public:
18
19 virtual bool operator()( T& obj ) = 0;
20};
21
22/*
23 * Interface for Pi/K/p selector
24 */
25template <typename T>
26class IPiKPSelector : virtual public IAlgTool, public DCSelectionFunction<T> {
27public:
29
30 virtual bool operator()( T& obj ) = 0;
31 virtual void setpidtype( int type ) = 0;
32};
33
34/*
35 * Interface for LambdaC selector
36 */
37class IEbeamBetaSelector : virtual public IAlgTool, public DCSelectionFunction<CDDecay> {
38public:
40
41 virtual void setebeam( double ebeam ) = 0;
42 virtual void setbeta( Hep3Vector beta ) = 0;
43 virtual bool operator()( CDDecay& theD ) = 0;
44};
45
46class ILambdaSelector : virtual public IAlgTool, public DCSelectionFunction<CDLambda> {
47public:
49
50 virtual bool IfProtonPID() const = 0;
51};
double ebeam
DeclareInterfaceID(IEbeamBetaSelector, 1, 0)
virtual void setbeta(Hep3Vector beta)=0
virtual void setebeam(double ebeam)=0
virtual bool operator()(CDDecay &theD)=0
virtual bool IfProtonPID() const =0
DeclareInterfaceID(ILambdaSelector, 1, 0)
DeclareInterfaceID(IPiKPSelector, 1, 0)
virtual void setpidtype(int type)=0
virtual bool operator()(T &obj)=0
virtual bool operator()(T &obj)=0
DeclareInterfaceID(ISelectorTool, 1, 0)