00001 #include "SimPmtTimeBucket.h"
00002
00003 #include "Digitization/DigiPE.h"
00004
00005 #include "MessageService/MsgService.h"
00006
00007 CVSID("$Id: SimPmtTimeBucket.cxx,v 1.7 2005/02/02 16:00:33 tagg Exp $");
00008 ClassImp(SimPmtTimeBucket)
00009
00010
00011 SimPmtTimeBucket::SimPmtTimeBucket() :
00012 fNPixels(0),
00013 fPixels(SimPixelTimeBucket::Class(),0),
00014 fTotalCharge(0),
00015 fDynodeTime(kPmtTime_Never)
00016 {
00017
00018
00019 MSG("DetSim",Msg::kError) << "SimPmtTimeBucket default constructor called.. this should never happen!" << endl;
00020 }
00021
00022 SimPmtTimeBucket::SimPmtTimeBucket( int nPixels, int nSpots ) :
00023 fNPixels(nPixels),
00024 fPixels(SimPixelTimeBucket::Class(),nPixels),
00025 fTotalCharge(0),
00026 fDynodeTime(kPmtTime_Never)
00027 {
00028
00029
00030
00031
00032 for(int i=0;i<fNPixels;i++) {
00033 new(fPixels[i]) SimPixelTimeBucket(nSpots);
00034 }
00035
00036
00037 }
00038
00039 SimPmtTimeBucket::~SimPmtTimeBucket()
00040 {
00041
00042
00043 fPixels.Delete();
00044
00045 }
00046
00047
00048 void SimPmtTimeBucket::AddDigiPE( const DigiPE* digipe, Int_t pix, Int_t spot )
00049 {
00050
00051
00052
00053
00054
00055
00056
00057 if((pix >0) && (pix <= fNPixels)) {
00058 ((SimPixelTimeBucket*)(fPixels[pix-1]))->AddDigiPE(digipe,spot);
00059 } else {
00060 MSG("DetSim",Msg::kWarning) << "AddDigiPE() Invalid pixel number " << pix << " psid:" << digipe->GetPixelSpotId().AsString() << endl;
00061 }
00062 }