ATLAS Offline Software
MMLoadVariables.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 MMLOADVARIABLES_H
6 #define MMLOADVARIABLES_H
7 
10 #include "AtlasHepMC/GenEvent.h"
15 #include "StoreGate/StoreGateSvc.h"
17 #include "TrigT1NSWSimTools/MMT_struct.h" //for digitWrapper, hitData_key, hitData_entry, evInf_entry
18 #include "Math/Vector4D.h"
20 #include <map>
21 #include <vector>
22 #include <string>
23 #include <cmath>
24 #include <stdexcept>
25 
26 namespace MuonGM {
27  class MuonDetectorManager;
28 }
29 
31  std::vector<std::string> NSWMM_dig_stationName{};
32  std::vector<int> NSWMM_dig_stationEta{};
33  std::vector<int> NSWMM_dig_stationPhi{};
34  std::vector<int> NSWMM_dig_multiplet{};
35  std::vector<int> NSWMM_dig_gas_gap{};
36  std::vector<int> NSWMM_dig_channel{};
37 
38  std::vector< std::vector<float> > NSWMM_dig_time{};
39  std::vector< std::vector<float> > NSWMM_dig_charge{};
40  std::vector< std::vector<int> > NSWMM_dig_stripPosition{};
41  std::vector< std::vector<double> > NSWMM_dig_stripLposX{};
42  std::vector< std::vector<double> > NSWMM_dig_stripLposY{};
43  std::vector< std::vector<double> > NSWMM_dig_stripGposX{};
44  std::vector< std::vector<double> > NSWMM_dig_stripGposY{};
45  std::vector< std::vector<double> > NSWMM_dig_stripGposZ{};
46 };
47 
48 
49  class MMLoadVariables : public AthMessaging {
50 
51  public:
52  MMLoadVariables(const MuonGM::MuonDetectorManager* detManager, const MmIdHelper* idhelper);
53 
54  StatusCode getMMDigitsInfo(const EventContext& ctx,
55  const McEventCollection *truthContainer,
56  const TrackRecordCollection* trackRecordCollection,
57  const MmDigitContainer *nsw_MmDigitContainer,
58  std::map<std::pair<int,unsigned int>,std::vector<digitWrapper> >& entries,
59  std::map<std::pair<int,unsigned int>,std::vector<hitData_entry> >& Hits_Data_Set_Time,
60  std::map<std::pair<int,unsigned int>,evInf_entry>& Event_Info,
61  histogramDigitVariables &histDigVars) const;
62 
63  private:
66  };
67 #endif
MmDigitContainer
Use IdentifiableContainer with MmDigitCollection.
Definition: MmDigitContainer.h:50
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
GenEvent.h
histogramDigitVariables::NSWMM_dig_stripLposY
std::vector< std::vector< double > > NSWMM_dig_stripLposY
Definition: MMLoadVariables.h:42
getMessageSvc.h
singleton-like access to IMessageSvc via open function and helper
xAODP4Helpers.h
histogramDigitVariables::NSWMM_dig_channel
std::vector< int > NSWMM_dig_channel
Definition: MMLoadVariables.h:36
AtlasHitsVector
Definition: AtlasHitsVector.h:33
histogramDigitVariables::NSWMM_dig_multiplet
std::vector< int > NSWMM_dig_multiplet
Definition: MMLoadVariables.h:34
histogramDigitVariables::NSWMM_dig_stripGposX
std::vector< std::vector< double > > NSWMM_dig_stripGposX
Definition: MMLoadVariables.h:43
MMLoadVariables
Definition: MMLoadVariables.h:49
MMLoadVariables::MMLoadVariables
MMLoadVariables(const MuonGM::MuonDetectorManager *detManager, const MmIdHelper *idhelper)
Definition: MMLoadVariables.cxx:8
MmDigit.h
histogramDigitVariables::NSWMM_dig_stripGposY
std::vector< std::vector< double > > NSWMM_dig_stripGposY
Definition: MMLoadVariables.h:44
histogramDigitVariables::NSWMM_dig_stationEta
std::vector< int > NSWMM_dig_stationEta
Definition: MMLoadVariables.h:32
histogramDigitVariables::NSWMM_dig_stripPosition
std::vector< std::vector< int > > NSWMM_dig_stripPosition
Definition: MMLoadVariables.h:40
McEventCollection.h
MmDigitContainer.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MMLoadVariables::m_detManager
const MuonGM::MuonDetectorManager * m_detManager
MuonDetectorManager.
Definition: MMLoadVariables.h:64
MmIdHelper.h
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
evInf_entry
Definition: MMT_struct.h:59
histogramDigitVariables::NSWMM_dig_stationName
std::vector< std::string > NSWMM_dig_stationName
Definition: MMLoadVariables.h:31
histogramDigitVariables::NSWMM_dig_stationPhi
std::vector< int > NSWMM_dig_stationPhi
Definition: MMLoadVariables.h:33
MMT_struct.h
McEventCollection
This defines the McEventCollection, which is really just an ObjectVector of McEvent objects.
Definition: McEventCollection.h:33
MMLoadVariables::m_MmIdHelper
const MmIdHelper * m_MmIdHelper
MM offline Id helper.
Definition: MMLoadVariables.h:65
TrackRecordCollection.h
histogramDigitVariables::NSWMM_dig_gas_gap
std::vector< int > NSWMM_dig_gas_gap
Definition: MMLoadVariables.h:35
histogramDigitVariables
Definition: MMLoadVariables.h:30
histogramDigitVariables::NSWMM_dig_stripGposZ
std::vector< std::vector< double > > NSWMM_dig_stripGposZ
Definition: MMLoadVariables.h:45
MmIdHelper
Definition: MmIdHelper.h:54
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:49
histogramDigitVariables::NSWMM_dig_stripLposX
std::vector< std::vector< double > > NSWMM_dig_stripLposX
Definition: MMLoadVariables.h:41
AthMessaging.h
entries
double entries
Definition: listroot.cxx:49
histogramDigitVariables::NSWMM_dig_charge
std::vector< std::vector< float > > NSWMM_dig_charge
Definition: MMLoadVariables.h:39
histogramDigitVariables::NSWMM_dig_time
std::vector< std::vector< float > > NSWMM_dig_time
Definition: MMLoadVariables.h:38
StoreGateSvc.h
MMLoadVariables::getMMDigitsInfo
StatusCode getMMDigitsInfo(const EventContext &ctx, const McEventCollection *truthContainer, const TrackRecordCollection *trackRecordCollection, const MmDigitContainer *nsw_MmDigitContainer, std::map< std::pair< int, unsigned int >, std::vector< digitWrapper > > &entries, std::map< std::pair< int, unsigned int >, std::vector< hitData_entry > > &Hits_Data_Set_Time, std::map< std::pair< int, unsigned int >, evInf_entry > &Event_Info, histogramDigitVariables &histDigVars) const
Definition: MMLoadVariables.cxx:14