Skip to content
Snippets Groups Projects
Commit cde1eb6a authored by Scott Snyder's avatar Scott Snyder Committed by Graeme Stewart
Browse files

Fix checkreq warnings. (CaloTTDetDescr-00-01-08)

parent f17f9890
No related merge requests found
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
/***************************************************************************
Calorimeter LVL1 TT description package
-----------------------------------------
***************************************************************************/
//<doc><file> $Id: CaloTTDescrManager.h,v 1.9 2007-06-19 12:58:56 fledroit Exp $
//<version> $Name: not supported by cvs2svn $
#ifndef CALODETDESCR_CALOTTDESCRMANAGER_H
#define CALODETDESCR_CALOTTDESCRMANAGER_H
#include "Identifier/Identifier.h"
#include "CLIDSvc/CLASS_DEF.h"
#include <vector>
#include <map>
// Forward declarations
class CaloTTDescrRegion;
class CaloTTDescriptor;
class CaloLVL1_ID;
/**
* @brief This class is used to build the CaloTTDescriptors and CaloTTDetDescrRegions
* carrying the geometry information of the Calorimeter Trigger Towers.
*
* It is initialized by the CaloTTMgrDetDescrCnv converter from package CaloCnv/CaloDetMgrDetDescrCnv
*
* @warning The hadronic part of the FCAL calorimeter calorimeter is constructed
* with 4 channels in eta. These 4 channels actually correspond to 2 channels in eta
* FOR EACH of the hadronic samplings, i.e. FCAL2 and FCAL3. Therefore the geometry
* of these channels is wrong.
*
* Access to the DetDescrElements: <br>
* ------------------------------- <br>
*<br>
* Access is either individually using identifiers and a find
* method, or one can iterate over the whole set. <p>
* <br>
* The information provided: <br>
* ------------------------- <br>
*<br>
* Each DetDescrElement provides
* access to a detector descriptor object. <p>
*<br>
* Access to CaloTTDescrManager: <br>
* ----------------------------- <br>
* <br>
* This is NOT a singleton class anymore
* one now has to access the manager from the detector store <p>
*<br>
* Initialization of DetDescrElements: <br>
* ----------------------------------- <br>
* <br>
* Once an initialization has been performed, subsequent calls are
* ignored. Also, the method: <p>
*<pre>
* bool is_initialized()
*
* returns true.
*</pre>
*
*
*/
class CaloTTDescrManager
{
public:
typedef std::vector <CaloTTDescrRegion*> calo_region_vec;
typedef calo_region_vec::size_type calo_region_vec_size;
typedef calo_region_vec::const_iterator calo_region_const_iterator;
typedef std::vector <CaloTTDescriptor*> calo_descr_vec;
typedef calo_descr_vec::size_type calo_descr_size;
typedef calo_descr_vec::const_iterator calo_descr_const_iterator;
CaloTTDescrManager(void);
~CaloTTDescrManager();
/** Access to the Det Descr region (==Trigger Tower) corresponding to a TT identifier */
CaloTTDescrRegion* find_calo_region (const Identifier& tower_id) const;
/** Begin iterator on Det Descr regions (== Trigger Towers) */
calo_region_const_iterator calo_region_begin (void) const;
/** End iterator on Det Descr regions (== Trigger Towers) */
calo_region_const_iterator calo_region_end (void) const;
/** Total number of Det Descr regions (i.e. Trigger Towers) */
calo_region_vec_size calo_region_size (void) const;
/** Begin iterator on descriptors */
calo_descr_const_iterator calo_descriptors_begin (void) const;
/** End iterator on descriptors */
calo_descr_const_iterator calo_descriptors_end (void) const;
/** Total number of descriptors */
calo_descr_size calo_descriptors_size (void) const;
/** access to the offline identifier helper */
const CaloLVL1_ID* get_lvl1_id (void) const;
void print (void) const;
/** dummy. only sets is_initialized. actual initialization performed in CaloTTMgrDetDescrCnv */
void initialize (void);
bool is_initialized (void);
/** Insertion in the vector of Det Descr regions (== Trigger Towers) */
void add (CaloTTDescrRegion* region);
/** Insertion in the vector of descriptors */
void add (CaloTTDescriptor* descriptor);
/** set the helper used to decode the TT offline identifiers*/
void set_helper (const CaloLVL1_ID* id_helper);
private:
/** undefined semantics */
CaloTTDescrManager (const CaloTTDescrManager &);
CaloTTDescrManager &operator= (const CaloTTDescrManager &);
/** Delete towers and descriptors */
void clear(void);
typedef std::map <Identifier, CaloTTDescrRegion* > calo_region_map;
bool m_is_initialized;
/** Helper used to decode the TT offline identifiers */
const CaloLVL1_ID* m_calo_lvl1_id;
/** vector of Det Descr regions (== Trigger Towers) */
calo_region_vec m_calo_region_vec;
calo_region_map m_calo_region_map;
/** vector of descriptors */
calo_descr_vec m_calo_descr_vec;
};
//using the macros below we can assign an identifier (and a version)
//This is required and checked at compile time when you try to record/retrieve
CLASS_DEF( CaloTTDescrManager , 117659265 , 1 )
#endif // CALODETDESCR_CALOTTDESCRMANAGER_H
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
/***************************************************************************
Calorimeter LVL1 TT description package
-----------------------------------------
***************************************************************************/
//<doc><file> $Id: CaloTTDescrRegion.h,v 1.5 2008-12-13 07:25:15 ssnyder Exp $
//<version> $Name: not supported by cvs2svn $
#ifndef CALODETDESCR_CALOTTDESCRREGION_H
#define CALODETDESCR_CALOTTDESCRREGION_H
//<<<<<< INCLUDES >>>>>>
#include "Identifier/Identifiable.h"
#include "Identifier/Identifier.h"
#include "CaloTTDetDescr/CaloTTDescriptor.h"
//<<<<<< PUBLIC DEFINES >>>>>>
//<<<<<< PUBLIC CONSTANTS >>>>>>
//<<<<<< PUBLIC TYPES >>>>>>
//<<<<<< PUBLIC VARIABLES >>>>>>
//<<<<<< PUBLIC FUNCTIONS >>>>>>
//<<<<<< CLASS DECLARATIONS >>>>>>
/**
*
* @brief This class provides an interface to the geometrical description of the Calorimeter Trigger Towers
* Each instance of a CaloTTDescrRegion corresponds to the description of a Trigger Tower. <p>
* It is an interface, the real geometrical information is held by the CaloTTDescriptors.
*
* Information available: <br>
* ---------------------- <br>
*<br>
* Identifier: Each CaloTTDescrRegion has an Identifier which
* uniquely identifies to which region it corresponds, i.e. which
* positive/negative half, sampling, and region number (see
* class Calo_LVL1ID in package CaloIdentifier for more info.). <br>
*<br>
* Print: A general print method is available. <p>
*
*/
class CaloTTDescrRegion : public Identifiable
{
public:
typedef CaloTTDescriptor descriptor_type;
/** default constructor */
CaloTTDescrRegion(void);
/** constructor */
CaloTTDescrRegion(const Identifier& id,
const descriptor_type* descriptor);
/** */
virtual Identifier identify () const;
const descriptor_type* descriptor () const;
/** set coordinates of the Det Descr region -- pseudo spherical system; eta is signed, rho is unsigned */
void set_spherical ( double eta,
double phi,
double rho );
/** set size of the Det Descr region -- pseudo spherical system; eta is signed, rho is unsigned */
void set_spherical_size ( double deta,
double dphi,
double drho );
/** set coordinates of the Det Descr region -- pseudo cylindrical system; eta is signed, z as well (same sign) */
void set_cylindric ( double eta,
double phi,
double z );
/** set size of the Det Descr region -- pseudo cylindrical system; eta is signed, z as well (same sign) */
void set_cylindric_size ( double deta,
double dphi,
double dz );
/** set coordinates of the Det Descr region -- cartesian system; all signed */
void set_cartesian ( double x,
double y,
double z );
/** set size of the Det Descr region -- cartesian system; all signed */
void set_cartesian_size ( double dx,
double dy,
double dz );
/** return coordinateof the Det Descr Region: eta (signed) */
double eta () const ;
/** return coordinateof the Det Descr Region: phi */
double phi () const ;
/** return coordinateof the Det Descr Region: rho (unsigned) */
double rho () const ;
/** return size in eta (unsigned)*/
double dphi () const ;
/** return size in phi (unsigned)*/
double deta () const ;
/** return size in rho (unsigned)*/
double drho () const ;
/** return coordinateof the Det Descr Region: x (signed) */
double x() const ;
/** return coordinateof the Det Descr Region: y (signed) */
double y() const ;
/** return coordinateof the Det Descr Region: z (signed) */
double z() const ;
/** return size in x (unsigned)*/
double dx() const ;
/** return size in y (unsigned)*/
double dy() const ;
/** return size in z (unsigned)*/
double dz() const ;
void print () const;
private:
Identifier m_id;
const descriptor_type* m_descriptor;
// spherical coordinates :
double m_eta ;
double m_phi ;
double m_rho ;
double m_deta ;
double m_dphi ;
double m_drho ;
// cartesian coordinates :
double m_x ;
double m_y ;
double m_z ;
double m_dx ;
double m_dy ;
double m_dz ;
};
inline
CaloTTDescrRegion::CaloTTDescrRegion(void)
:
m_descriptor(0),
m_eta(0.),
m_phi(0.),
m_rho(0.),
m_deta(0.),
m_dphi(0.),
m_drho(0.),
m_x(0.),
m_y(0.),
m_z(0.),
m_dx(0.),
m_dy(0.),
m_dz(0.)
{}
inline
CaloTTDescrRegion::CaloTTDescrRegion(const Identifier& id,
const descriptor_type* descriptor)
: m_id(id),
m_descriptor(descriptor),
m_eta(0.),
m_phi(0.),
m_rho(0.),
m_deta(0.),
m_dphi(0.),
m_drho(0.),
m_x(0.),
m_y(0.),
m_z(0.),
m_dx(0.),
m_dy(0.),
m_dz(0.)
{}
inline const CaloTTDescrRegion::descriptor_type*
CaloTTDescrRegion::descriptor () const
{
return m_descriptor;
}
inline double CaloTTDescrRegion::eta() const
{ return m_eta;}
inline double CaloTTDescrRegion::phi() const
{ return m_phi;}
inline double CaloTTDescrRegion::rho() const
{ return m_rho;}
inline double CaloTTDescrRegion::deta() const
{ return m_deta;}
inline double CaloTTDescrRegion::dphi() const
{ return m_dphi;}
inline double CaloTTDescrRegion::drho() const
{ return m_drho;}
inline double CaloTTDescrRegion::x() const
{ return m_x;}
inline double CaloTTDescrRegion::y() const
{ return m_y;}
inline double CaloTTDescrRegion::z() const
{ return m_z;}
inline double CaloTTDescrRegion::dx() const
{ return m_dx;}
inline double CaloTTDescrRegion::dy() const
{ return m_dy;}
inline double CaloTTDescrRegion::dz() const
{ return m_dz;}
#endif // CALODETDESCR_CALOTTDESCRREGION_H
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
/***************************************************************************
Calorimeter LVL1 Trigger Towers description package
-----------------------------------------
***************************************************************************/
//<doc><file> $Id: CaloTTDescriptor.h,v 1.5 2007-06-19 11:12:58 fledroit Exp $
//<version> $Name: not supported by cvs2svn $
#ifndef CALODETDESCR_CALOTTDESCRIPTOR_H
#define CALODETDESCR_CALOTTDESCRIPTOR_H
#include <Identifier/Identifier.h>
#include <math.h>
/** @brief This class holds the Calorimeter TriggerTower geometrical description
There are four regions of different granularities in the Trigger Tower system: <br>
0.1x0.1, 0.2x0.2, 0.1x0.2, 0.4x0.4 <br>
There is 1 Descriptor per such region.
*/
class CaloTTDescriptor
{
public:
/** Default constructor */
CaloTTDescriptor();
/** Constructor : set geom parameters of each descriptor of equal granularity TT regions */
CaloTTDescriptor(float eta_min, float eta_max, float deta,
float phi_min, float phi_max, float dphi,
int sign_eta,short n_lay);
~CaloTTDescriptor();
/** set internal data member m_id (which is unused. should be removed */
void set (const Identifier& id);
/** Identifier - indicates which calorimeter */
Identifier identify(void) const;
/** descriptor parameter: sign of eta (+-1) */
int sign_eta() const;
/** descriptor parameter: min value of abs(eta) */
float eta_min () const;
/** descriptor parameter: max value of abs(eta) */
float eta_max () const;
/** descriptor parameter: min value of phi */
float phiMin () const;
/** descriptor parameter: max value of phi */
float phiMax () const;
/** descriptor parameter: eta granularity */
float deta () const;
/** descriptor parameter: phi granularity */
float dphi () const;
/** descriptor parameter: number of eta bins */
short nEta () const;
/** descriptor parameter: number of phi bins */
short nPhi () const;
/** descriptor parameter: number of layers */
short nLay () const;
/** Print */
void print () const;
/** set descriptor parameters */
void set ( float eta_min,
float eta_max,
float deta,
float phi_min,
float phi_max,
float dphi,
int sign_eta,
short n_lay);
private:
/** an identifier associated to the descriptor. actually useless. should be cleaned away */
Identifier m_id;
/** descriptor parameter: sign of eta (+-1) */
int m_sign_eta;
/** descriptor parameter: min value of abs(eta) */
float m_eta_min;
/** descriptor parameter: max value of abs(eta) */
float m_eta_max;
/** descriptor parameter: eta granularity */
float m_deta;
/** descriptor parameter: min value of phi */
float m_phi_min;
/** descriptor parameter: max value of phi */
float m_phi_max;
/** descriptor parameter: phi granularity */
float m_dphi;
/** descriptor parameter: number of eta bins */
short m_nEta;
/** descriptor parameter: number of phi bins */
short m_nPhi;
/** descriptor parameter: number of layers */
short m_nLay;
};
inline
CaloTTDescriptor::CaloTTDescriptor()
:
m_sign_eta(0),
m_eta_min(0),
m_eta_max(0),
m_deta(0),
m_phi_min(0),
m_phi_max(0),
m_dphi(0),
m_nEta(0),
m_nPhi(0),
m_nLay(0)
{
}
inline void
CaloTTDescriptor::set (const Identifier& id)
{
m_id = id;
}
inline Identifier
CaloTTDescriptor::identify(void) const
{
return m_id;
}
inline int
CaloTTDescriptor::sign_eta () const
{ return m_sign_eta; }
inline float
CaloTTDescriptor::eta_min () const
{ return m_eta_min; }
inline float
CaloTTDescriptor::eta_max () const
{ return m_eta_max; }
inline float
CaloTTDescriptor::phiMin () const
{ return m_phi_min; }
inline float
CaloTTDescriptor::phiMax () const
{ return m_phi_max; }
inline float
CaloTTDescriptor::deta () const
{ return m_deta; }
inline float
CaloTTDescriptor::dphi () const
{ return m_dphi; }
inline short
CaloTTDescriptor::nEta () const
{ return m_nEta; }
inline short
CaloTTDescriptor::nPhi () const
{ return m_nPhi; }
inline short
CaloTTDescriptor::nLay () const
{ return m_nLay; }
#endif // CALODETDESCR_CALOTTDESCRIPTOR_H
package CaloTTDetDescr
author Fabienne Ledroit <ledroit@isn.in2p3.fr>
author Johann Collot <collot@isn.in2p3.fr>
use AtlasPolicy AtlasPolicy-*
use Identifier Identifier-* DetectorDescription
use CLIDSvc CLIDSvc-* Control
private
use CaloIdentifier CaloIdentifier-* Calorimeter
end_private
library CaloTTDetDescr *.cxx
apply_pattern installed_library
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
/**
@mainpage
CaloTTDetDescr is a small package which manages the detector description for the Calorimeter Trigger Towers. <br>
It must be noted that, as of now (Aug. 07) the TT geometry is ideal and does not follow the LAr or Tile description.
@htmlinclude used_packages.html
@include requirements
*/
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
/***************************************************************************
Calo description package
-----------------------------------------
***************************************************************************/
//<doc><file> $Id: CaloTTDescrManager.cxx,v 1.8 2006-07-21 12:39:14 fledroit Exp $
//<version> $Name: not supported by cvs2svn $
//<<<<<< INCLUDES >>>>>>
#include "CaloTTDetDescr/CaloTTDescrManager.h"
#include "CaloTTDetDescr/CaloTTDescrRegion.h"
#include "CaloTTDetDescr/CaloTTDescriptor.h"
#include "CaloIdentifier/CaloLVL1_ID.h"
#include <iostream>
CaloTTDescrManager::CaloTTDescrManager()
:
m_is_initialized(false),
m_calo_lvl1_id(0)
{
}
CaloTTDescrManager::~CaloTTDescrManager()
{
// Remove regions and descriptors
clear();
}
CaloTTDescrRegion*
CaloTTDescrManager::find_calo_region (const Identifier& region) const
{
calo_region_map::const_iterator p = m_calo_region_map.find(region);
if(p != m_calo_region_map.end()) {
return p->second;
} else {
// no CaloTTDescrRegion corresponding to Identifier
// this is expected as some Identifiers have no real counter part)
return(0);
}
}
CaloTTDescrManager::calo_region_const_iterator
CaloTTDescrManager::calo_region_begin () const
{
return m_calo_region_vec.begin();
}
CaloTTDescrManager::calo_region_const_iterator
CaloTTDescrManager::calo_region_end () const
{
return m_calo_region_vec.end();
}
CaloTTDescrManager::calo_region_vec_size
CaloTTDescrManager::calo_region_size () const
{
return m_calo_region_vec.size();
}
CaloTTDescrManager::calo_descr_const_iterator
CaloTTDescrManager::calo_descriptors_begin () const
{
return m_calo_descr_vec.begin();
}
CaloTTDescrManager::calo_descr_const_iterator
CaloTTDescrManager::calo_descriptors_end () const
{
return m_calo_descr_vec.end();
}
CaloTTDescrManager::calo_descr_size
CaloTTDescrManager::calo_descriptors_size () const
{
return m_calo_descr_vec.size();
}
const CaloLVL1_ID*CaloTTDescrManager::get_lvl1_id() const
{
return (m_calo_lvl1_id);
}
void
CaloTTDescrManager::initialize()
{
// initialization actually done in CaloTTMgrDetDescrCnv
m_is_initialized = true;
}
bool CaloTTDescrManager::is_initialized()
{
return m_is_initialized;
}
void
CaloTTDescrManager::add (CaloTTDescrRegion* region)
{
m_calo_region_vec.push_back(region);
// m_calo_region_map[region->identify()] = region;
m_calo_region_map.insert(std::pair<Identifier, CaloTTDescrRegion*>((region->identify()),region));
}
void
CaloTTDescrManager::add (CaloTTDescriptor* descriptor)
{
m_calo_descr_vec.push_back(descriptor);
}
void
CaloTTDescrManager::set_helper (const CaloLVL1_ID* id_helper)
{
m_calo_lvl1_id = id_helper;
}
void
CaloTTDescrManager::print () const
{
std::cout << "CaloTTDescrManager : " << std::endl;
std::cout << " Number of Calo TT Regions : " << m_calo_region_vec.size() << std::endl;
std::cout << " Number of Calo descriptors : " << m_calo_descr_vec.size() << std::endl;
calo_region_const_iterator first = calo_region_begin();
calo_region_const_iterator last = calo_region_end();
for (; first != last; ++first) {
(*first)->print();
}
}
void CaloTTDescrManager::clear()
{
// Remove regions and descriptors
calo_region_const_iterator first = m_calo_region_vec.begin();
calo_region_const_iterator last = m_calo_region_vec.end();
for (; first != last; ++first) delete (*first);
m_calo_region_vec.clear();
calo_descr_const_iterator first2 = m_calo_descr_vec.begin();
calo_descr_const_iterator last2 = m_calo_descr_vec.end();
for (; first2 != last2; ++first2) delete (*first2);
m_calo_descr_vec.clear();
m_is_initialized = false;
}
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
/***************************************************************************
Calorimeter LVL1 TT description package
-----------------------------------------
***************************************************************************/
//<doc><file> $Id: CaloTTDescrRegion.cxx,v 1.6 2006-07-21 12:39:15 fledroit Exp $
//<version> $Name: not supported by cvs2svn $
//<<<<<< INCLUDES >>>>>>
#include "CaloTTDetDescr/CaloTTDescrRegion.h"
#include <iostream>
//<<<<<< MEMBER FUNCTION DEFINITIONS >>>>>>
Identifier
CaloTTDescrRegion::identify() const
{
return m_id;
}
void
CaloTTDescrRegion::set_spherical( double eta,
double phi,
double rho)
{
m_eta = eta ;
m_phi= phi;
m_rho = rho;
// from this recompute cartesian coordinates
m_x = m_rho*cos(m_phi);
m_y = m_rho*sin(m_phi);
m_z = m_rho*sinh(m_eta);
}
void
CaloTTDescrRegion::set_spherical_size( double deta,
double dphi,
double drho )
{
m_deta = deta;
m_dphi = dphi;
m_drho = drho;
// from this recompute size in cartesian... to be completed !!!
double dx = 0.;
double dy = 0.;
double dz = 0.;
if(m_rho < 1600) {
dz = m_drho * fabs(sinh(m_eta)) + m_deta * m_rho * cosh(m_eta);
} else {
dz = m_drho * fabs(sinh(m_eta));
}
m_dx = fabs(dx);
m_dy = fabs(dy);
m_dz = fabs(dz);
}
void
CaloTTDescrRegion::set_cylindric( double eta,
double phi,
double z)
{
m_eta = eta ;
m_phi = phi;
m_z = z;
// from this recompute complementary set of coordinates
m_rho = m_z/sinh(m_eta);
m_x = m_rho*cos(m_phi);
m_y = m_rho*sin(m_phi);
}
void
CaloTTDescrRegion::set_cylindric_size( double deta,
double dphi,
double dz )
{
m_deta = deta;
m_dphi = dphi;
m_dz = dz;
// from this recompute size in complementary set of coord. ... to be completed !!!
double dx = 0.;
double dy = 0.;
double drho = (-m_z*cosh(m_eta)/sinh(m_eta)*m_deta
+m_dz) / sinh(m_eta);
m_dx = fabs(dx);
m_dy = fabs(dy);
m_drho = fabs(drho);
}
void
CaloTTDescrRegion::set_cartesian ( double x,
double y,
double z )
{
m_x = x;
m_y = y;
m_z = z;
// from this recompute (semi)spherical coordinates
m_rho = sqrt ( m_x*m_x+m_y*m_y) ;
double big_r = sqrt(m_x*m_x+m_y*m_y+m_z*m_z);
m_eta = 0.5*log((big_r+m_z)/(big_r-m_z));
m_phi = atan2(m_y,m_x);
}
void
CaloTTDescrRegion::set_cartesian_size ( double dx,
double dy,
double dz )
{
m_dx = dx;
m_dy = dy;
m_dz = dz;
// from this recompute size in (semi)spherical... TBD !!!
m_deta = 0.;
m_dphi = 0.;
m_drho = 0.;
}
void
CaloTTDescrRegion::print () const
{
std::cout << std::endl << " CaloTTDescrRegion print: "
<< std::endl << std::endl;
m_id.show();
m_descriptor->print();
}
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
/***************************************************************************
Liquid Argon detector description package
-----------------------------------------
Copyright (C) 1998 by ATLAS Collaboration
***************************************************************************/
//<doc><file> $Id: CaloTTDescriptor.cxx,v 1.5 2006-02-15 09:05:19 fledroit Exp $
//<version> $Name: not supported by cvs2svn $
//<<<<<< INCLUDES >>>>>>
#include "CaloTTDetDescr/CaloTTDescriptor.h"
//FLG#include "CaloIdentifier/CaloLVL1_ID.h"
#ifdef HAVE_NEW_IOSTREAMS
#include <iostream>
#include <iomanip>
#else
#include <iostream.h>
#include <iomanip.h>
#endif
CaloTTDescriptor::CaloTTDescriptor(float eta_min, float eta_max, float deta,
float phi_min, float phi_max, float dphi,
int sign_eta, short n_lay)
:
m_sign_eta (sign_eta),
m_eta_min (eta_min),
m_eta_max (eta_max),
m_deta (deta),
m_phi_min (phi_min),
m_phi_max (phi_max),
m_dphi (dphi),
m_nEta ((short) ((eta_max - eta_min)/deta + 0.501)),
m_nPhi ((short) ((phi_max - phi_min)/dphi + 0.501)),
m_nLay (n_lay)
{
}
CaloTTDescriptor::~CaloTTDescriptor()
{}
void
CaloTTDescriptor::print () const
{
std::cout << std::endl << " CaloTTDescriptor print: "
<< std::endl << std::endl;
// Print out id
m_id.show();
std::cout << " Calo LVL1 Trigger Towers: " << std::endl;
std::cout << " eta min eta max deta phi min phi max dphi nLay"
<< std::endl;
std::cout << std::setiosflags(std::ios::fixed);
std::cout << std::setw(9) << std::setprecision(4) << m_eta_min << " "
<< std::setw(9) << std::setprecision(4) << m_eta_max << " "
<< std::setw(9) << std::setprecision(4) << m_deta << " "
<< std::setw(9) << std::setprecision(4) << m_phi_min << " "
<< std::setw(9) << std::setprecision(4) << m_phi_max << " "
<< std::setw(9) << std::setprecision(4) << m_dphi << " "
<< std::setw(9) << std::setprecision(4) << m_nLay << " "
<< std::endl;
return;
}
void
CaloTTDescriptor::set (float eta_min,
float eta_max,
float deta,
float phi_min,
float phi_max,
float dphi,
int sign_eta,
short n_lay)
{
m_eta_min = eta_min;
m_eta_max = eta_max;
m_deta = deta;
m_phi_min = phi_min;
m_phi_max = phi_max;
m_dphi = dphi;
m_nEta = (short) ((eta_max - eta_min)/deta + 0.501);
m_nPhi = (short) ((phi_max - phi_min)/dphi + 0.501);
m_sign_eta = sign_eta;
m_nLay = n_lay;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment