EmcCalibTowerv1.C

Go to the documentation of this file.
00001 #include "EmcCalibTowerv1.h"
00002 #include "EmcSnglCalibTowerv1.h"
00003 #include "dEmcCalibTowerWrapper.h"
00004 //INCLUDECHECKER: Removed this line: #include "phool.h"
00005 #include "TClonesArray.h"
00006 #include <iostream>
00007 
00008 ClassImp(EmcCalibTowerv1);
00009 
00010 using namespace std;
00011 
00012 static const unsigned int EMCNTOWER = 200;
00013 
00014 EmcCalibTowerv1::EmcCalibTowerv1()
00015 {
00016   EmcNTower = 0;
00017   EmcTower = new TClonesArray("EmcSnglCalibTowerv1",EMCNTOWER);
00018   return;
00019 }
00020 
00021 EmcCalibTowerv1::~EmcCalibTowerv1()
00022 {
00023   EmcTower->Clear();
00024   return;
00025 }
00026 
00027 void EmcCalibTowerv1::identify(ostream& os) const
00028 {
00029   os << "identify yourself: EmcCalibTowerv1 Object" << endl;
00030   os << "No of Towers: " << EmcNTower << endl;
00031   return;
00032 }
00033 
00034 void EmcCalibTowerv1::Reset()
00035 {
00036   EmcTower->Clear();
00037   if (EmcNTower>EMCNTOWER)
00038     {
00039       EmcTower->Expand(EMCNTOWER);
00040     }
00041   EmcNTower = 0;
00042   return;
00043 }
00044 
00045 int EmcCalibTowerv1::isValid() const
00046 {
00047   return((EmcNTower>0) ? 1 : 0);
00048 }
00049 
00050 void EmcCalibTowerv1::FillFromWrapper(dEmcCalibTowerWrapper *wrap)
00051 {
00052   unsigned int iclus;
00053   int index;
00054   if (wrap)
00055     {
00056       EmcNTower = wrap->RowCount();
00057       set_TClonesArraySize(wrap->RowCount());
00058       for (iclus = 0;iclus < wrap->RowCount();iclus++)
00059         {
00060           AddEmcTower(iclus);
00061           set_id(iclus, wrap->get_id(iclus));
00062           set_type(iclus, wrap->get_type(iclus));
00063 
00064           set_deadmap(iclus, wrap->get_deadmap(iclus));
00065           set_hwkey(iclus, wrap->get_hwkey(iclus));
00066           index = 100000 * wrap->get_arm(iclus) +
00067             10000 * wrap->get_sector(iclus) +
00068             100 * wrap->get_ind(1, iclus) +
00069             wrap->get_ind(0, iclus);
00070           set_index(iclus,index);
00071           set_swkey(iclus, wrap->get_swkey(iclus));
00072           set_warnmap(iclus, wrap->get_warnmap(iclus));
00073 
00074           set_adc(iclus, wrap->get_adc(iclus));
00075           set_ecal(iclus, wrap->get_ecal(iclus));
00076           set_tac(iclus, wrap->get_tac(iclus));
00077           set_tof(iclus, wrap->get_tof(iclus));
00078         }
00079     }
00080   return;
00081 }
00082 
00083 int EmcCalibTowerv1::set_TClonesArraySize(const unsigned int ntower)
00084 {
00085   if (ntower > EMCNTOWER)
00086     {
00087       EmcTower->Expand(ntower);
00088     }
00089   return ntower;
00090 }
00091 
00092 void  EmcCalibTowerv1::AddEmcTower(const unsigned int itower)
00093 {
00094   TClonesArray &emctower = *EmcTower;
00095   new(emctower[itower]) EmcSnglCalibTowerv1();
00096   return;
00097 }
00098 
00099 short EmcCalibTowerv1::get_arm(const unsigned int itower) const
00100 {
00101   
00102   int key=get_index(itower);
00103   return key/100000;
00104   
00105 }
00106 
00107 short EmcCalibTowerv1::get_sector(const unsigned int itower) const
00108 {
00109 
00110   int key=get_index(itower);
00111   return (key%100000)/10000;
00112 
00113 }
00114 
00115 short EmcCalibTowerv1::get_ind(const unsigned int itower, const short i) const
00116 {
00117   // i==0 corresponds to the X direction in the local EMC sector frame
00118   // (which coincides with the Z direction in the global PHENIX frame)
00119   // i==1 corresponds to the Y direction in the local EMC sector fram
00120 
00121   int key=get_index(itower);
00122 
00123   if(i==0) return key%100;
00124   else if(i==1) return (key%10000)/100;
00125 
00126   cerr<<PHWHERE<<"index "<<i<<"out of range"<<endl;
00127   return -999;
00128 
00129 }
00130 
00131 short EmcCalibTowerv1::get_id(const unsigned int itower) const
00132 {
00133 
00134   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00135   return((emcclus) ? emcclus->get_id() : -999);
00136 }
00137 
00138 void EmcCalibTowerv1::set_id(const unsigned int itower, const short ival)
00139 {
00140   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00141   if (emcclus)
00142     {
00143       emcclus->set_id(ival);
00144     }
00145   else
00146     {
00147       cout << PHWHERE << "ERROR no EmcSnglCalibTowerv1 object found" << endl;
00148     }
00149   return;
00150 }
00151 
00152 
00153 short EmcCalibTowerv1::get_type(const unsigned int itower) const
00154 {
00155 
00156   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00157   return((emcclus) ? emcclus->get_type() : -999);
00158 }
00159 
00160 void EmcCalibTowerv1::set_type(const unsigned int itower, const short ival)
00161 {
00162   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00163   if (emcclus)
00164     {
00165       emcclus->set_type(ival);
00166     }
00167   else
00168     {
00169       cout << PHWHERE << "ERROR no EmcSnglCalibTowerv1 object found" << endl;
00170     }
00171   return;
00172 }
00173 
00174 int EmcCalibTowerv1::get_deadmap(const unsigned int itower) const
00175 {
00176 
00177   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00178   return((emcclus) ? emcclus->get_deadmap() : -999);
00179 }
00180 
00181 void EmcCalibTowerv1::set_deadmap(const unsigned int itower, const int ival)
00182 {
00183   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00184   if (emcclus)
00185     {
00186       emcclus->set_deadmap(ival);
00187     }
00188   else
00189     {
00190       cout << PHWHERE << "ERROR no EmcSnglCalibTowerv1 object found" << endl;
00191     }
00192   return;
00193 }
00194 
00195 int EmcCalibTowerv1::get_hwkey(const unsigned int itower) const
00196 {
00197 
00198   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00199   return((emcclus) ? emcclus->get_hwkey() : -999);
00200 }
00201 
00202 void EmcCalibTowerv1::set_hwkey(const unsigned int itower, const int ival)
00203 {
00204   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00205   if (emcclus)
00206     {
00207       emcclus->set_hwkey(ival);
00208     }
00209   else
00210     {
00211       cout << PHWHERE << "ERROR no EmcSnglCalibTowerv1 object found" << endl;
00212     }
00213   return;
00214 }
00215 
00216 int EmcCalibTowerv1::get_index(const unsigned int itower) const
00217 {
00218 
00219   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00220   return((emcclus) ? emcclus->get_index() : -999);
00221 }
00222 
00223 void EmcCalibTowerv1::set_index(const unsigned int itower, const int ival)
00224 {
00225   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00226   if (emcclus)
00227     {
00228       emcclus->set_index(ival);
00229     }
00230   else
00231     {
00232       cout << PHWHERE << "ERROR no EmcSnglCalibTowerv1 object found" << endl;
00233     }
00234   return;
00235 }
00236 
00237 int EmcCalibTowerv1::get_swkey(const unsigned int itower) const
00238 {
00239 
00240   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00241   return((emcclus) ? emcclus->get_swkey() : -999);
00242 }
00243 
00244 void EmcCalibTowerv1::set_swkey(const unsigned int itower, const int ival)
00245 {
00246   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00247   if (emcclus)
00248     {
00249       emcclus->set_swkey(ival);
00250     }
00251   else
00252     {
00253       cout << PHWHERE << "ERROR no EmcSnglCalibTowerv1 object found" << endl;
00254     }
00255   return;
00256 }
00257 
00258 int EmcCalibTowerv1::get_warnmap(const unsigned int itower) const
00259 {
00260 
00261   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00262   return((emcclus) ? emcclus->get_warnmap() : -999);
00263 }
00264 
00265 void EmcCalibTowerv1::set_warnmap(const unsigned int itower, const int ival)
00266 {
00267   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00268   if (emcclus)
00269     {
00270       emcclus->set_warnmap(ival);
00271     }
00272   else
00273     {
00274       cout << PHWHERE << "ERROR no EmcSnglCalibTowerv1 object found" << endl;
00275     }
00276   return;
00277 }
00278 
00279 float EmcCalibTowerv1::get_adc(const unsigned int itower) const
00280 {
00281 
00282   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00283   return((emcclus) ? emcclus->get_adc() : -9999.9);
00284 }
00285 
00286 void EmcCalibTowerv1::set_adc(const unsigned int itower, const float rval)
00287 {
00288   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00289   if (emcclus)
00290     {
00291       emcclus->set_adc(rval);
00292     }
00293   else
00294     {
00295       cout << PHWHERE << "ERROR no EmcSnglCalibTowerv1 object found" << endl;
00296     }
00297   return;
00298 }
00299 
00300 float EmcCalibTowerv1::get_ecal(const unsigned int itower) const
00301 {
00302 
00303   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00304   return((emcclus) ? emcclus->get_ecal() : -9999.9);
00305 }
00306 
00307 void EmcCalibTowerv1::set_ecal(const unsigned int itower, const float rval)
00308 {
00309   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00310   if (emcclus)
00311     {
00312       emcclus->set_ecal(rval);
00313     }
00314   else
00315     {
00316       cout << PHWHERE << "ERROR no EmcSnglCalibTowerv1 object found" << endl;
00317     }
00318   return;
00319 }
00320 
00321 
00322 float EmcCalibTowerv1::get_tac(const unsigned int itower) const
00323 {
00324 
00325   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00326   return((emcclus) ? emcclus->get_tac() : -9999.9);
00327 }
00328 
00329 void EmcCalibTowerv1::set_tac(const unsigned int itower, const float rval)
00330 {
00331   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00332   if (emcclus)
00333     {
00334       emcclus->set_tac(rval);
00335     }
00336   else
00337     {
00338       cout << PHWHERE << "ERROR no EmcSnglCalibTowerv1 object found" << endl;
00339     }
00340   return;
00341 }
00342 
00343 float EmcCalibTowerv1::get_tof(const unsigned int itower) const
00344 {
00345 
00346   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00347   return((emcclus) ? emcclus->get_tof() : -9999.9);
00348 }
00349 
00350 void EmcCalibTowerv1::set_tof(const unsigned int itower, const float rval)
00351 {
00352   EmcSnglCalibTowerv1 *emcclus = (EmcSnglCalibTowerv1 *) GetEmcTower()->UncheckedAt(itower);
00353   if (emcclus)
00354     {
00355       emcclus->set_tof(rval);
00356     }
00357   else
00358     {
00359       cout << PHWHERE << "ERROR no EmcSnglCalibTowerv1 object found" << endl;
00360     }
00361   return;
00362 }