CMS 3D CMS Logo

Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Attributes

H4Geom Class Reference

#include <Geom.h>

List of all members.

Public Types

enum  GeomPeriod_t { Undef, Year2003, Spring2004, Automn2004 }
enum  SMGeom_t {
  kSModulesInEcal = 36, kModules = 4, kTriggerTowers = 68, kTTandMems = 70,
  kTowersInPhi = 4, kTowersInEta = 17, kCrystals = 1700, kCrystalsWithMems = 1750,
  kCrystalsM1 = 500, kCrystalsM2 = 400, kCrystalsM3 = 400, kCrystalsM4 = 400,
  kCrystalsInPhi = 20, kCrystalsInEta = 85, kCrystalsInEtaM1 = 25, kCrystalsInEtaM2 = 20,
  kCrystalsInEtaM3 = 20, kCrystalsInEtaM4 = 20, kCrystalsPerTower = 25, kCardsPerTower = 5,
  kChannelsPerCard = 5, kSamplesInEvent = 10, kSamplesInPNEvent = 50, kPNs = 10
}

Public Member Functions

void getCrystalCoord (int &eta, int &phi, int smCrystal) const
GeomPeriod_t GetGeomPeriod () const
int getHalf (int TT)
int getLeft (int smCrystal) const
int getLower (int smCrystal) const
int getRight (int smCrystal) const
int getSMCrystalFromCoord (int eta, int phi) const
int getSMCrystalNumber (int tower, int strip_id, int crystal_id) const
int getSMCrystalNumber (int tower, int crystal) const
void getTower (int *tower, int towerNb, std::string order="geom") const
int getTowerCrystalNumber (int smTowerNb, int crystalNbGeom) const
void getTowerCrystalNumber (int &tower, int &crystal, int smCrystal) const
void getTowerStripChannelNumber (int &tower, int &strip_id, int &crystal_id, int sm_num) const
int getUpper (int smCrystal) const
void getVFE (int *VFE, int smCrystal, std::string order="geom") const
void getWindow (int *window, int smCrystal, int width, int height) const
 H4Geom ()
bool init ()
bool isInFirstHalf (int numberInSM)
bool leftTower (int tower) const
void mvDown (int &eta, int &phi) const
void mvLeft (int &eta, int &phi) const
void mvRight (int &eta, int &phi) const
void mvUp (int &eta, int &phi) const
bool rightTower (int tower) const
virtual ~H4Geom ()

Static Public Member Functions

static void SetGeomPeriod (GeomPeriod_t geometry)

Private Member Functions

bool IsGeomPeriodDefined () const

Static Private Attributes

static const int crystalChannelMap [5][5]
static const int crystalMap [25]
static GeomPeriod_t geometry_
static const int WhichHalf [69]

Detailed Description

Definition at line 15 of file Geom.h.


Member Enumeration Documentation

Enumerator:
Undef 
Year2003 
Spring2004 
Automn2004 

Definition at line 19 of file Geom.h.

                    {
    Undef,      // Cause the program to crash
    Year2003,   // Test beam during 2003: SM0 and SM1
    Spring2004, // June-July 2004: E0' tests
    Automn2004  // Tests of one full supermodule
  };
Enumerator:
kSModulesInEcal 
kModules 
kTriggerTowers 
kTTandMems 
kTowersInPhi 
kTowersInEta 
kCrystals 
kCrystalsWithMems 
kCrystalsM1 
kCrystalsM2 
kCrystalsM3 
kCrystalsM4 
kCrystalsInPhi 
kCrystalsInEta 
kCrystalsInEtaM1 
kCrystalsInEtaM2 
kCrystalsInEtaM3 
kCrystalsInEtaM4 
kCrystalsPerTower 
kCardsPerTower 
kChannelsPerCard 
kSamplesInEvent 
kSamplesInPNEvent 
kPNs 

Definition at line 27 of file Geom.h.

                {
    kSModulesInEcal      = 36,   // Number of Super Modules in whole ECAL
    kModules                   = 4,    // Number of modules per supermodule
    kTriggerTowers         = 68,   // Number of trigger towers per supermodule
    kTTandMems            = 70,   // Number of tt per supermodule, including MEM boxes
    kTowersInPhi            = 4,    // Number of trigger towers in phi
    kTowersInEta            = 17,   // Number of trigger towers in eta
    kCrystals                   = 1700, // Number of crystals per supermodule
    kCrystalsWithMems           = 1750, // Number of channels per supermodule, mem included
    kCrystalsM1              = 500, // Number of crystals per supermodule
    kCrystalsM2              = 400, // Number of crystals per supermodule
    kCrystalsM3              = 400, // Number of crystals per supermodule
    kCrystalsM4              = 400, // Number of crystals per supermodule
    kCrystalsInPhi           = 20,   // Number of crystals in phi
    kCrystalsInEta           = 85,   // Number of crystals in eta
    kCrystalsInEtaM1      = 25,   // Number of crystals in eta for module 1
    kCrystalsInEtaM2      = 20,   // Number of crystals in eta for module 2
    kCrystalsInEtaM3      = 20,   // Number of crystals in eta for module 3
    kCrystalsInEtaM4      = 20,   // Number of crystals in eta for module 4
    kCrystalsPerTower   = 25,   // Number of crystals per trigger tower
    kCardsPerTower       = 5,    // Number of VFE cards per trigger tower
    kChannelsPerCard    =  5,     // Number of channels per VFE card
    kSamplesInEvent       =  10,    // Number of samples in event
    kSamplesInPNEvent  =  50,    // Number of samples in event
    kPNs                  = 10 // number of pn diode for laser monitoring (number [0,9])
  };

Constructor & Destructor Documentation

H4Geom::H4Geom ( )
virtual H4Geom::~H4Geom ( ) [virtual]

Member Function Documentation

void H4Geom::getCrystalCoord ( int &  eta,
int &  phi,
int  smCrystal 
) const

Referenced by isInFirstHalf().

GeomPeriod_t H4Geom::GetGeomPeriod ( ) const [inline]

Definition at line 177 of file Geom.h.

References geometry_.

{return geometry_;}
int H4Geom::getHalf ( int  TT)
int H4Geom::getLeft ( int  smCrystal) const
int H4Geom::getLower ( int  smCrystal) const
int H4Geom::getRight ( int  smCrystal) const
int H4Geom::getSMCrystalFromCoord ( int  eta,
int  phi 
) const
int H4Geom::getSMCrystalNumber ( int  tower,
int  crystal 
) const
int H4Geom::getSMCrystalNumber ( int  tower,
int  strip_id,
int  crystal_id 
) const
void H4Geom::getTower ( int *  tower,
int  towerNb,
std::string  order = "geom" 
) const
void H4Geom::getTowerCrystalNumber ( int &  tower,
int &  crystal,
int  smCrystal 
) const
int H4Geom::getTowerCrystalNumber ( int  smTowerNb,
int  crystalNbGeom 
) const
void H4Geom::getTowerStripChannelNumber ( int &  tower,
int &  strip_id,
int &  crystal_id,
int  sm_num 
) const
int H4Geom::getUpper ( int  smCrystal) const
void H4Geom::getVFE ( int *  VFE,
int  smCrystal,
std::string  order = "geom" 
) const
void H4Geom::getWindow ( int *  window,
int  smCrystal,
int  width,
int  height 
) const
bool H4Geom::init ( )
bool H4Geom::IsGeomPeriodDefined ( ) const [private]
bool H4Geom::isInFirstHalf ( int  numberInSM) [inline]

Definition at line 166 of file Geom.h.

References eta(), getCrystalCoord(), and phi.

  {
    int eta;   int phi; 
    getCrystalCoord(eta,phi, numberInSM);
    if (phi > 19 || eta < 20 )
      {return true; }
    else
      {return false; }
  };
bool H4Geom::leftTower ( int  tower) const
void H4Geom::mvDown ( int &  eta,
int &  phi 
) const
void H4Geom::mvLeft ( int &  eta,
int &  phi 
) const
void H4Geom::mvRight ( int &  eta,
int &  phi 
) const
void H4Geom::mvUp ( int &  eta,
int &  phi 
) const
bool H4Geom::rightTower ( int  tower) const
static void H4Geom::SetGeomPeriod ( GeomPeriod_t  geometry) [static]

Member Data Documentation

const int H4Geom::crystalChannelMap[5][5] [static, private]

Definition at line 185 of file Geom.h.

const int H4Geom::crystalMap[25] [static, private]

Definition at line 186 of file Geom.h.

GeomPeriod_t H4Geom::geometry_ [static, private]

Definition at line 188 of file Geom.h.

Referenced by GetGeomPeriod().

const int H4Geom::WhichHalf[69] [static, private]

Definition at line 187 of file Geom.h.