ATLAS Offline Software
Loading...
Searching...
No Matches
OnlineIdGenerator.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#include "OnlineIdGenerator.h"
7#include "Identifier/Identifier.h"
9
10#include <string>
11#include <cmath>
12
14//hardcoded: to be replaced later
15
18
19 std::uint32_t
20 OnlineIdGenerator::rod32(int bec, int layer_disk, int phi, int eta) const{
21 std::uint32_t result = RodId::UNKNOWN;
22 const auto absBec = std::abs(bec);
23 if (bec == 0){
24 result = (eta>0) ? BARREL_A : BARREL_C;
25 result |= (static_cast<std::uint32_t>(phi)<<8);
26 } else if (absBec == 2){
27 result = (bec>0)? ENDCAP_A:ENDCAP_C;
28 result |= (static_cast<std::uint32_t>(std::abs(eta))<<8);
29 }
30 return result+layer_disk;
31 }
32
33 std::uint32_t
34 OnlineIdGenerator::rod(const Identifier & offId) const{
35 const int bec = m_pITkId->barrel_ec(offId);
36 const int eta = m_pITkId->eta_module(offId);
37 const int layer_disk = m_pITkId->layer_disk(offId);
38 const int phi = m_pITkId->phi_module(offId);
39 return rod32(bec, layer_disk, phi, eta);
40 }
41
42 std::uint32_t
44 return static_cast< std::uint32_t>(std::abs(eta));
45 }
46 std::uint32_t
48 return static_cast< std::uint32_t>(phi);
49 }
50
53 const int bec = m_pITkId->barrel_ec(offId);
54 const auto absBec = std::abs(bec);
55 const int eta = m_pITkId->eta_module(offId);
56 const int layer_disk = m_pITkId->layer_disk(offId);
57 const int phi = m_pITkId->phi_module(offId);
58 const std::uint32_t rod = rod32(bec, layer_disk, phi, eta);
59 const std::uint32_t fibre = (absBec == 0)? barrelLink16(eta) : endcapLink16(phi);
60 return ITkStripOnlineId(rod,fibre);
61 }
62
63
64}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
This is an Identifier helper class for the SCT subdetector.
std::uint32_t rod(const Identifier &offId) const
std::uint32_t barrelLink16(int eta) const
std::uint32_t rod32(int bec, int layer_disk, int phi, int eta=0) const
ITkStripOnlineId operator()(const Identifier &offId)
std::uint32_t endcapLink16(int phi) const
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68