CMS 3D CMS Logo

bRod.h
Go to the documentation of this file.
1 #ifndef bRod_H
2 #define bRod_H
3 
11 #include "bSlab.h"
12 
13 class MagBRod;
14 
15 namespace magneticfield {
16 
17  class bRod {
18  public:
20  bRod(handles::const_iterator begin, handles::const_iterator end, bool debugVal = false);
21 
23  ~bRod() = default;
24 
26  const float RN() const { return volumes.front()->RN(); }
27 
29  MagBRod* buildMagBRod() const;
30 
31  private:
32  std::vector<bSlab> slabs;
33  handles volumes; // pointers to all volumes in the rod
34  mutable MagBRod* mrod;
35  bool debug; // Allow assignment from other bRod objects
36  };
37 } // namespace magneticfield
38 
39 #endif
magneticfield::bRod::bRod
bRod(handles::const_iterator begin, handles::const_iterator end, bool debugVal=false)
Constructor from list of volumes.
Definition: bRod.cc:19
magneticfield
Definition: MagFieldConfig.h:22
magneticfield::bRod::debug
bool debug
Definition: bRod.h:35
magneticfield::bRod::slabs
std::vector< bSlab > slabs
Definition: bRod.h:32
magneticfield::bRod::buildMagBRod
MagBRod * buildMagBRod() const
Construct the MagBRod upon request.
Definition: bRod.cc:81
end
#define end
Definition: vmac.h:39
magneticfield::handles
std::vector< BaseVolumeHandle * > handles
Definition: BaseVolumeHandle.h:154
bSlab.h
magneticfield::bRod::RN
const float RN() const
Distance from center along sector normal.
Definition: bRod.h:26
magneticfield::bRod
Definition: bRod.h:17
magneticfield::bRod::volumes
handles volumes
Definition: bRod.h:33
MagBRod
Definition: MagBRod.h:25
magneticfield::bRod::~bRod
~bRod()=default
Destructor.
begin
#define begin
Definition: vmac.h:32
magneticfield::bRod::mrod
MagBRod * mrod
Definition: bRod.h:34