28 const char* spectro,
Double_t particle_mass,
31 fMA(target_mass), fSpectroName(spectro), fSpectro(NULL), fBeam(NULL)
40 const char* spectro,
const char* beam,
43 fSpectroName(spectro), fBeamName(beam), fSpectro(NULL), fBeam(NULL)
82 {
"Q2",
"4-momentum transfer squared (GeV^2)",
"fQ2" },
83 {
"omega",
"Energy transfer (GeV)",
"fOmega" },
84 {
"W2",
"Invariant mass (GeV^2) for Mp ",
"fW2" },
85 {
"W",
"Sqrt(Invariant mass) for Mp ",
"fW" },
86 {
"x_bj",
"Bjorken x",
"fXbj" },
87 {
"scat_ang_rad",
"Scattering angle (rad)",
"fScatAngle" },
88 {
"scat_ang_deg",
"Scattering angle (deg)",
"fScatAngle_deg" },
89 {
"epsilon",
"Virtual photon polarization factor",
"fEpsilon" },
90 {
"q3m",
"Magnitude of 3-momentum transfer",
"fQ3mag" },
91 {
"th_q",
"Theta of 3-momentum vector (rad)",
"fThetaQ" },
92 {
"ph_q",
"Phi of 3-momentum vector (rad)",
"fPhiQ" },
93 {
"nu",
"Energy transfer (GeV)",
"fOmega" },
94 {
"q_x",
"x-cmp of Photon vector in the lab",
"fQ.X()" },
95 {
"q_y",
"y-cmp of Photon vector in the lab",
"fQ.Y()" },
96 {
"q_z",
"z-cmp of Photon vector in the lab",
"fQ.Z()" },
133 Error(
Here(
"Init"),
"Particle mass not defined. Module "
134 "initialization failed" );
147 if( !trkifo || !trkifo->
IsOK() )
return 1;
199 cout <<
"In THcPrimaryKine::ReadDatabase()" << endl;
204 prefix[0] = tolower(
GetName()[0]);
Option_t Option_t TPoint TPoint const char mode
R__EXTERN class THaRunBase * gHaRun
ClassImp(VDC::AnalyticTTDConv) using namespace std
R__EXTERN class THcParmList * gHcParms
char * Form(const char *fmt,...)
static Int_t DefineVarsFromList(const void *list, EType type, EMode mode, const char *def_prefix, const TObject *obj, const char *prefix, const char *here, const char *comment_subst="")
virtual const char * Here(const char *) const
THaAnalysisObject * FindModule(const char *name, const char *classname, bool do_error=true)
const TVector3 & GetPvect() const
THaBeamInfo * GetBeamInfo()
void PrintInitError(const char *here)
virtual void Clear(Option_t *opt="")
THaRunParameters * GetParameters() const
Double_t GetBeamP() const
virtual void TransportToLab(Double_t p, Double_t th, Double_t ph, TVector3 &pvect) const
Double_t GetTheta() const
THaTrackInfo * GetTrackInfo()
A standard Hall C spectrometer apparatus.
Int_t LoadParmValues(const DBRequest *list, const char *prefix="")
Retrieve parameter values from the parameter cache.
Class for the Calculate kinematics of scattering of the primary (beam) particle. These are usually th...
virtual Int_t DefineVariables(EMode mode=kDefine)
THcPrimaryKine(const char *name, const char *description, const char *spectro="", Double_t particle_mass=0.0, Double_t target_mass=0.0)
virtual Int_t ReadDatabase(const TDatime &date)
THcHallCSpectrometer * fSpectro
void SetSpectrometer(const char *name)
virtual void Clear(Option_t *opt="")
void SetBeam(const char *name)
virtual ~THcPrimaryKine()
void SetTargetMass(Double_t m)
Double_t fOopCentralOffset
virtual Int_t Process(const THaEvData &)
Double_t Angle(const TVector3 &v) const
void SetXYZT(Double_t x, Double_t y, Double_t z, Double_t t)
void SetVectM(const TVector3 &spatial, Double_t mass)
void SetXYZM(Double_t x, Double_t y, Double_t z, Double_t m)
const char * GetName() const override
virtual void Error(const char *method, const char *msgfmt,...) const
const char * Data() const
Double_t Power(Double_t x, Double_t y)
Double_t Sqrt(Double_t x)
constexpr Double_t RadToDeg()