GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GeomAnalyzerI.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::GeomAnalyzerI
5 
6 \brief Defines the GENIE Geometry Analyzer Interface
7 
8 \author Costas Andreopoulos <c.andreopoulos \at cern.ch>
9  University of Liverpool
10 
11 \created July 13, 2005
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 */
16 //____________________________________________________________________________
17 
18 #ifndef _GEOMETRY_ANALYZER_I_H_
19 #define _GEOMETRY_ANALYZER_I_H_
20 
21 class TLorentzVector;
22 class TVector3;
23 
24 namespace genie {
25 
26 class PDGCodeList;
27 class PathLengthList;
28 
30 
31 public :
32 
33  virtual ~GeomAnalyzerI();
34 
35  // define the GeomAnalyzerI interface
36 
37  virtual const PDGCodeList &
38  ListOfTargetNuclei (void) = 0;
39 
40  virtual const PathLengthList &
41  ComputeMaxPathLengths (void) = 0;
42  virtual const PathLengthList &
44  const TLorentzVector & x, const TLorentzVector & p) = 0;
45  virtual const TVector3 &
47  const TLorentzVector & x, const TLorentzVector & p, int tgtpdg) = 0;
48 
49 protected:
50 
51  GeomAnalyzerI();
52 };
53 
54 } // genie namespace
55 
56 #endif // _GEOMETRY_ANALYZER_I_H_
virtual const TVector3 & GenerateVertex(const TLorentzVector &x, const TLorentzVector &p, int tgtpdg)=0
A list of PDG codes.
Definition: PDGCodeList.h:32
Object to be filled with the neutrino path-length, for all detector geometry materials, when starting from a position x and travelling along the direction of the neutrino 4-momentum.
virtual const PathLengthList & ComputeMaxPathLengths(void)=0
virtual const PathLengthList & ComputePathLengths(const TLorentzVector &x, const TLorentzVector &p)=0
Defines the GENIE Geometry Analyzer Interface.
Definition: GeomAnalyzerI.h:29
virtual const PDGCodeList & ListOfTargetNuclei(void)=0