PandaRoot
RhoParticleSelectorBase.h
Go to the documentation of this file.
1 #ifndef RHOPARTICLESELECTORBASE_H
2 #define RHOPARTICLESELECTORBASE_H
3 // //
5 // RhoParticleSelectorBase //
6 // //
7 // Selector classes for particle identification //
8 // Particle masses are set from the TDatabasePDG class //
9 // //
10 // Author: Marcel Kunze, RUB, Feb. 99 //
11 // Copyright (C) 1999-2001, Ruhr-University Bochum. //
12 // Ralf Kliemt, HIM/GSI Feb.2013 (Cleanup & Restructuring) //
13 // //
15 
16 #include <iostream>
17 
18 #include "TNamed.h"
19 
20 class RhoCandidate;
21 class RhoCandList;
22 class PndPidCandidate;
23 class TParticlePDG;
24 
26 
27 class RhoParticleSelectorBase : public TNamed {
28 
29  public:
30  // Constructor
31  RhoParticleSelectorBase(const char *name = "VAbsPidSelector", const char *type = nullptr);
32  // Destructor
33  virtual ~RhoParticleSelectorBase();
34 
35  // operations
36  virtual Bool_t Accept(RhoCandidate *) = 0;
37  virtual Bool_t Accept(PndPidCandidate *) = 0;
38 
39  virtual void SetCriterion(const char *crit);
40  void SetCriterion(criterion crit);
41  void Select(RhoCandList &l);
42  void Select(RhoCandList &in, RhoCandList &out);
43 
44  protected:
45  TParticlePDG *CPConjugate(TParticlePDG *aPart);
46 
48 
49  TParticlePDG *fTypePlus;
50  TParticlePDG *fTypeMinus;
52 
53  public:
54  ClassDef(RhoParticleSelectorBase, 1) // Particle Selector base class
55 };
56 
57 #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)