Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

Atlfast::Calorimeter Class Reference

This class represents the detector's Calorimeter used in Cell making.
At present, state construction is not available through jobOptions directly and therefore all parameters are temporarily passed in the Calorimeter constructor (i.e. More...

#include <Calorimeter.h>

Collaboration diagram for Atlfast::Calorimeter:

Collaboration graph
[legend]
List of all members.

Public Methods

 Calorimeter (MsgStream log, const double etaCoverage, const double barrelForwardEta, const double granBarrelEta, const double granBarrelPhi, const double granForwardEta, const double granForwardPhi)
 Constructor providing coverage and granularity parameters, set in CellMaker jobOptions.

 ~Calorimeter ()
 Default destructor.

 Calorimeter (const Calorimeter &)
 Copy constructor.

void deposit (TransportedParticleCollectionIter &first, TransportedParticleCollectionIter &last) const
 Deposits HepMc::Particle.

void deposit (std::vector< Atlfast::EPileupDeposit * >::iterator &first, std::vector< Atlfast::EPileupDeposit * >::iterator &last) const
 Deposits Energy Pileup Map into the Calorimeter.

void reset ()
 Resets the calorimeter sections.

void giveHitCells (const ICellSelector *, CellCollection *)
 Gives selected cells.

void smearCells (ISmearer *)
 Smear the cells resolution.


Private Attributes

CalSectionm_section [3]
 Three calorimeter sections owned by the calorimeter.


Detailed Description

This class represents the detector's Calorimeter used in Cell making.
At present, state construction is not available through jobOptions directly and therefore all parameters are temporarily passed in the Calorimeter constructor (i.e.

parameters are properties of CellMaker which then constructs Calorimeter). The calorimeter consists of three CalSections in which energies of HepMC particles are deposited.

Definition at line 32 of file Calorimeter.h.


Constructor & Destructor Documentation

Atlfast::Calorimeter::Calorimeter MsgStream    log,
const double    etaCoverage,
const double    barrelForwardEta,
const double    granBarrelEta,
const double    granBarrelPhi,
const double    granForwardEta,
const double    granForwardPhi
 

Constructor providing coverage and granularity parameters, set in CellMaker jobOptions.

Definition at line 27 of file Calorimeter.cxx.

References m_section.

00036   { 
00037     
00038     m_section[0] =  new CalSection(log,
00039                                    abs(barrelMaxEta),  abs(MaxEta), 
00040                                    granForwardEta, granForwardPhi);
00041     
00042     m_section[1] =  new CalSection(log, -abs(barrelMaxEta), abs(barrelMaxEta), 
00043                                    granBarrelEta,  granBarrelPhi);
00044 
00045     m_section[2] =  new CalSection(log,
00046                                    -abs(MaxEta),       -abs(barrelMaxEta), 
00047                                    granForwardEta, granForwardPhi);
00048 
00049   }

Atlfast::Calorimeter::~Calorimeter  
 

Default destructor.

Definition at line 50 of file Calorimeter.cxx.

References m_section.

00050                            {
00051     delete m_section[0];
00052     delete m_section[1];
00053     delete m_section[2];
00054   }

Atlfast::Calorimeter::Calorimeter const Calorimeter &   
 

Copy constructor.

Definition at line 55 of file Calorimeter.cxx.

References m_section.

00055                                               {
00056     //make m_sections point to different instances
00057     // of the CalSections, with the same value as those
00058     //owned by c.
00059     m_section[0]=new CalSection(*(c.m_section[0]));
00060     m_section[1]=new CalSection(*(c.m_section[1]));
00061     m_section[2]=new CalSection(*(c.m_section[2]));
00062   }

Member Function Documentation

void Atlfast::Calorimeter::deposit TransportedParticleCollectionIter   first,
TransportedParticleCollectionIter   last
const
 

Deposits HepMc::Particle.

The double is the phi position of the particle* at the calorimeter. the "last" iterator will be modified...

Definition at line 64 of file Calorimeter.cxx.

References Atlfast::TransportedParticleCollectionIter.

Referenced by Atlfast::CellMaker::execute().

00065                                                                       {
00066     // send particles to calorimeter sections
00067     for(int ind =0 ;ind<=2; ++ind){
00068       m_section[ind]->deposit(f, l);
00069     }
00070   }

void Atlfast::Calorimeter::deposit std::vector< Atlfast::EPileupDeposit * >::iterator &    first,
std::vector< Atlfast::EPileupDeposit * >::iterator &    last
const
 

Deposits Energy Pileup Map into the Calorimeter.

Definition at line 73 of file Calorimeter.cxx.

00074                                                                               {
00075     //send energy pileup to calorimeter sections
00076     for(int ind =0 ;ind<=2; ++ind){
00077       m_section[ind]->deposit(f, l);
00078     }
00079 
00080   }

void Atlfast::Calorimeter::reset  
 

Resets the calorimeter sections.

Definition at line 93 of file Calorimeter.cxx.

References m_section, and Atlfast::CalSection::reset().

Referenced by Atlfast::CellMaker::execute().

00094   {
00095     for(int ind=0; ind<=2; ++ind) m_section[ind]->reset();
00096   }

void Atlfast::Calorimeter::giveHitCells const ICellSelector  ,
CellCollection *   
 

Gives selected cells.

Definition at line 82 of file Calorimeter.cxx.

References Atlfast::CalSection::giveHits(), and m_section.

Referenced by Atlfast::CellMaker::execute().

00082                                                                                             {
00083 
00084     // return cells in calorimeter passed by cellSelector
00085     // could make type change from Calorimeter cells to TES cells here 
00086     
00087     for(int ind=0; ind<=2; ++ind) {
00088       m_section[ind]->giveHits(p_cellSelector, cells);
00089     }
00090   }

void Atlfast::Calorimeter::smearCells ISmearer  
 

Smear the cells resolution.

Definition at line 98 of file Calorimeter.cxx.

References m_section, and Atlfast::CalSection::smearCells().

Referenced by Atlfast::CellMaker::execute().

00099   {
00100     for(int ind=0; ind<=2; ++ind) {
00101       m_section[ind]->smearCells(p_smearer);
00102     }
00103   }

Member Data Documentation

CalSection* Atlfast::Calorimeter::m_section[3] [private]
 

Three calorimeter sections owned by the calorimeter.

1

Definition at line 83 of file Calorimeter.h.

Referenced by Calorimeter(), giveHitCells(), reset(), smearCells(), and ~Calorimeter().


The documentation for this class was generated from the following files:
Generated on Tue Jan 28 09:57:34 2003 for AtlfastAlgs by doxygen1.3-rc1