00001 #include "StEEmcGenericPointMaker.h"
00002
00003 #include "TH1F.h"
00004 #include "TH2F.h"
00005
00006 ClassImp(StEEmcGenericPointMaker);
00007
00008
00009 StEEmcGenericPointMaker::StEEmcGenericPointMaker( const Char_t *name, const StEEmcA2EMaker *a2e, const StEEmcGenericClusterMaker *cl )
00010 : StMaker(name)
00011 {
00012
00013 mEEanalysis=a2e;
00014 mEEclusters=cl;
00015
00016 mEEtow=new EEmcGeomSimple();
00017 mEEsmd=EEmcSmdGeom::instance();
00018 mEEmap=EEmcSmdMap::instance();
00019
00020 mKey=0;
00021
00022 }
00023
00024
00025 Int_t StEEmcGenericPointMaker::Init()
00026 {
00027
00028
00029
00030
00031 return StMaker::Init();
00032 }
00033
00034
00035 Int_t StEEmcGenericPointMaker::Make()
00036 {
00037
00038 return StMaker::Make();
00039 }
00040
00041
00042 void StEEmcGenericPointMaker::Clear(Option_t *opts)
00043 {
00044 StMaker::Clear();
00045 mKey=0;
00046 mPoints.clear();
00047 mSmdPoints.clear();
00048 mTowerPoints.clear();
00049 mPoint2cluster.clear();
00050 mCluster2points.clear();
00051 }
00052
00053
00054 void StEEmcGenericPointMaker::addPoint( const StEEmcPoint &point )
00055 {
00056 StEEmcPoint p = point;
00057 p.key(nextPointId());
00058 mPoints.push_back(p);
00059
00060
00061 StEEmcClusterVec_t myclusters = p.clusters(0);
00062 StEEmcCluster mycluster = myclusters[0];
00063
00064
00065 mPoint2cluster[ p.key() ] = mycluster;
00066
00067
00068
00069
00070 Int_t key=mycluster.key();
00071
00072 StEEmcPointVec_t mypoints;
00073 if ( !mCluster2points.count(key) ) mCluster2points[ key ] = mypoints;
00074
00075 mCluster2points[ key ].push_back(p);
00076
00077 }
00078
00079 void StEEmcGenericPointMaker::addSmdPoint( const StEEmcPoint &point )
00080 {
00081 StEEmcPoint p = point;
00082 p.key(nextPointId());
00083 mSmdPoints.push_back(p);
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104 }
00105
00106 void StEEmcGenericPointMaker::addTowerPoint( const StEEmcPoint &point )
00107 {
00108 StEEmcPoint p = point;
00109 p.key(nextPointId());
00110 mTowerPoints.push_back(p);
00111 mPoint2cluster[ p.key() ] = p.clusters(0)[0];
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125 }
00126
00127
00128 StEEmcPointVec_t StEEmcGenericPointMaker::buildPoints( const StEEmcClusterVec_t &tower, const StEEmcSmdClusterVec_t &smdu, const StEEmcSmdClusterVec_t &smdv )
00129 {
00130 StEEmcPointVec_t points;
00131 return points;
00132 }
00133
00134
00135 StEEmcPointVec_t StEEmcGenericPointMaker::buildSmdPoints( Int_t sector, const StEEmcSmdClusterVec_t &u, const StEEmcSmdClusterVec_t &v)
00136 {
00137 StEEmcPointVec_t points;
00138 return points;
00139 }
00140
00141
00142 StEEmcPointVec_t StEEmcGenericPointMaker::buildTowerPoints(Int_t sector, const StEEmcClusterVec_t &c )
00143 {
00144 StEEmcPointVec_t points;
00145 return points;
00146 }
00147
00148
00149 void StEEmcGenericPointMaker::fillStEvent()
00150 {
00151
00152 }