CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 15 of file Geom.h.

Member Enumeration Documentation

Enumerator
Undef 
Year2003 
Spring2004 
Automn2004 

Definition at line 19 of file Geom.h.

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

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

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_.

177 {return geometry_;}
static GeomPeriod_t geometry_
Definition: Geom.h:188
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.

167  {
168  int eta; int phi;
169  getCrystalCoord(eta,phi, numberInSM);
170  if (phi > 19 || eta < 20 )
171  {return true; }
172  else
173  {return false; }
174  };
void getCrystalCoord(int &eta, int &phi, int smCrystal) const
T eta() const
Definition: DDAxes.h:10
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]
staticprivate

Definition at line 185 of file Geom.h.

const int H4Geom::crystalMap[25]
staticprivate

Definition at line 186 of file Geom.h.

GeomPeriod_t H4Geom::geometry_
staticprivate

Definition at line 188 of file Geom.h.

Referenced by GetGeomPeriod().

const int H4Geom::WhichHalf[69]
staticprivate

Definition at line 187 of file Geom.h.