Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DNeutralShower.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: DNeutralShower.h
4 // Created: Tue Aug 9 14:29:24 EST 2011
5 // Creator: pmatt (on Linux ifarml6 2.6.18-128.el5 x86_64)
6 //
7 
8 #ifndef _DNeutralShower_
9 #define _DNeutralShower_
10 
11 #include <vector>
12 #include <utility>
13 #include <string>
14 #include <memory>
15 
16 #include "JANA/JObject.h"
17 
18 #include "GlueX.h"
19 #include "DLorentzVector.h"
20 #include "TMatrixFSym.h"
21 
22 using namespace std;
23 
24 class DNeutralShower : public jana::JObject
25 {
26  public:
27  JOBJECT_PUBLIC(DNeutralShower);
28 
29  oid_t dShowerID;
31 
33  double dEnergy;
34  shared_ptr<TMatrixFSym> dCovarianceMatrix; //E, x, y, z, t
35 
36  // Quality is a number between 0 and 1 that is closer to
37  // 1 for more photon-like showers; currently only implemented
38  // in the FCAL. Quality = 1 for all BCAL showers.
39 
40  double dQuality;
41 
42  const JObject* dBCALFCALShower; //is either DBCALShower or DFCALShower: dynamic_cast as appropriate (based on dDetectorSystem)
43 
44  void toStrings(vector<pair<string,string> > &items) const{
45  AddString(items, "E", "%3.5f", dEnergy);
46  AddString(items, "x", "%3.2f", dSpacetimeVertex.X());
47  AddString(items, "y", "%3.2f", dSpacetimeVertex.Y());
48  AddString(items, "z", "%3.2f", dSpacetimeVertex.Z());
49  AddString(items, "t", "%3.2f", dSpacetimeVertex.T());
50  }
51 };
52 
53 #endif // _DNeutralShower_
54 
const JObject * dBCALFCALShower
DetectorSystem_t
Definition: GlueX.h:15
TLorentzVector DLorentzVector
DetectorSystem_t dDetectorSystem
DLorentzVector dSpacetimeVertex
void toStrings(vector< pair< string, string > > &items) const
shared_ptr< TMatrixFSym > dCovarianceMatrix