Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DCCALShower_factory.h
Go to the documentation of this file.
1 /*
2  * File: DCCALHit_factory.h
3  *
4  * Created on 11/25/18 by A.S.
5  * use structure similar to FCAL
6  */
7 
8 #ifndef _DCCALShower_factory_
9 #define _DCCALShower_factory_
10 
11 #include <JANA/JFactory.h>
12 #include <JANA/JEventLoop.h>
13 
14 #include "DCCALShower.h"
15 #include "DCCALGeometry.h"
16 #include "DCCALHit.h"
17 #include "hycal.h"
18 
19 using namespace jana;
20 
21 class DCCALShower_factory:public JFactory<DCCALShower>{
22 
23  public:
26 
27 
28  private:
29 
30  jerror_t brun(JEventLoop *eventLoop, int32_t runnumber);
31  jerror_t evnt(JEventLoop *eventLoop, uint64_t eventnumber);
32 
33  void cleanHitPattern( vector< const DCCALHit* > hitarray, vector< const DCCALHit* > &hitarrayClean );
34  void final_cluster_processing( vector< ccalcluster_t > &ccalcluster, int n_h_clusters );
35  float getEnergyWeightedTime( cluster_t cluster_storage, int nHits );
36  float getCorrectedTime( float time, float energy );
37  float shower_depth( float energy );
38  float energy_correct( float energy, int id );
39  float f_nonlin( float e, int id );
40 
41  bool LoadCCALProfileData(JApplication *japp, int32_t runnumber);
42 
43  double m_zTarget;
44  double m_CCALfront;
45 
46  JApplication *japp;
47 
53  float TIME_CUT;
56 
59 
61  vector< float > Nonlin_p0;
62  vector< float > Nonlin_p1;
63  vector< float > Nonlin_p2;
64  vector< float > Nonlin_p3;
65 
66  vector< float > timewalk_p0;
67  vector< float > timewalk_p1;
68  vector< float > timewalk_p2;
69  vector< float > timewalk_p3;
70 
71 };
72 
73 #endif // _DCCALShower_factory_
74 
float energy_correct(float c_energy, int central_id)
vector< float > timewalk_p0
vector< float > Nonlin_p0
vector< float > Nonlin_p1
JApplication * japp
float shower_depth(float energy)
TEllipse * e
vector< float > timewalk_p3
vector< float > timewalk_p1
cluster_t cluster_storage[MAX_CLUSTERS]
vector< float > Nonlin_p2
vector< float > timewalk_p2
static const int kCCALMaxChannels
Definition: DCCALGeometry.h:27
int n_h_clusters
ccalcluster_t ccalcluster[MAX_CLUSTERS]
vector< float > Nonlin_p3