Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DBCALPoint_factory.h
Go to the documentation of this file.
1 #ifndef _DBCALPoint_factory_
2 #define _DBCALPoint_factory_
3 
4 #include <vector>
5 #include <map>
6 using namespace std;
7 
8 #include <JANA/JFactory.h>
9 #include <JANA/JEventLoop.h>
10 
11 using namespace jana;
12 
13 #include "BCAL/DBCALPoint.h"
14 #include "BCAL/DBCALUnifiedHit.h"
15 #include "BCAL/DBCALGeometry.h"
16 
17 #include <TTree.h>
18 
19 typedef vector< vector<double> > attenuation_parms_t;
20 typedef vector< double > effective_vel_t;
21 typedef vector< vector<double> > track_parms_t;
22 
23 class DBCALHit;
24 
25 class DBCALPoint_factory : public JFactory<DBCALPoint> {
26 
27  public:
28  DBCALPoint_factory() : m_BCALGeom(NULL) {
29  PRINTCALIBRATION = false;
30  if(gPARMS){
31  gPARMS->SetDefaultParameter("BCALPOINT:PRINTCALIBRATION", PRINTCALIBRATION, "Print the calibration parameters.");
32  }
33  }
35 
36  private:
37  class cellHits{
38  public:
39  vector<const DBCALUnifiedHit*> uphits;
40  vector<const DBCALUnifiedHit*> dnhits;
41  };
42 
47 
49 
50  // =(
51  static const int BCAL_NUM_MODULES = 48;
52  static const int BCAL_NUM_LAYERS = 4;
53  static const int BCAL_NUM_SECTORS = 4;
54 
56 
57  jerror_t brun(JEventLoop *loop, int32_t runnumber);
58  jerror_t evnt(JEventLoop *loop, uint64_t eventnumber);
59 
60  const int GetCalibIndex( int module, int layer, int sector ) const {
61  return BCAL_NUM_LAYERS*BCAL_NUM_SECTORS*(module-1) + BCAL_NUM_SECTORS*(layer-1) + (sector-1);
62  }
63 
64  bool GetAttenuationParameters(int id, double &attenuation_length,
65  double &attenuation_L1, double &attenuation_L2);
66  double GetEffectiveVelocity(int id);
67  bool GetTrackParameters(int id, double &track_p0,
68  double &track_p1, double &track_p2);
69 };
70 
71 #endif //_DBCALPoint_factory_
vector< const DBCALUnifiedHit * > dnhits
Int_t layer
vector< double > effective_vel_t
const DBCALGeometry * m_BCALGeom
effective_vel_t effective_velocities
attenuation_parms_t attenuation_parameters
const int GetCalibIndex(int module, int layer, int sector) const
vector< vector< double > > track_parms_t
vector< vector< double > > attenuation_parms_t
vector< const DBCALUnifiedHit * > uphits
track_parms_t track_parameters