CMS 3D CMS Logo

Public Member Functions | Private Attributes

HTLogicalMapEntry Class Reference

#include <HcalMappingEntry.h>

List of all members.

Public Member Functions

const DetId getDetId () const
const HcalElectronicsId getHcalTrigElectronicsId () const
const uint32_t getLinearIndex () const
 HTLogicalMapEntry (int in_et, int in_ph, int in_sid, int in_dph, int in_dep, std::string in_s_chDet, int in_wed, int in_cr, int in_htr, int in_tb, int in_spig, int in_slb, std::string in_s_slb, std::string in_s_slb2, int in_ndat, std::string in_s_slnam, int in_rctcra, int in_rctcar, int in_rctcon, std::string in_s_rctnam, int in_fed)
 HTLogicalMapEntry ()
char * printLMapLine ()
 ~HTLogicalMapEntry ()

Private Attributes

uint32_t hcalTrigDetID_
uint32_t hcalTrigEID_
int mydepth_
std::string mydet_
int mydphi_
int myrctcar_
int myrctcon_
int myrctcra_
std::string myrctnam_
int myside_
std::string myslbin2_
std::string myslbin_
std::string myslnam_
int mywedge_

Detailed Description

Definition at line 163 of file HcalMappingEntry.h.


Constructor & Destructor Documentation

HTLogicalMapEntry::HTLogicalMapEntry ( ) [inline]

Definition at line 171 of file HcalMappingEntry.h.

{}
HTLogicalMapEntry::HTLogicalMapEntry ( int  in_et,
int  in_ph,
int  in_sid,
int  in_dph,
int  in_dep,
std::string  in_s_chDet,
int  in_wed,
int  in_cr,
int  in_htr,
int  in_tb,
int  in_spig,
int  in_slb,
std::string  in_s_slb,
std::string  in_s_slb2,
int  in_ndat,
std::string  in_s_slnam,
int  in_rctcra,
int  in_rctcar,
int  in_rctcon,
std::string  in_s_rctnam,
int  in_fed 
)

Definition at line 364 of file HcalMappingEntry.cc.

References HcalElectronicsId::rawId(), and DetId::rawId().

{
  myside_   = in_sid;
  mydphi_   = in_dph;
  mydepth_  = in_dep;
  mywedge_  = in_wed;
  myrctcra_ = in_rctcra;
  myrctcar_ = in_rctcar;
  myrctcon_ = in_rctcon;
  
  // string data members
  mydet_    = in_s_chDet;
  myslbin_  = in_s_slb;
  myslbin2_ = in_s_slb2;
  myslnam_  = in_s_slnam;
  myrctnam_ = in_s_rctnam;

  // necessary since LMap code makes top = 0, bottom = 1, but det ids have top = 1, bottom = 0
  int top = 1;
  in_tb == 1 ? top = 0 : top = 1;
  //create an hcal electronics id for the trigger tower, idea copied from CalibCalorimetry/HcalAlgos/src/HcalDBASCIIIO.cc
  HcalElectronicsId hteid( in_ndat, in_slb, in_spig, in_fed - 700, in_cr, in_htr, top );
  //HcalElectronicsId hteid( slbCh, slb, spigot, dcc, crate, slot, top );

  //create the hcal trigger tower det id
  HcalTrigTowerDetId htrigdid( in_et, in_ph );

  // store the different ids
  hcalTrigEID_   = hteid.rawId();
  hcalTrigDetID_ = htrigdid.rawId();

}
HTLogicalMapEntry::~HTLogicalMapEntry ( ) [inline]

Definition at line 179 of file HcalMappingEntry.h.

{}

Member Function Documentation

const DetId HTLogicalMapEntry::getDetId ( ) const [inline]

Definition at line 184 of file HcalMappingEntry.h.

References hcalTrigDetID_.

{return DetId(hcalTrigDetID_);}
const HcalElectronicsId HTLogicalMapEntry::getHcalTrigElectronicsId ( ) const [inline]

Definition at line 183 of file HcalMappingEntry.h.

References hcalTrigEID_.

const uint32_t HTLogicalMapEntry::getLinearIndex ( ) const [inline]
char * HTLogicalMapEntry::printLMapLine ( )

Definition at line 402 of file HcalMappingEntry.cc.

References HcalElectronicsId::dccid(), HcalElectronicsId::htrSlot(), HcalElectronicsId::htrTopBottom(), HcalTrigTowerDetId::ieta(), HcalTrigTowerDetId::iphi(), HcalElectronicsId::readoutVMECrateId(), HcalElectronicsId::slbChannelIndex(), HcalElectronicsId::slbSiteNumber(), and HcalElectronicsId::spigot().

                                       {
  static char myline[512];
  HcalElectronicsId hcaltrigeid(hcalTrigEID_);
  HcalTrigTowerDetId hcaltrigid(hcalTrigDetID_);
  HcalGenericDetId hcalgenid(hcalTrigDetID_);

  int mydcc_sl = 0;
  int mydcc    = 0;
  if ((hcaltrigeid.dccid()%2)==1) {
    mydcc_sl = 19;
    mydcc    = 2;
  } 
  else {
    mydcc_sl = 9;
    mydcc    = 1;
  } 

  string myfpga ="";
  ( hcaltrigeid.htrTopBottom()==0 ) ? myfpga = "bot" : myfpga = "top";

  sprintf(myline,"%1d %5d %4d %4d %5d %6d %4s %7d %6d ",0,myside_,hcaltrigid.ieta(),hcaltrigid.iphi(),mydphi_,mydepth_,mydet_.c_str(),mywedge_,hcaltrigeid.readoutVMECrateId());
  sprintf(myline+strlen(myline),"%4d %5s %7d %6d %4d %4d %6s %7s %5d ",hcaltrigeid.htrSlot(),myfpga.c_str(),mydcc_sl,hcaltrigeid.spigot(),mydcc,hcaltrigeid.slbSiteNumber(),myslbin_.c_str(),myslbin2_.c_str(),hcaltrigeid.slbChannelIndex());
  sprintf(myline+strlen(myline),"%13s %7d %7d %7d %17s %6d\n",myslnam_.c_str(),myrctcra_,myrctcar_,myrctcon_,myrctnam_.c_str(),hcaltrigeid.dccid()+700);

  return myline;
}

Member Data Documentation

Definition at line 190 of file HcalMappingEntry.h.

Referenced by getDetId().

uint32_t HTLogicalMapEntry::hcalTrigEID_ [private]

Definition at line 189 of file HcalMappingEntry.h.

Referenced by getHcalTrigElectronicsId(), and getLinearIndex().

Definition at line 193 of file HcalMappingEntry.h.

std::string HTLogicalMapEntry::mydet_ [private]

Definition at line 197 of file HcalMappingEntry.h.

Definition at line 193 of file HcalMappingEntry.h.

Definition at line 195 of file HcalMappingEntry.h.

Definition at line 195 of file HcalMappingEntry.h.

Definition at line 195 of file HcalMappingEntry.h.

std::string HTLogicalMapEntry::myrctnam_ [private]

Definition at line 197 of file HcalMappingEntry.h.

Definition at line 193 of file HcalMappingEntry.h.

std::string HTLogicalMapEntry::myslbin2_ [private]

Definition at line 197 of file HcalMappingEntry.h.

std::string HTLogicalMapEntry::myslbin_ [private]

Definition at line 197 of file HcalMappingEntry.h.

std::string HTLogicalMapEntry::myslnam_ [private]

Definition at line 197 of file HcalMappingEntry.h.

Definition at line 193 of file HcalMappingEntry.h.