CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
MagGeoBuilderFromDDD::eLayer Class Reference

#include <eLayer.h>

Public Member Functions

MagELayerbuildMagELayer () const
 Construct the MagELayer upon request. More...
 
 eLayer (handles::const_iterator begin, handles::const_iterator end)
 Constructor from list of volumes. More...
 
 ~eLayer ()
 Destructor. More...
 

Private Attributes

MagELayermlayer
 
handles theVolumes
 

Detailed Description

A layer of volumes in an endcap sector.

Date:
2005/09/27 15:15:52
Revision:
1.2
Author
N. Amapane - INFN Torino

Definition at line 18 of file eLayer.h.

Constructor & Destructor Documentation

MagGeoBuilderFromDDD::eLayer::eLayer ( handles::const_iterator  begin,
handles::const_iterator  end 
)

Constructor from list of volumes.

Definition at line 21 of file eLayer.cc.

References precomputed_value_sort(), and theVolumes.

22  :
24  mlayer(0)
25 {
26  // bool debug=MagGeoBuilderFromDDD::debug;
27 
28  // Sort in R
29  precomputed_value_sort(theVolumes.begin(), theVolumes.end(), ExtractR());
30 
31 // if (debug) {
32 // cout << " elements: " << theVolumes.size() << " unique volumes: ";
33 // volumeHandle::printUniqueNames(theVolumes.begin(), theVolumes.end());
34 // }
35 }
#define end
Definition: vmac.h:38
#define begin
Definition: vmac.h:31
void precomputed_value_sort(RandomAccessIterator begin, RandomAccessIterator end, const Extractor &extr)
MagGeoBuilderFromDDD::eLayer::~eLayer ( )

Destructor.

Definition at line 37 of file eLayer.cc.

37 {}

Member Function Documentation

MagELayer * MagGeoBuilderFromDDD::eLayer::buildMagELayer ( ) const

Construct the MagELayer upon request.

Definition at line 49 of file eLayer.cc.

References max(), and min.

49  {
50  if (mlayer==0) {
51  //FIXME not guaranteed that all volumes in layer have the same zmin
52  // and zmax!
53  double zmin = 1e19;
54  double zmax = -1e19;
55  vector<MagVolume*> mVols;
56  for (handles::const_iterator vol = theVolumes.begin();
57  vol!=theVolumes.end(); ++vol) {
58  mVols.push_back((*vol)->magVolume);
59  zmin = min(zmin, (*vol)->minZ());
60  zmax = max(zmax, (*vol)->maxZ());
61  }
62  mlayer = new MagELayer(mVols, zmin, zmax);
63  }
64  return mlayer;
65 }
#define min(a, b)
Definition: mlp_lapack.h:161
const T & max(const T &a, const T &b)

Member Data Documentation

MagELayer* MagGeoBuilderFromDDD::eLayer::mlayer
mutableprivate

Definition at line 34 of file eLayer.h.

handles MagGeoBuilderFromDDD::eLayer::theVolumes
private

Definition at line 33 of file eLayer.h.

Referenced by eLayer().