15 const char* nps_apparatus,
16 const char* vertex_module) :
18 fSpectroName(nps_apparatus),
19 fVertexModuleName(vertex_module),
22 fVertexModule(nullptr)
88 {
"vx",
"Vertex x from HMS track",
"fVertex.X()"},
89 {
"vy",
"Vertex y from HMS track",
"fVertex.Y()"},
90 {
"vz",
"Vertex z from HMS track",
"fVertex.Z()"},
91 {
"px",
"Lab momentum px (GeV)",
"fNPSTrk.fPx" },
92 {
"py",
"Lab momentum py (GeV)",
"fNPSTrk.fPy" },
93 {
"pz",
"Lab momentum pz (GeV)",
"fNPSTrk.fPz" },
94 {
"p",
"Lab momentum (GeV)",
"fNPSTrk.fP" },
95 {
"mult",
"Cluster size",
"fNPSTrk.fMult"},
96 {
"x",
"x coordinate in detector front plane",
"fNPSTrk.fX"},
97 {
"y",
"y coordinate in detector front plane",
"fNPSTrk.fY"},
108 if( !
IsOK() )
return -1;
124 cluster.SetVertexFlag(
true);
130 cluster.RotateToLab(
fNPSAngle, Vtx_tmp, pvect);
131 cluster.SetVertexFlag(
false);
134 fNPSTrk.push_back( { pvect.
Mag(), pvect.
X(), pvect.
Y(), pvect.
Z(), cluster.X(), cluster.Y(), cluster.GetSize() } );
Option_t Option_t TPoint TPoint const char mode
ClassImp(VDC::AnalyticTTDConv) using namespace std
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="")
THaAnalysisObject * FindModule(const char *name, const char *classname, bool do_error=true)
virtual THaDetector * GetDetector(const char *name)
virtual void Clear(Option_t *opt="")
virtual Bool_t HasVertex() const
virtual const TVector3 & GetVertex() const
A dummy spectrometer apparatus for testing detectors.
Generic segmented shower detector.
vector< THcNPSCluster > GetClusters()
std::vector< NPSTrack > fNPSTrk
TString fVertexModuleName
THcReactionPoint * fVertexModule
THcNPSCalorimeter * fNPSCalo
virtual void Clear(Option_t *opt="")
virtual ~THcNPSTrackInfo()
THcNPSApparatus * fSpectro
virtual Int_t DefineVariables(EMode mode=kDefine)
THcNPSTrackInfo(const char *name, const char *description, const char *spectro="", const char *vertex_module="")
virtual Int_t Process(const THaEvData &)
const char * Data() const
void SetXYZ(Double_t x, Double_t y, Double_t z)
constexpr Double_t DegToRad()