ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_FSIHelper.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef SCT_GEOMODEL_SCT_FSIHELPER_H
6#define SCT_GEOMODEL_SCT_FSIHELPER_H
7
8#include <map>
9#include <memory>
10#include <string>
11#include <vector>
12
13class SCT_DataBase;
14
16{
17public:
18 FSILocation(const std::string& name,
19 double radius,
20 double phi,
21 int side);
22
23 const std::string & name() const {return m_name;}
24 double radius() const {return m_radius;}
25 double phi() const {return m_phi;}
26 int side() const {return m_side;}
27
28
29private:
30 std::string m_name;
31 double m_radius;
32 double m_phi;
33 int m_side;
34};
35
37{
38
39public:
41 int simType,
42 const std::string & simTypeString,
43 const std::string & locationType,
44 const std::string & actualType);
45 const FSILocation & location() const {return *m_location;}
46 int simType() const {return m_simType;}
47 const std::string & simTypeString() const {return m_simTypeStr;}
48 const std::string & locationType() const {return m_locType;}
49 const std::string & actualType() const {return m_actualType;}
50
51private:
54 std::string m_simTypeStr;
55 std::string m_locType;
56 std::string m_actualType;
57
58};
59
60
62{
63public:
65 ~FSIHelper();
66
67 // Gte vector of FSI details for a given wheel
68 const std::vector<const FSIDetails *> & fsiVector(int wheel) const;
69
70private:
71 void fill();
72
73 std::vector<std::vector<std::unique_ptr<FSIDetails>>> m_wheelLocMap;
74 std::vector<std::vector<const FSIDetails *>> m_wheelLocMapConst;
75 std::map<std::string, std::unique_ptr<FSILocation>> m_locationTypes;
76
78
79};
80
81#endif // SCT_GEOMODEL_SCT_FSIHELPER_H
const FSILocation * m_location
std::string m_actualType
std::string m_locType
const std::string & locationType() const
int simType() const
const std::string & simTypeString() const
FSIDetails(const FSILocation *location, int simType, const std::string &simTypeString, const std::string &locationType, const std::string &actualType)
const FSILocation & location() const
std::string m_simTypeStr
const std::string & actualType() const
std::vector< std::vector< const FSIDetails * > > m_wheelLocMapConst
FSIHelper(SCT_DataBase *rdb)
SCT_DataBase * m_rdb
const std::vector< const FSIDetails * > & fsiVector(int wheel) const
std::vector< std::vector< std::unique_ptr< FSIDetails > > > m_wheelLocMap
std::map< std::string, std::unique_ptr< FSILocation > > m_locationTypes
double m_radius
FSILocation(const std::string &name, double radius, double phi, int side)
double phi() const
double radius() const
std::string m_name
int side() const
const std::string & name() const