ATLAS Offline Software
Loading...
Searching...
No Matches
TileInfoLoader.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 TILECONDITIONS_TILEINFOLOADER_H
6#define TILECONDITIONS_TILEINFOLOADER_H
7//****************************************************************************
8// Filename : TileInfoLoader.h
9// Author : Ed Frank
10// Created : May 2002
11//
12// DESCRIPTION
13//
14// TileConditions/TileInfo.h is the Tile interface to the transient
15// detector store. Rather than having every item accessed separately from
16// the TDS, people will grab a TileInfo from the TDS and make calls on it.
17// Those calls will defer back to the TDS so that time validity is done
18// correctly. We think this may be simpler than getting everything
19// separately. We expect, in the future, to break the TileInfo into pieces,
20// but for now, it's all in one.
21//
22// Until a conditions database exists, we just make a TileInfo from parameters
23// in a fplain file. TileInfoLoader exists just to produce a tileInfo at
24// the start of the job until the conditions DB comes along.
25//
26// Properties (JobOption Parameters):
27//
28//
29// History:
30// 07Feb01 efrank Creation, based upon LArTowerBuilder.h
31//
32// BUGS:
33//
34//****************************************************************************
35
36// Gaudi includes
37#include "GaudiKernel/ServiceHandle.h"
38
39// Athena includes
41
42#include <string>
43
44class TilePulseShapes;
46class StoreGateSvc;
47class TileCablingSvc;
48template<class TYPE> class SvcFactory;
49class TileInfo;
50
51static const InterfaceID IID_TileInfoLoader("TileInfoLoader", 1, 0);
52
54
55 friend class SvcFactory<TileInfoLoader> ;
56
57 public:
58
59 TileInfoLoader(const std::string& name, ISvcLocator* pSvcLocator);
60 virtual ~TileInfoLoader();
61
62 virtual StatusCode initialize() override;
63 virtual StatusCode finalize() override;
64 static const InterfaceID& interfaceID() { return IID_TileInfoLoader; }
65
66private:
67 //** Loading stuff from files */
68 StatusCode buildDigitsShapesHiLo (TileInfo& info);
69 StatusCode buildTTL1Shapes(TileInfo& info,
70 const std::string& ShapeFile,
71 int &NBins, int &Time0Bin, int &BinsPerX
72 , std::vector<double> &FullShape, std::vector<double> &Shape);
73 void buildCovMatrix (TileInfo& info);
74
75 Gaudi::Property<std::string> m_tileInfoName{this,
76 "TileInfo", "TileInfo", "Name of TileInfo object in Detector Store"};
77
78 //=== services
80
83
96 double m_ttL1Ped;
97 double m_ttL1Max;
106 double m_muL1Ped;
107 double m_muL1Max;
117
118
119
122
126 std::string m_TTL1ShapeFile;
127 std::string m_MuRcvShapeFile;
128 std::string m_MuL1ShapeFile;
130
132
133 // name of TileCalibContainer in detector store
134 std::string m_calibCntName;
135
136 std::vector<std::string> m_connectedDrawers; // list of connected drawers
137 // we assume that list contains even number of elements - pairs of (begin,end) range,
138 // e.g. all drawers connected looks like this:
139 // [ "0x100", "0x13F", "0x200", "0x23F", "0x300", "0x33F", "0x400", "0x43F" ]
140 // and this is the list for few drawers in LBA connected:
141 // [ "0x10A", "0x10C", "0x121", "0x123" ]
142 // empty list is equivalent to list with all drawers connected
143
146};
147
148#endif // TILECONDITIONS_TILEINFOLOADER_H
static const InterfaceID IID_TileInfoLoader("TileInfoLoader", 1, 0)
The Athena Transient Store API.
double m_ttL1NoiseSigma
double m_ttL1CosmicsThresh
std::string m_MuL1ShapeFile
double m_thresholdDigits
void buildCovMatrix(TileInfo &info)
std::string m_MuRcvShapeFile
double m_mbtsL1NoiseSigma
std::vector< std::string > m_connectedDrawers
virtual StatusCode finalize() override
TilePulseShapes * m_pulsevar
Pointer to TilePulseShapes object.
double m_thresholdRawChannel
TileInfoLoader(const TileInfoLoader &)
std::string m_DecoCovaFilePrefix
std::string m_digitsShapeFileHi
Filenames of input files.
StatusCode buildDigitsShapesHiLo(TileInfo &info)
std::string m_TTL1ShapeFile
Gaudi::Property< std::string > m_tileInfoName
virtual ~TileInfoLoader()
double m_MuRcvNoiseSigma
static const InterfaceID & interfaceID()
StatusCode buildTTL1Shapes(TileInfo &info, const std::string &ShapeFile, int &NBins, int &Time0Bin, int &BinsPerX, std::vector< double > &FullShape, std::vector< double > &Shape)
int m_nSamples
Properties to forward to TileInfo.
ServiceHandle< StoreGateSvc > m_detStore
TileInfoLoader(const std::string &name, ISvcLocator *pSvcLocator)
std::string m_digitsShapeFileLo
std::string m_calibCntName
bool m_loadWienerFilterWeights
TileWienerFilterWeights * m_WFWeights
Pointer to Wiener Filtering weights.
TileInfoLoader & operator=(const TileInfoLoader &)
virtual StatusCode initialize() override