CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Attributes
H4Geom Class Reference

#include <Geom.h>

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 crystal) const
 
int getSMCrystalNumber (int tower, int strip_id, int crystal_id) const
 
void getTower (int *tower, int towerNb, std::string order="geom") const
 
void getTowerCrystalNumber (int &tower, int &crystal, int smCrystal) const
 
int getTowerCrystalNumber (int smTowerNb, int crystalNbGeom) 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 13 of file Geom.h.

Member Enumeration Documentation

Enumerator
Undef 
Year2003 
Spring2004 
Automn2004 

Definition at line 17 of file Geom.h.

17  {
18  Undef, // Cause the program to crash
19  Year2003, // Test beam during 2003: SM0 and SM1
20  Spring2004, // June-July 2004: E0' tests
21  Automn2004 // Tests of one full supermodule
22  };
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 25 of file Geom.h.

25  {
26  kSModulesInEcal = 36, // Number of Super Modules in whole ECAL
27  kModules = 4, // Number of modules per supermodule
28  kTriggerTowers = 68, // Number of trigger towers per supermodule
29  kTTandMems = 70, // Number of tt per supermodule, including MEM boxes
30  kTowersInPhi = 4, // Number of trigger towers in phi
31  kTowersInEta = 17, // Number of trigger towers in eta
32  kCrystals = 1700, // Number of crystals per supermodule
33  kCrystalsWithMems = 1750, // Number of channels per supermodule, mem included
34  kCrystalsM1 = 500, // Number of crystals per supermodule
35  kCrystalsM2 = 400, // Number of crystals per supermodule
36  kCrystalsM3 = 400, // Number of crystals per supermodule
37  kCrystalsM4 = 400, // Number of crystals per supermodule
38  kCrystalsInPhi = 20, // Number of crystals in phi
39  kCrystalsInEta = 85, // Number of crystals in eta
40  kCrystalsInEtaM1 = 25, // Number of crystals in eta for module 1
41  kCrystalsInEtaM2 = 20, // Number of crystals in eta for module 2
42  kCrystalsInEtaM3 = 20, // Number of crystals in eta for module 3
43  kCrystalsInEtaM4 = 20, // Number of crystals in eta for module 4
44  kCrystalsPerTower = 25, // Number of crystals per trigger tower
45  kCardsPerTower = 5, // Number of VFE cards per trigger tower
46  kChannelsPerCard = 5, // Number of channels per VFE card
47  kSamplesInEvent = 10, // Number of samples in event
48  kSamplesInPNEvent = 50, // Number of samples in event
49  kPNs = 10 // number of pn diode for laser monitoring (number [0,9])
50  };

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 175 of file Geom.h.

References geometry_, getHalf(), IsGeomPeriodDefined(), and SetGeomPeriod().

175 {return geometry_;}
static GeomPeriod_t geometry_
Definition: Geom.h:186
int H4Geom::getHalf ( int  TT)

Referenced by GetGeomPeriod().

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

Referenced by GetGeomPeriod().

bool H4Geom::isInFirstHalf ( int  numberInSM)
inline

Definition at line 164 of file Geom.h.

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

165  {
166  int eta; int phi;
167  getCrystalCoord(eta,phi, numberInSM);
168  if (phi > 19 || eta < 20 )
169  {return true; }
170  else
171  {return false; }
172  };
void getCrystalCoord(int &eta, int &phi, int smCrystal) const
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

Referenced by GetGeomPeriod().

Member Data Documentation

const int H4Geom::crystalChannelMap[5][5]
staticprivate

Definition at line 183 of file Geom.h.

const int H4Geom::crystalMap[25]
staticprivate

Definition at line 184 of file Geom.h.

GeomPeriod_t H4Geom::geometry_
staticprivate

Definition at line 186 of file Geom.h.

Referenced by GetGeomPeriod().

const int H4Geom::WhichHalf[69]
staticprivate

Definition at line 185 of file Geom.h.