00001
00002 #include "CalRecon/CalADCLogs.h"
00003
00004 CalADCLog::CalADCLog(int ilayer, int iview, int icolumn)
00005 :CalLogID(ilayer,iview,icolumn)
00006
00007 {
00008 clear();
00009 }
00010
00011
00012 CalADCLog::CalADCLog(int ilayer, int iview, int icolumn, idents::ModuleId mod)
00013 :CalLogID(ilayer,iview,icolumn, mod)
00014
00015 {
00016 clear();
00017 }
00018
00019 void CalADCLog::clear()
00020
00021 {
00022 for (int iside = 0 ; iside < CALNSIDES; iside++) {
00023 for (int irange = 0; irange < CALNRANGES ; irange++)
00024 m_ADC[iside][irange] = 0.;
00025 }
00026 }
00027
00028 void CalADCLog::writeOut() const
00029
00030 {
00031
00032 std::cout << logID() << " " << modId() << layer() << view() << column() << " ";
00033 std::cout << " PED ";
00034 for (int iside = 0; iside < CALNSIDES; iside++) {
00035 for (int irange = 0; irange < CALNRANGES; irange++)
00036 std::cout << m_ADC[iside][irange]<< " ";
00037 }
00038 std::cout<<"\n";
00039 }
00040
00041
00042 void CalADCLogs::ini(int nModX, int nModY, int nLogs, int nLayers)
00043
00044 {
00045 for (int iy = 1; iy <= nModY; iy++){
00046 for (int ix = 1; ix <= nModX; ix++){
00047 idents::ModuleId mod(ix,iy);
00048 for (int ilayer = 0; ilayer < nLayers; ilayer++) {
00049 for (int ilog = 0; ilog < nLogs; ilog++) {
00050 m_List.push_back(new CalADCLog(ilayer,CalDetGeo::Y,ilog,mod));
00051 m_List.push_back(new CalADCLog(ilayer,CalDetGeo::X,ilog,mod));
00052 }
00053 }
00054 }
00055 }
00056 }
00057
00058 CalADCLogs::~CalADCLogs()
00059
00060 {
00061 for (int ilog = 0; ilog < m_List.size(); ilog++) delete m_List[ilog];
00062 }
00063
00064 void CalADCLogs::clear()
00065
00066 {
00067 for (int ilog = 0; ilog < m_List.size(); ilog++) {
00068 m_List[ilog]->clear();
00069 }
00070 }
00071
00072 CalADCLog* CalADCLogs::getLogID(int logID) const
00073
00074 {
00075 int jlog = -1;
00076 for (int ilog = 0; ilog < m_List.size(); ilog++) {
00077 if (m_List[ilog]->logID() == logID) {
00078 jlog = ilog;
00079 break;
00080 }
00081 }
00082 return m_List[jlog];
00083 }
00084
00085
00086 void CalADCLogs::writeOut() const
00087
00088 {
00089 if (m_List.size()<=0) return;
00090
00091
00092 std::cout << " CalADCLogs " << m_List.size() <<"\n";
00093 for (int i = 0; i < m_List.size();i++) {
00094 Log(i)->writeOut();
00095 }
00096 }