CMS 3D CMS Logo

Classes | Public Member Functions | Protected Member Functions | Private Attributes

HcalCellType Class Reference

#include <HcalCellType.h>

List of all members.

Classes

struct  HcalCell

Public Member Functions

int actualReadoutDirection () const
double depth () const
 z or r position, depending on whether it's barrel or endcap
double depthMax () const
double depthMin () const
int depthSegment () const
bool depthType () const
HcalSubdetector detType () const
int etaBin () const
 which eta ring it belongs to, starting from one
double etaMax () const
 cell edge, always positive & greater than etaMin
double etaMin () const
 lower cell edge. Always positive
double halfSize () const
 HcalCellType (HcalSubdetector detType, int etaBin, int phiBin, int depthSegment, HcalCell cell, int readoutDirection, double samplingFactor, int numberZ, int nmodule, double halfSize, int units)
 HcalCellType (const HcalCellType &)
std::vector< int > missingPhiMinus () const
std::vector< int > missingPhiPlus () const
 missing phi rings
int nHalves () const
 Number of halves (forward/backward)
int nPhiBins () const
 the number of these cells in a ring
int nPhiMissingBins () const
int nPhiModule () const
double phiBinWidth () const
 phi bin width, in degrees
double phiOffset () const
 phi offset in degrees
double samplingFactor () const
 ratio of real particle energy to deposited energy in the SimHi
void setMissingPhi (std::vector< int >, std::vector< int >)
int unitPhi () const
 ~HcalCellType ()

Protected Member Functions

 HcalCellType ()

Private Attributes

int theActualReadoutDirection
double theDepthMax
double theDepthMin
int theDepthSegment
HcalSubdetector theDetType
int theEtaBin
double theEtaMax
double theEtaMin
double theHalfSize
std::vector< int > theMissingPhiMinus
std::vector< int > theMissingPhiPlus
int theNumberOfPhiBins
int theNumberOfZ
double thePhiBinWidth
double thePhiOffset
bool theRzFlag
double theSamplingFactor
int theUnitPhi

Detailed Description

Definition at line 12 of file HcalCellType.h.


Constructor & Destructor Documentation

HcalCellType::HcalCellType ( HcalSubdetector  detType,
int  etaBin,
int  phiBin,
int  depthSegment,
HcalCellType::HcalCell  cell,
int  readoutDirection,
double  samplingFactor,
int  numberZ,
int  nmodule,
double  halfSize,
int  units 
)

Definition at line 11 of file HcalCellType.cc.

References HcalCellType::HcalCell::deta, HcalCellType::HcalCell::dphi, HcalCellType::HcalCell::drz, HcalCellType::HcalCell::eta, HcalCellType::HcalCell::flagrz, HcalCellType::HcalCell::phi, HcalCellType::HcalCell::rz, theDepthMax, theDepthMin, theEtaMax, theEtaMin, theHalfSize, theNumberOfPhiBins, thePhiBinWidth, thePhiOffset, and theRzFlag.

                                      :
  theDetType(detType), theEtaBin(etaBin), theDepthSegment(depthSegment),
  theNumberOfZ(numberZ), theActualReadoutDirection(readoutDirection), 
  theUnitPhi(units), theSamplingFactor(samplingFactor){

  theEtaMin   = cell.eta - cell.deta;
  theEtaMax   = cell.eta + cell.deta;
  theRzFlag   = cell.flagrz;
  theDepthMin = (cell.rz  - cell.drz)/CLHEP::cm;
  theDepthMax = (cell.rz  + cell.drz)/CLHEP::cm;
  int nphi           = (int)(10*CLHEP::deg/cell.dphi);
  theNumberOfPhiBins = nphi*nmodule;
  double phimin      = cell.phi - cell.dphi;
  thePhiOffset       = (phimin - 2*(phiBin-1)*cell.dphi)/CLHEP::deg;
  thePhiBinWidth     = 2*(cell.dphi)/CLHEP::deg;
  theHalfSize        = halfSize/CLHEP::cm;
}
HcalCellType::HcalCellType ( const HcalCellType right)
HcalCellType::~HcalCellType ( )

Definition at line 55 of file HcalCellType.cc.

{}
HcalCellType::HcalCellType ( ) [protected]

Member Function Documentation

int HcalCellType::actualReadoutDirection ( ) const [inline]

which cell will actually do the readout for this cell 1 means move hits in this cell up, and -1 means down 0 means do nothing

Definition at line 64 of file HcalCellType.h.

References theActualReadoutDirection.

Referenced by operator<<().

double HcalCellType::depth ( ) const [inline]

z or r position, depending on whether it's barrel or endcap

Definition at line 73 of file HcalCellType.h.

References theDepthMax, and theDepthMin.

{return (theDepthMin+theDepthMax)/2;}
double HcalCellType::depthMax ( ) const [inline]

Definition at line 75 of file HcalCellType.h.

References theDepthMax.

Referenced by HcalDDDGeometryLoader::makeCell(), and operator<<().

{return theDepthMax;}
double HcalCellType::depthMin ( ) const [inline]

Definition at line 74 of file HcalCellType.h.

References theDepthMin.

Referenced by HcalDDDGeometryLoader::makeCell(), and operator<<().

{return theDepthMin;}
int HcalCellType::depthSegment ( ) const [inline]

which depth segment it is, starting from 1 absolute within the tower, so HE depth of the overlap doesn't start at 1.

Definition at line 45 of file HcalCellType.h.

References theDepthSegment.

Referenced by operator<<().

{return theDepthSegment;}
bool HcalCellType::depthType ( ) const [inline]

Definition at line 76 of file HcalCellType.h.

References theRzFlag.

Referenced by HcalDDDGeometryLoader::makeCell(), and operator<<().

{return theRzFlag;}
HcalSubdetector HcalCellType::detType ( ) const [inline]

1=HB, 2=HE, 3=HO, 4=HF (sub detector type) as in DataFormats/HcalDetId/interface/HcalSubdetector.h

Definition at line 37 of file HcalCellType.h.

References theDetType.

Referenced by operator<<().

{return theDetType;}
int HcalCellType::etaBin ( ) const [inline]

which eta ring it belongs to, starting from one

Definition at line 40 of file HcalCellType.h.

References theEtaBin.

Referenced by operator<<().

{return theEtaBin;}
double HcalCellType::etaMax ( ) const [inline]

cell edge, always positive & greater than etaMin

Definition at line 70 of file HcalCellType.h.

References theEtaMax.

Referenced by HcalDDDGeometryLoader::makeCell(), and operator<<().

{return theEtaMax;}
double HcalCellType::etaMin ( ) const [inline]

lower cell edge. Always positive

Definition at line 67 of file HcalCellType.h.

References theEtaMin.

Referenced by HcalDDDGeometryLoader::makeCell(), and operator<<().

{return theEtaMin;}
double HcalCellType::halfSize ( ) const [inline]

Definition at line 77 of file HcalCellType.h.

References theHalfSize.

Referenced by HcalDDDGeometryLoader::makeCell(), and operator<<().

{return theHalfSize;}
std::vector<int> HcalCellType::missingPhiMinus ( ) const [inline]

Definition at line 84 of file HcalCellType.h.

References theMissingPhiMinus.

Referenced by operator<<().

std::vector<int> HcalCellType::missingPhiPlus ( ) const [inline]

missing phi rings

Definition at line 83 of file HcalCellType.h.

References theMissingPhiPlus.

Referenced by operator<<().

int HcalCellType::nHalves ( ) const [inline]

Number of halves (forward/backward)

Definition at line 59 of file HcalCellType.h.

References theNumberOfZ.

Referenced by operator<<().

{return theNumberOfZ;}
int HcalCellType::nPhiBins ( ) const [inline]

the number of these cells in a ring

Definition at line 48 of file HcalCellType.h.

References theNumberOfPhiBins.

Referenced by operator<<().

int HcalCellType::nPhiMissingBins ( ) const

Definition at line 62 of file HcalCellType.cc.

References theMissingPhiMinus, theMissingPhiPlus, theNumberOfZ, and tmp.

                                        {
  int tmp = (int)(theMissingPhiPlus.size());
  if (theNumberOfZ > 1)  tmp += (int)(theMissingPhiMinus.size());
  return tmp;
}
int HcalCellType::nPhiModule ( ) const [inline]

Definition at line 49 of file HcalCellType.h.

References thePhiBinWidth.

Referenced by operator<<().

{return static_cast<int>(20./thePhiBinWidth);}
double HcalCellType::phiBinWidth ( ) const [inline]

phi bin width, in degrees

Definition at line 52 of file HcalCellType.h.

References thePhiBinWidth.

Referenced by operator<<().

{return thePhiBinWidth;}
double HcalCellType::phiOffset ( ) const [inline]

phi offset in degrees

Definition at line 55 of file HcalCellType.h.

References thePhiOffset.

Referenced by operator<<().

{return thePhiOffset;}
double HcalCellType::samplingFactor ( ) const [inline]

ratio of real particle energy to deposited energy in the SimHi

Definition at line 80 of file HcalCellType.h.

References theSamplingFactor.

Referenced by operator<<().

void HcalCellType::setMissingPhi ( std::vector< int >  v1,
std::vector< int >  v2 
)

Definition at line 57 of file HcalCellType.cc.

References theMissingPhiMinus, and theMissingPhiPlus.

Referenced by HcalNumberingFromDDD::HcalCellTypes().

int HcalCellType::unitPhi ( ) const [inline]

Definition at line 56 of file HcalCellType.h.

References theUnitPhi.

Referenced by operator<<().

{return theUnitPhi;}

Member Data Documentation

Definition at line 98 of file HcalCellType.h.

Referenced by actualReadoutDirection(), and HcalCellType().

double HcalCellType::theDepthMax [private]

Definition at line 108 of file HcalCellType.h.

Referenced by depth(), depthMax(), and HcalCellType().

double HcalCellType::theDepthMin [private]

Definition at line 107 of file HcalCellType.h.

Referenced by depth(), depthMin(), and HcalCellType().

Definition at line 95 of file HcalCellType.h.

Referenced by depthSegment(), and HcalCellType().

Definition at line 93 of file HcalCellType.h.

Referenced by detType(), and HcalCellType().

int HcalCellType::theEtaBin [private]

Definition at line 94 of file HcalCellType.h.

Referenced by etaBin(), and HcalCellType().

double HcalCellType::theEtaMax [private]

Definition at line 104 of file HcalCellType.h.

Referenced by etaMax(), and HcalCellType().

double HcalCellType::theEtaMin [private]

Definition at line 103 of file HcalCellType.h.

Referenced by etaMin(), and HcalCellType().

double HcalCellType::theHalfSize [private]

Definition at line 109 of file HcalCellType.h.

Referenced by halfSize(), and HcalCellType().

std::vector<int> HcalCellType::theMissingPhiMinus [private]

Definition at line 113 of file HcalCellType.h.

Referenced by HcalCellType(), missingPhiMinus(), nPhiMissingBins(), and setMissingPhi().

std::vector<int> HcalCellType::theMissingPhiPlus [private]

Definition at line 112 of file HcalCellType.h.

Referenced by HcalCellType(), missingPhiPlus(), nPhiMissingBins(), and setMissingPhi().

Definition at line 96 of file HcalCellType.h.

Referenced by HcalCellType(), and nPhiBins().

Definition at line 97 of file HcalCellType.h.

Referenced by HcalCellType(), nHalves(), and nPhiMissingBins().

double HcalCellType::thePhiBinWidth [private]

Definition at line 106 of file HcalCellType.h.

Referenced by HcalCellType(), nPhiModule(), and phiBinWidth().

double HcalCellType::thePhiOffset [private]

Definition at line 105 of file HcalCellType.h.

Referenced by HcalCellType(), and phiOffset().

bool HcalCellType::theRzFlag [private]

Definition at line 101 of file HcalCellType.h.

Referenced by depthType(), and HcalCellType().

Definition at line 110 of file HcalCellType.h.

Referenced by HcalCellType(), and samplingFactor().

int HcalCellType::theUnitPhi [private]

Definition at line 99 of file HcalCellType.h.

Referenced by HcalCellType(), and unitPhi().