PandaRoot
RhoParticleSelectorBase.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef RHOPARTICLESELECTORBASE_H
14 #define RHOPARTICLESELECTORBASE_H
15 // //
17 // RhoParticleSelectorBase //
18 // //
19 // Selector classes for particle identification //
20 // Particle masses are set from the TDatabasePDG class //
21 // //
22 // Author: Marcel Kunze, RUB, Feb. 99 //
23 // Copyright (C) 1999-2001, Ruhr-University Bochum. //
24 // Ralf Kliemt, HIM/GSI Feb.2013 (Cleanup & Restructuring) //
25 // //
27 
28 #include <iostream>
29 
30 #include "TNamed.h"
31 
32 class RhoCandidate;
33 class RhoCandList;
34 class PndPidCandidate;
35 class TParticlePDG;
36 
38 
39 class RhoParticleSelectorBase : public TNamed {
40 
41  public:
42  // Constructor
43  RhoParticleSelectorBase(const char *name = "VAbsPidSelector", const char *type = nullptr);
44  // Destructor
45  virtual ~RhoParticleSelectorBase();
46 
47  // operations
48  virtual Bool_t Accept(RhoCandidate *) = 0;
49  virtual Bool_t Accept(PndPidCandidate *) = 0;
50 
51  virtual void SetCriterion(const char *crit);
52  void SetCriterion(criterion crit);
53  void Select(RhoCandList &l);
54  void Select(RhoCandList &in, RhoCandList &out);
55 
56  protected:
57  TParticlePDG *CPConjugate(TParticlePDG *aPart);
58 
60 
61  TParticlePDG *fTypePlus;
62  TParticlePDG *fTypeMinus;
64 
65  public:
66  ClassDef(RhoParticleSelectorBase, 1) // Particle Selector base class
67 };
68 
69 #endif
virtual ~RhoParticleSelectorBase()
void Select(RhoCandList &l)
criterion fCriterion
Particle type to accept.
virtual Bool_t Accept(RhoCandidate *)=0
virtual void SetCriterion(const char *crit)
TParticlePDG * fTypeMinus
Particle type to accept.
TParticlePDG * CPConjugate(TParticlePDG *aPart)
void SetTypeAndMass(RhoCandidate *b)
RhoParticleSelectorBase(const char *name="VAbsPidSelector", const char *type=nullptr)