00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #include "StEmcModule.h"
00030 #include "StEmcRawHit.h"
00031 #include <TBrowser.h>
00032
00033
00034 static const char rcsid[] = "$Id: StEmcModule.cxx,v 2.5 2011/09/06 21:33:02 ullrich Exp $";
00035
00036 ClassImp(StEmcModule)
00037
00038 StEmcModule::StEmcModule() { }
00039
00040 StEmcModule::~StEmcModule() { }
00041
00042 unsigned int
00043 StEmcModule::numberOfHits() const {return mHits.size();}
00044
00045 void
00046 StEmcModule::printNumberOfHits() const
00047 {
00048 if(numberOfHits()==0) printf(" ** no hits ** : module number is unknown **");
00049 else printf(" m %i : nhits %i\n", mHits[0]->module(), numberOfHits());
00050 return;
00051 }
00052
00053 double
00054 StEmcModule::getEnergy(const int pri) const
00055 {
00056 float eM=0., e=0.;
00057 int det;
00058 if(mHits.size()>0) {
00059 det = mHits[0]->detector()-kBarrelEmcTowerIdentifier + 1;
00060 for(unsigned int i=0; i<mHits.size(); i++) {
00061 e = mHits[i]->energy();
00062 eM += e;
00063 if(pri>1) {
00064 int id = mHits[i]->softId(det);
00065 printf(" %3i hits : id %i : adc %i : e %9.4f",
00066 i+1, id, mHits[i]->adc(), e);
00067 if(e<=0) printf(" !!");
00068 printf("\n");
00069 }
00070 }
00071 if(pri>0) printf("det %i : m %i : Energy %9.3f GeV/C\n",
00072 det, mHits[0]->module(), eM);
00073 }
00074 return eM;
00075 }
00076
00077 const StSPtrVecEmcRawHit&
00078 StEmcModule::hits() const { return mHits; }
00079
00080 StSPtrVecEmcRawHit&
00081 StEmcModule::hits() {return mHits; }
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093 bool StEmcModule::IsFolder() const
00094 {
00095 if(mHits.size()>0) return kTRUE;
00096 else return kFALSE;
00097 }