GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HadronTensorModelI.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::HadronTensorModelI
5 
6 \brief Creates hadron tensor objects for use in cross section calculations
7 
8 \author Steven Gardiner <gardiner \at fnal.gov>
9  Fermi National Accelerator Laboratory
10 
11 \created April 26, 2019
12 
13 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
14  For the full text of the license visit http://copyright.genie-mc.org
15  or see $GENIE/LICENSE
16 */
17 //____________________________________________________________________________
18 
19 #ifndef _HADRON_TENSOR_MODEL_H_
20 #define _HADRON_TENSOR_MODEL_H_
21 
22 // standard library includes
23 #include <map>
24 #include <string>
25 #include <vector>
26 
27 // GENIE includes
30 
31 namespace genie {
32 
33 class HadronTensorModelI : public Algorithm {
34 
35 public:
36  virtual ~HadronTensorModelI();
37 
38  /// Retrieves a pointer to a hadron tensor object appropriate for this model
39  /// \param[in] tensor_pdg The PDG code for the nuclide described by the tensor
40  /// \param[in] type The desired kind of hadron tensor
41  /// \returns A pointer to the requested hadron tensor, or NULL if a match
42  /// could not be found/created
43  virtual const HadronTensorI* GetTensor(int tensor_pdg, HadronTensorType_t type) const = 0;
44 
45 protected:
47  HadronTensorModelI(std::string name);
48  HadronTensorModelI(std::string name, std::string config);
49 };
50 
51 } // namespace genie
52 
53 #endif // _HADRON_TENSOR_MODEL_H_
virtual const HadronTensorI * GetTensor(int tensor_pdg, HadronTensorType_t type) const =0
Algorithm abstract base class.
Definition: Algorithm.h:54
enum genie::HadronTensorType HadronTensorType_t
Abstract interface for an object that computes the elements a hadron tensor . Also computes the contr...
Definition: HadronTensorI.h:95
Creates hadron tensor objects for use in cross section calculations.