HadronizationModelI.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::HadronizationModelI
5 
6 \brief Pure abstract base class.
7  Defines the HadronizationModelI interface to be implemented by any
8  algorithmic class performing hadronization.
9 
10 \author Costas Andreopoulos <costas.andreopoulos \at stfc.ac.uk>
11  University of Liverpool & STFC Rutherford Appleton Lab
12 
13 \created August 17, 2004
14 
15 \cpright Copyright (c) 2003-2019, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17  or see $GENIE/LICENSE
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _HADRONIZATION_MODEL_I_H_
22 #define _HADRONIZATION_MODEL_I_H_
23 
25 
26 class TClonesArray;
27 class TH1D;
28 
29 namespace genie {
30 
31 class Interaction;
32 class PDGCodeList;
33 
35 
36 public:
37 
38  virtual ~HadronizationModelI();
39 
40  //! define the HadronizationModelI interface
41 
42  virtual void Initialize (void) const = 0;
43  virtual TClonesArray * Hadronize (const Interaction * ) const = 0;
44  virtual double Weight (void) const = 0;
45  virtual PDGCodeList * SelectParticles (const Interaction*) const = 0;
46  virtual TH1D * MultiplicityProb (const Interaction*, Option_t* opt="") const = 0;
47 
48 protected:
49 
51  HadronizationModelI(string name);
52  HadronizationModelI(string name, string config);
53 };
54 
55 } // genie namespace
56 
57 #endif // _HADRONIZATION_MODEL_I_H_
58 
static QCString name
Definition: declinfo.cpp:673
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:26
opt
Definition: train.py:196
Algorithm abstract base class.
Definition: Algorithm.h:54
A list of PDG codes.
Definition: PDGCodeList.h:33
Summary information for an interaction.
Definition: Interaction.h:55
virtual PDGCodeList * SelectParticles(const Interaction *) const =0
static Config * config
Definition: config.cpp:1054
virtual TClonesArray * Hadronize(const Interaction *) const =0
virtual TH1D * MultiplicityProb(const Interaction *, Option_t *opt="") const =0
Pure abstract base class. Defines the HadronizationModelI interface to be implemented by any algorith...
virtual void Initialize(void) const =0
define the HadronizationModelI interface
virtual double Weight(void) const =0