Skip to content
Snippets Groups Projects
Commit ec789f00 authored by Walter Lampl's avatar Walter Lampl
Browse files

Merge branch 'main-cppcheck-FPGATrackSimAlgorithms' into 'main'

main-cppcheck-FPGATrackSimAlgorithms

See merge request atlas/athena!70978
parents d3182de4 83920454
No related branches found
No related tags found
No related merge requests found
......@@ -4,7 +4,10 @@
#include "FPGATrackSimMapMakerAlg.h"
#include "FPGATrackSimInput/IFPGATrackSimEventOutputHeaderTool.h"
#include "FPGATrackSimMaps/FPGATrackSimModuleRelabel.h"
#include "TH2.h"
#include "TFile.h"
#include "GaudiKernel/IEventProcessor.h"
......@@ -690,7 +693,10 @@ StatusCode FPGATrackSimMapMakerAlg::finalize()
ATH_CHECK(writeEtaPatterns());
ATH_CHECK(writeRadiiFile(m_allHits));
ATH_CHECK(writeMedianZFile(m_allHits));
if (m_monitorFile) delete m_monitorFile;
delete m_monitorFile;
m_monitorFile = nullptr;
delete m_moduleRelabel;
m_moduleRelabel = nullptr;
return StatusCode::SUCCESS;
}
......
......@@ -9,25 +9,30 @@
* Produce Map files from wrappers.
*/
#include "AthenaBaseComps/AthAlgorithm.h"
#include "GaudiKernel/ToolHandle.h"
#include "GaudiKernel/MsgStream.h"
#include "FPGATrackSimObjects/FPGATrackSimTypes.h"
#include "FPGATrackSimObjects/FPGATrackSimEventInputHeader.h"
#include "FPGATrackSimMaps/FPGATrackSimModuleRelabel.h"
#include "FPGATrackSimInput/IFPGATrackSimEventInputHeaderTool.h"
#include "TFile.h"
#include <fstream>
class IFPGATrackSimEventInputHeaderTool;
class FPGATrackSimEventInputHeader;
#include "AthenaBaseComps/AthAlgorithm.h" //inheritance
#include "GaudiKernel/ToolHandle.h" //member
#include "FPGATrackSimObjects/FPGATrackSimTypes.h" //enum classes (e.g. SiliconTech, DetectorZone) in global namespace :-(
#include "FPGATrackSimObjects/FPGATrackSimEventInputHeader.h" //member
#include "FPGATrackSimInput/IFPGATrackSimEventInputHeaderTool.h" //tool handle template param
#include <fstream> //ofstream members
#include <tuple> //typedef
#include <map> //member
#include <set> //member
#include <vector> //member
class FPGATrackSimModuleRelabel;
class FPGATrackSimHit;
class TFile;
typedef std::tuple<SiliconTech, DetectorZone, int, int, int> FPGATrackSimModuleId;
class FPGATrackSimMapMakerAlg : public AthAlgorithm
{
public:
typedef std::tuple<SiliconTech, DetectorZone, int, int, int> FPGATrackSimModuleId;
//
FPGATrackSimMapMakerAlg(const std::string& name, ISvcLocator* pSvcLocator);
virtual ~FPGATrackSimMapMakerAlg() = default;
......@@ -42,15 +47,15 @@ class FPGATrackSimMapMakerAlg : public AthAlgorithm
FPGATrackSimEventInputHeader m_eventHeader;
struct Module {
SiliconTech det;
DetectorZone bec;
int lyr;
int eta;
int phi;
SiliconTech det{SiliconTech::strip};
DetectorZone bec{DetectorZone::barrel};
int lyr{};
int eta{};
int phi{};
std::vector<int> numTracks; // used for trimming, indexed by slice
int plane;
Module() : det(SiliconTech::strip), bec(DetectorZone::barrel), lyr(0), eta(0), phi(0), numTracks(std::vector<int>()), plane(-1) {}
Module(SiliconTech det, DetectorZone bec, int lyr, int eta, int phi) : det(det), bec(bec), lyr(lyr), eta(eta), phi(phi), numTracks(std::vector<int>()), plane(-1) {}
int plane{-1};
Module() = default;
Module(SiliconTech det, DetectorZone bec, int lyr, int eta, int phi) : det(det), bec(bec), lyr(lyr), eta(eta), phi(phi) {}
FPGATrackSimModuleId moduleId() const {
return std::tie(det,bec,lyr,eta,phi);
}
......@@ -58,11 +63,11 @@ class FPGATrackSimMapMakerAlg : public AthAlgorithm
{
return std::tie(det,bec,lyr,eta,phi) == std::tie(m.det,m.bec,m.lyr,m.eta,m.phi);
}
bool operator<(const Module m) const
bool operator<(const Module & m) const
{
return std::tie(det,bec,lyr,eta,phi) < std::tie(m.det,m.bec,m.lyr,m.eta,m.phi);
}
bool operator>(const Module m) const
bool operator>(const Module & m) const
{
return std::tie(det,bec,lyr,eta,phi) > std::tie(m.det,m.bec,m.lyr,m.eta,m.phi);
}
......@@ -106,7 +111,7 @@ class FPGATrackSimMapMakerAlg : public AthAlgorithm
-> -1 means the layer is not used
-> Example: se67+ = Strip Positve Endcap layer 67
*/
const std::vector<std::vector<std::vector<std::string>>>* m_planes;
const std::vector<std::vector<std::vector<std::string>>>* m_planes{};
const std::vector< std::vector< std::vector<std::string> > > m_planes_default = //first stage
{
{ // region 0
......@@ -216,7 +221,7 @@ class FPGATrackSimMapMakerAlg : public AthAlgorithm
std::vector <std::vector < std::vector<float> > > m_z; // used to calculate median z per layer for each slice, [slice][plane][hit]
// output map files and monitoring
std::ofstream m_pmap, m_rmap, m_subrmap, m_etapat, m_radfile, m_zedfile;
TFile *m_monitorFile;
TFile *m_monitorFile{};
// TODO make automatic
......
// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
// Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
/**
* @file FPGATrackSimEtaPatternFilterTool.cxx
......@@ -7,12 +7,9 @@
* @brief Implements road filtering using eta module patterns
*/
#include "FPGATrackSimMaps/IFPGATrackSimMappingSvc.h"
#include "FPGATrackSimMaps/FPGATrackSimPlaneMap.h"
#include "FPGATrackSimObjects/FPGATrackSimTypes.h"
#include "FPGATrackSimObjects/FPGATrackSimHit.h"
#include "FPGATrackSimObjects/FPGATrackSimConstants.h"
#include "FPGATrackSimBanks/IFPGATrackSimBankSvc.h"
#include "FPGATrackSimBanks/FPGATrackSimSectorBank.h"
#include "FPGATrackSimEtaPatternFilterTool.h"
......@@ -22,7 +19,6 @@
#include <fstream>
#include <cmath>
#include <algorithm>
#include <boost/dynamic_bitset.hpp>
#include <iostream>
......@@ -306,7 +302,7 @@ FPGATrackSimRoad FPGATrackSimEtaPatternFilterTool::buildRoad(std::pair<EtaPatter
///////////////////////////////////////////////////////////////////////////////
// Prints
std::string FPGATrackSimEtaPatternFilterTool::to_string(const std::vector<unsigned> v) const
std::string FPGATrackSimEtaPatternFilterTool::to_string(const std::vector<unsigned> & v) const
{
std::ostringstream oss;
oss << "[";
......@@ -319,7 +315,7 @@ std::string FPGATrackSimEtaPatternFilterTool::to_string(const std::vector<unsign
return oss.str();
}
std::string FPGATrackSimEtaPatternFilterTool::to_string(const EtaPattern patt) const
std::string FPGATrackSimEtaPatternFilterTool::to_string(const EtaPattern & patt) const
{
std::ostringstream oss;
oss << "[";
......@@ -332,7 +328,7 @@ std::string FPGATrackSimEtaPatternFilterTool::to_string(const EtaPattern patt) c
return oss.str();
}
std::string FPGATrackSimEtaPatternFilterTool::to_string(const FPGATrackSimRoad road) const
std::string FPGATrackSimEtaPatternFilterTool::to_string(const FPGATrackSimRoad & road) const
{
std::ostringstream oss;
oss << road.getNHits() << " : [";
......
// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
// Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
#ifndef FPGATRACKSIMETAPATTERNFILTERTOOL_H
#define FPGATRACKSIMETAPATTERNFILTERTOOL_H
......@@ -14,24 +14,23 @@
*
*/
#include "GaudiKernel/ServiceHandle.h"
#include "AthenaBaseComps/AthAlgTool.h"
#include "FPGATrackSimObjects/FPGATrackSimTypes.h"
#include "FPGATrackSimObjects/FPGATrackSimVectors.h"
#include "FPGATrackSimObjects/FPGATrackSimRoad.h"
#include "FPGATrackSimObjects/FPGATrackSimHit.h"
#include "FPGATrackSimObjects/FPGATrackSimTrackPars.h"
#include "FPGATrackSimHough/IFPGATrackSimRoadFilterTool.h"
#include "FPGATrackSimBanks/IFPGATrackSimBankSvc.h"
#include "FPGATrackSimMaps/IFPGATrackSimMappingSvc.h"
#include "AthenaBaseComps/AthAlgTool.h" //inheritance
#include "FPGATrackSimHough/IFPGATrackSimRoadFilterTool.h"//inheritance
#include "FPGATrackSimObjects/FPGATrackSimTypes.h" //SiliconTech, DetectorZone
#include "GaudiKernel/ServiceHandle.h" //member
#include "FPGATrackSimObjects/FPGATrackSimRoad.h" //template param for vector member
#include "FPGATrackSimBanks/IFPGATrackSimBankSvc.h" //ServiceHandle template param
#include "FPGATrackSimMaps/IFPGATrackSimMappingSvc.h" //ServiceHandle template param
#include "TFile.h"
#include <string>
#include <vector>
#include <map>
#include <boost/dynamic_bitset_fwd.hpp>
class FPGATrackSimHit;
class FPGATrackSimEtaPatternFilterTool : public extends<AthAlgTool, IFPGATrackSimRoadFilterTool>
{
......@@ -109,7 +108,7 @@ class FPGATrackSimEtaPatternFilterTool : public extends<AthAlgTool, IFPGATrackSi
///////////////////////////////////////////////////////////////////////
// Convenience
unsigned m_nLayers; // alias to m_FPGATrackSimMapping->PlaneMap1stStage()->getNLogiLayers();
unsigned m_nLayers{}; // alias to m_FPGATrackSimMapping->PlaneMap1stStage()->getNLogiLayers();
// The below maps are created in initialize, with fixed keys. But the counters (values)
// are reset every input road.
......@@ -132,9 +131,9 @@ class FPGATrackSimEtaPatternFilterTool : public extends<AthAlgTool, IFPGATrackSi
void addHitsToMap(FPGATrackSimRoad* r);
void addRedundantPatterns(std::set<EtaPattern> & usedPatterns, EtaPattern const & currPatt, unsigned nExtra);
FPGATrackSimRoad buildRoad(std::pair<EtaPattern, layer_bitmask_t> const & patt, FPGATrackSimRoad* origr, int etaPatternID) const;
std::string to_string(const EtaPattern patt) const;
std::string to_string(const FPGATrackSimRoad road) const;
std::string to_string(const std::vector<unsigned> v) const;
std::string to_string(const EtaPattern & patt) const;
std::string to_string(const FPGATrackSimRoad & road) const;
std::string to_string(const std::vector<unsigned> &v) const;
};
......
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