ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
ForwardDetectors
ALFA
ALFA_Reconstruction
ALFA_LocRec
src
ALFA_LocRec.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 ALFA_LOCREC_h
6
#define ALFA_LOCREC_h
7
8
#include "
AthenaBaseComps/AthAlgorithm.h
"
9
#include "
ALFA_LocRec/ALFA_UserObjects.h
"
//for MDHIT etc
10
#include "
ALFA_Geometry/ALFA_GeometryReader.h
"
//for GEOMETRYCONFIGURATION
11
#include "
StoreGate/ReadHandleKey.h
"
12
#include "
xAODEventInfo/EventInfo.h
"
13
#include "CLHEP/Vector/ThreeVector.h"
14
#include "RtypesCore.h"
15
16
#include <string>
17
#include <list>
18
#include <vector>
19
20
class
ALFA_LocRecEvCollection
;
21
class
ALFA_LocRecODEvCollection
;
22
class
ALFA_LocRecEvent
;
23
class
ALFA_LocRecODEvent
;
24
25
typedef
struct
_USERTRANSFORM
26
{
27
Int_t
iRPot
;
28
Float_t
fAngle
;
29
CLHEP::Hep3Vector
vecRotation
;
30
CLHEP::Hep3Vector
vecTranslation
;
31
32
}
USERTRANSFORM
, *
PUSERTRANSFORM
;
33
34
35
#define NSIDE 3
36
#define NTRACK 10
37
#define NTRIG 4
38
#define NBPM 4
39
//#define MAXNUMTRACKS 100
40
41
class
StoreGateSvc
;
42
43
class
ALFA_LocRec
:
public
AthAlgorithm
44
{
45
public
:
46
ALFA_LocRec
(
const
std::string& name, ISvcLocator* pSvcLocator);
47
~ALFA_LocRec
();
48
49
private
:
50
GEOMETRYCONFIGURATION
m_Config
;
51
ALFA_GeometryReader
*
m_pGeometryReader
;
52
53
ALFA_LocRecEvCollection
*
m_pLocRecEvCollection
;
54
ALFA_LocRecEvent
*
m_pLocRecEvent
;
55
56
ALFA_LocRecODEvCollection
*
m_pLocRecODEvCollection
;
57
ALFA_LocRecODEvent
*
m_pLocRecODEvent
;
58
59
SG::ReadHandleKey<xAOD::EventInfo>
m_eventInfoKey
{
this
,
"EvtInfo"
,
"EventInfo"
,
"EventInfo name"
};
60
61
private
:
62
std::list<eRPotName>
m_ListExistingRPots
;
63
64
UInt_t
m_eventNum
;
// real event number
65
Int_t
m_iDataType
;
// data type (simulation or real data) using in the local reconstruction
66
Int_t
m_iEvent
;
// event number from zero value
67
Int_t
m_iMultiplicityCutMD
;
// for Main Detector
68
Int_t
m_iNumLayerCutMD
;
// for Main Detector
69
Int_t
m_iUVCutMD
;
// for Main Detector
70
Int_t
m_iUVCutMDHalfReco
;
// for Main Detector HalfReco algorithm
71
Int_t
m_iMultiplicityCutOD
;
// for Overlap Detector
72
Float_t
m_fOverlapCutMD
;
// for Main Detector
73
Float_t
m_fDistanceCutOD
;
// for Overlap Detector
74
Float_t
m_iLayerCutOD
;
// for Overlap Detector
75
Bool_t
m_bEdgeMethod_Opt_Sisters
;
// for EdgeMethod
76
Bool_t
m_bEdgeMethod_Opt_UseGaps
;
// for EdgeMethod
77
78
//slope, offset and Z-pos for MD fibers [8][2*10][64]
79
Float_t
m_faMD
[
RPOTSCNT
][
ALFALAYERSCNT
*
ALFAPLATESCNT
][
ALFAFIBERSCNT
];
80
Float_t
m_fbMD
[
RPOTSCNT
][
ALFALAYERSCNT
*
ALFAPLATESCNT
][
ALFAFIBERSCNT
];
81
Float_t
m_fzMD
[
RPOTSCNT
][
ALFALAYERSCNT
*
ALFAPLATESCNT
][
ALFAFIBERSCNT
];
82
83
//slope, offset and Z-pos for OD fibers [8][3][2][2*15], side 0 = right; side 1 = left (in +z direction)
84
Float_t
m_faOD
[
RPOTSCNT
][
ODPLATESCNT
][
ODSIDESCNT
][
ODLAYERSCNT
*
ODFIBERSCNT
];
85
Float_t
m_fbOD
[
RPOTSCNT
][
ODPLATESCNT
][
ODSIDESCNT
][
ODLAYERSCNT
*
ODFIBERSCNT
];
86
Float_t
m_fzOD
[
RPOTSCNT
][
ODPLATESCNT
][
ODSIDESCNT
][
ODLAYERSCNT
*
ODFIBERSCNT
];
87
88
std::string
m_strKeyGeometryForReco
;
89
std::vector<std::string>
m_vecListAlgoMD
;
90
std::vector<std::string>
m_vecListAlgoOD
;
91
std::string
m_strAlgoOD
;
92
std::string
m_strAlgoMD
;
93
std::string
m_strKeyLocRecEvCollection
;
94
std::string
m_strKeyLocRecODEvCollection
;
95
std::string
m_strCollectionName
;
96
std::string
m_strODCollectionName
;
97
98
public
:
99
StatusCode
initialize
();
100
StatusCode
execute
(
const
EventContext& ctx);
101
StatusCode
finalize
();
102
103
private
:
104
bool
ReadGeometryDetCS
();
105
bool
StoreReconstructionGeometry
(
const
eRPotName
eRPName,
const
eFiberType
eFType,
const
char
* szDataDestination);
106
void
SaveGeometry
();
107
void
ClearGeometry
();
108
109
StatusCode
ALFACollectionReading
(std::list<MDHIT> &ListMDHits, std::list<ODHIT> &ListODHits);
110
111
StatusCode
RecordCollection
();
112
StatusCode
RecordODCollection
();
113
StatusCode
ExecuteRecoMethod
(
const
std::string& strAlgo,
const
eRPotName
eRPName,
const
std::list<MDHIT> &ListMDHits,
const
std::list<ODHIT> &ListODHits);
114
};
115
116
#endif
//ALFA_LOCREC_h
ODLAYERSCNT
#define ODLAYERSCNT
Definition
ALFA_CLinkAlg.h:30
RPOTSCNT
#define RPOTSCNT
Definition
ALFA_CLinkAlg.h:26
ODPLATESCNT
#define ODPLATESCNT
Definition
ALFA_CLinkAlg.h:31
ODFIBERSCNT
#define ODFIBERSCNT
Definition
ALFA_CLinkAlg.h:32
USERTRANSFORM
struct _USERTRANSFORM USERTRANSFORM
PUSERTRANSFORM
struct _USERTRANSFORM * PUSERTRANSFORM
ALFA_GeometryReader.h
eRPotName
eRPotName
Definition
ALFA_GeometryReader.h:27
eFiberType
eFiberType
Definition
ALFA_GeometryReader.h:25
ALFA_UserObjects.h
ALFALAYERSCNT
#define ALFALAYERSCNT
Definition
ALFA_constants.h:8
ALFAPLATESCNT
#define ALFAPLATESCNT
Definition
ALFA_constants.h:9
ALFAFIBERSCNT
#define ALFAFIBERSCNT
Definition
ALFA_constants.h:10
ODSIDESCNT
#define ODSIDESCNT
Definition
ALFA_constants.h:16
AthAlgorithm.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
ALFA_GeometryReader
Definition
ALFA_GeometryReader.h:215
ALFA_LocRecEvCollection
Definition
ALFA_LocRecEvCollection.h:13
ALFA_LocRecEvent
Definition
ALFA_LocRecEvent.h:10
ALFA_LocRecODEvCollection
Definition
ALFA_LocRecODEvCollection.h:13
ALFA_LocRecODEvent
Definition
ALFA_LocRecODEvent.h:10
ALFA_LocRec::m_bEdgeMethod_Opt_Sisters
Bool_t m_bEdgeMethod_Opt_Sisters
Definition
ALFA_LocRec.h:75
ALFA_LocRec::m_strODCollectionName
std::string m_strODCollectionName
Definition
ALFA_LocRec.h:96
ALFA_LocRec::m_vecListAlgoMD
std::vector< std::string > m_vecListAlgoMD
Definition
ALFA_LocRec.h:89
ALFA_LocRec::m_fbOD
Float_t m_fbOD[RPOTSCNT][ODPLATESCNT][ODSIDESCNT][ODLAYERSCNT *ODFIBERSCNT]
Definition
ALFA_LocRec.h:85
ALFA_LocRec::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition
ALFA_LocRec.h:59
ALFA_LocRec::execute
StatusCode execute(const EventContext &ctx)
Execute method.
Definition
ALFA_LocRec.cxx:211
ALFA_LocRec::m_pLocRecEvent
ALFA_LocRecEvent * m_pLocRecEvent
Definition
ALFA_LocRec.h:54
ALFA_LocRec::~ALFA_LocRec
~ALFA_LocRec()
Definition
ALFA_LocRec.cxx:143
ALFA_LocRec::m_pLocRecODEvent
ALFA_LocRecODEvent * m_pLocRecODEvent
Definition
ALFA_LocRec.h:57
ALFA_LocRec::m_strAlgoMD
std::string m_strAlgoMD
Definition
ALFA_LocRec.h:92
ALFA_LocRec::ExecuteRecoMethod
StatusCode ExecuteRecoMethod(const std::string &strAlgo, const eRPotName eRPName, const std::list< MDHIT > &ListMDHits, const std::list< ODHIT > &ListODHits)
Definition
ALFA_LocRec.cxx:677
ALFA_LocRec::m_fDistanceCutOD
Float_t m_fDistanceCutOD
Definition
ALFA_LocRec.h:73
ALFA_LocRec::ALFACollectionReading
StatusCode ALFACollectionReading(std::list< MDHIT > &ListMDHits, std::list< ODHIT > &ListODHits)
Definition
ALFA_LocRec.cxx:361
ALFA_LocRec::m_faOD
Float_t m_faOD[RPOTSCNT][ODPLATESCNT][ODSIDESCNT][ODLAYERSCNT *ODFIBERSCNT]
Definition
ALFA_LocRec.h:84
ALFA_LocRec::m_iEvent
Int_t m_iEvent
Definition
ALFA_LocRec.h:66
ALFA_LocRec::m_iMultiplicityCutOD
Int_t m_iMultiplicityCutOD
Definition
ALFA_LocRec.h:71
ALFA_LocRec::m_pLocRecODEvCollection
ALFA_LocRecODEvCollection * m_pLocRecODEvCollection
Definition
ALFA_LocRec.h:56
ALFA_LocRec::m_faMD
Float_t m_faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
Definition
ALFA_LocRec.h:79
ALFA_LocRec::ALFA_LocRec
ALFA_LocRec(const std::string &name, ISvcLocator *pSvcLocator)
Definition
ALFA_LocRec.cxx:24
ALFA_LocRec::m_fbMD
Float_t m_fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
Definition
ALFA_LocRec.h:80
ALFA_LocRec::m_strCollectionName
std::string m_strCollectionName
Definition
ALFA_LocRec.h:95
ALFA_LocRec::m_iUVCutMDHalfReco
Int_t m_iUVCutMDHalfReco
Definition
ALFA_LocRec.h:70
ALFA_LocRec::m_strKeyGeometryForReco
std::string m_strKeyGeometryForReco
Definition
ALFA_LocRec.h:88
ALFA_LocRec::m_fzMD
Float_t m_fzMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
Definition
ALFA_LocRec.h:81
ALFA_LocRec::m_strKeyLocRecODEvCollection
std::string m_strKeyLocRecODEvCollection
Definition
ALFA_LocRec.h:94
ALFA_LocRec::RecordODCollection
StatusCode RecordODCollection()
Definition
ALFA_LocRec.cxx:1045
ALFA_LocRec::m_iDataType
Int_t m_iDataType
Definition
ALFA_LocRec.h:65
ALFA_LocRec::m_iLayerCutOD
Float_t m_iLayerCutOD
Definition
ALFA_LocRec.h:74
ALFA_LocRec::m_fzOD
Float_t m_fzOD[RPOTSCNT][ODPLATESCNT][ODSIDESCNT][ODLAYERSCNT *ODFIBERSCNT]
Definition
ALFA_LocRec.h:86
ALFA_LocRec::RecordCollection
StatusCode RecordCollection()
Definition
ALFA_LocRec.cxx:1021
ALFA_LocRec::m_strAlgoOD
std::string m_strAlgoOD
Definition
ALFA_LocRec.h:91
ALFA_LocRec::SaveGeometry
void SaveGeometry()
Definition
ALFA_LocRec.cxx:614
ALFA_LocRec::StoreReconstructionGeometry
bool StoreReconstructionGeometry(const eRPotName eRPName, const eFiberType eFType, const char *szDataDestination)
Definition
ALFA_LocRec.cxx:563
ALFA_LocRec::m_Config
GEOMETRYCONFIGURATION m_Config
Definition
ALFA_LocRec.h:50
ALFA_LocRec::m_bEdgeMethod_Opt_UseGaps
Bool_t m_bEdgeMethod_Opt_UseGaps
Definition
ALFA_LocRec.h:76
ALFA_LocRec::ClearGeometry
void ClearGeometry()
Definition
ALFA_LocRec.cxx:347
ALFA_LocRec::initialize
StatusCode initialize()
Definition
ALFA_LocRec.cxx:156
ALFA_LocRec::m_pLocRecEvCollection
ALFA_LocRecEvCollection * m_pLocRecEvCollection
Definition
ALFA_LocRec.h:53
ALFA_LocRec::m_pGeometryReader
ALFA_GeometryReader * m_pGeometryReader
Definition
ALFA_LocRec.h:51
ALFA_LocRec::m_iMultiplicityCutMD
Int_t m_iMultiplicityCutMD
Definition
ALFA_LocRec.h:67
ALFA_LocRec::m_iUVCutMD
Int_t m_iUVCutMD
Definition
ALFA_LocRec.h:69
ALFA_LocRec::m_fOverlapCutMD
Float_t m_fOverlapCutMD
Definition
ALFA_LocRec.h:72
ALFA_LocRec::ReadGeometryDetCS
bool ReadGeometryDetCS()
Definition
ALFA_LocRec.cxx:421
ALFA_LocRec::m_ListExistingRPots
std::list< eRPotName > m_ListExistingRPots
Definition
ALFA_LocRec.h:62
ALFA_LocRec::finalize
StatusCode finalize()
Definition
ALFA_LocRec.cxx:337
ALFA_LocRec::m_eventNum
UInt_t m_eventNum
Definition
ALFA_LocRec.h:64
ALFA_LocRec::m_iNumLayerCutMD
Int_t m_iNumLayerCutMD
Definition
ALFA_LocRec.h:68
ALFA_LocRec::m_vecListAlgoOD
std::vector< std::string > m_vecListAlgoOD
Definition
ALFA_LocRec.h:90
ALFA_LocRec::m_strKeyLocRecEvCollection
std::string m_strKeyLocRecEvCollection
Definition
ALFA_LocRec.h:93
AthAlgorithm::AthAlgorithm
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthAlgorithm.cxx:10
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
StoreGateSvc
The Athena Transient Store API.
Definition
StoreGateSvc.h:120
GEOMETRYCONFIGURATION
Definition
ALFA_GeometryReader.h:196
_USERTRANSFORM
Definition
ALFA_DetectorTool.h:18
_USERTRANSFORM::iRPot
int iRPot
Definition
ALFA_DetectorTool.h:19
_USERTRANSFORM::vecTranslation
CLHEP::Hep3Vector vecTranslation
Definition
ALFA_DetectorTool.h:22
_USERTRANSFORM::vecRotation
CLHEP::Hep3Vector vecRotation
Definition
ALFA_DetectorTool.h:21
_USERTRANSFORM::fAngle
double fAngle
Definition
ALFA_DetectorTool.h:20
EventInfo.h
Generated on
for ATLAS Offline Software by
1.17.0