ATLAS Offline Software
Loading...
Searching...
No Matches
CaloCellVolumes.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef CALODETDESCRUTILS_CALOCELLVOLUMES_H
6#define CALODETDESCRUTILS_CALOCELLVOLUMES_H
7
8#include "Identifier/Identifier.h"
9#include <vector>
10#include <string>
11#include <map>
12
13class CaloCell_ID;
14class ISvcLocator;
15
21
22typedef std::vector<CaloCellVolume> CaloCellVolumeVector;
23
25{
26 public:
27 CaloCellVolumes(ISvcLocator* svcLocator,
28 const CaloCell_ID* calocell_id);
30
31 double CellVolume(Identifier cell_id);
32 inline const std::string& layout() { return m_geometryLayout; }
33
34 // For FCAL cell volumes which are calculated on the fly
35 double getFcalTubeSpacing(int sampling);
36
37 void print();
38
39 private:
40 const CaloCell_ID* m_calocell_id{nullptr};
42 std::string m_geometryLayout;
43
44 // map fcal samplings on tube spacings
45 typedef std::map<int, double> TubeSpacingMap;
47 {1, 7.5}
48 , {2, 8.179}
49 , {3, 9.}
50 };
51};
52
53#endif
std::vector< CaloCellVolume > CaloCellVolumeVector
CaloCellVolumeVector m_cellVolumes
TubeSpacingMap m_fcalTubeSpacings
std::map< int, double > TubeSpacingMap
const CaloCell_ID * m_calocell_id
double CellVolume(Identifier cell_id)
const std::string & layout()
std::string m_geometryLayout
double getFcalTubeSpacing(int sampling)
CaloCellVolumes(ISvcLocator *svcLocator, const CaloCell_ID *calocell_id)
Helper class for offline cell identifiers.
Definition CaloCell_ID.h:34
Identifier channelID