ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
ForwardDetectors
ALFA
ALFA_Reconstruction
ALFA_LocRec
ALFA_LocRec
ALFA_HalfReco.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ALFA_HALFRECO_H
6
#define ALFA_HALFRECO_H
7
8
#include <iostream>
9
#include <vector>
10
11
#include "
AthenaBaseComps/AthMessaging.h
"
12
13
#include "GaudiKernel/StatusCode.h"
14
15
#include "Rtypes.h"
16
#include "TMath.h"
17
#include "TH1.h"
18
#include "TH2.h"
19
20
#include "
ALFA_LocRec/ALFA_UserObjects.h
"
21
#include "
ALFA_Geometry/ALFA_constants.h
"
22
23
class
ALFA_HalfReco
:
public
AthMessaging
24
{
25
public
:
26
ALFA_HalfReco
();
27
~ALFA_HalfReco
();
28
29
private
:
30
Int_t
m_iUVCut
;
31
Int_t
m_iHalf
;
32
Int_t
m_iRPot
;
33
// Int_t m_iNumHitsLayer[ALFAFIBERSCNT]; //number of hits in the layer
34
Int_t
m_iMultiplicityCut
;
35
Float_t
m_fOverlapCut
;
36
Float_t
m_fRecXPos
;
37
Float_t
m_fRecYPos
;
38
Float_t
m_faMD
[
RPOTSCNT
][
ALFALAYERSCNT
*
ALFAPLATESCNT
][
ALFAFIBERSCNT
];
//slope, offset and Z-pos for MD fibers [2*10][64]
39
Float_t
m_fbMD
[
RPOTSCNT
][
ALFALAYERSCNT
*
ALFAPLATESCNT
][
ALFAFIBERSCNT
];
40
41
Int_t
m_iNumU
,
m_iNumV
;
42
double
m_fOvU
,
m_fOvV
;
43
Int_t
m_fhits
[
ALFALAYERSCNT
*
ALFAPLATESCNT
];
44
45
46
private
:
47
std::map<int, FIBERS>
m_MapLayers
;
48
49
public
:
50
StatusCode
Initialize
(Float_t faMD[
RPOTSCNT
][
ALFALAYERSCNT
*
ALFAPLATESCNT
][
ALFAFIBERSCNT
], Float_t fbMD[
RPOTSCNT
][
ALFALAYERSCNT
*
ALFAPLATESCNT
][
ALFAFIBERSCNT
], Int_t iHalf, Int_t fMultiplicityCut, Int_t iUVCut, Float_t fOverlapCut);
51
StatusCode
Execute
(Int_t iRPot,
const
std::list<MDHIT> &ListMDHits);
52
StatusCode
Finalize
(Float_t &fRecXPos, Float_t &fRecYPos);
53
54
void
GetData
(Int_t &iNumU, Int_t &iNumV, Float_t &fOvU, Float_t &fOvV, Int_t (&iFibSel)[
ALFALAYERSCNT
*
ALFAPLATESCNT
]);
55
56
private
:
57
void
HistFill
(Float_t &b_p, Float_t &b_n, Float_t &Ov_p, Float_t &Ov_n, Int_t &NumU, Int_t &NumV, Int_t iFlag);
58
void
OverLap
();
59
void
SetData
(Int_t iNumU, Int_t iNumV, Float_t fOvU, Float_t fOvV);
60
61
};
62
63
#endif
// ALFA_HALFRECO_H
RPOTSCNT
#define RPOTSCNT
Definition
ALFA_CLinkAlg.h:26
ALFA_UserObjects.h
ALFA_constants.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
AthMessaging.h
ALFA_HalfReco::SetData
void SetData(Int_t iNumU, Int_t iNumV, Float_t fOvU, Float_t fOvV)
Definition
ALFA_HalfReco.cxx:437
ALFA_HalfReco::Finalize
StatusCode Finalize(Float_t &fRecXPos, Float_t &fRecYPos)
Definition
ALFA_HalfReco.cxx:121
ALFA_HalfReco::m_iNumU
Int_t m_iNumU
Definition
ALFA_HalfReco.h:41
ALFA_HalfReco::m_iMultiplicityCut
Int_t m_iMultiplicityCut
Definition
ALFA_HalfReco.h:34
ALFA_HalfReco::m_iUVCut
Int_t m_iUVCut
Definition
ALFA_HalfReco.h:30
ALFA_HalfReco::~ALFA_HalfReco
~ALFA_HalfReco()
Definition
ALFA_HalfReco.cxx:33
ALFA_HalfReco::m_fbMD
Float_t m_fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
Definition
ALFA_HalfReco.h:39
ALFA_HalfReco::ALFA_HalfReco
ALFA_HalfReco()
Definition
ALFA_HalfReco.cxx:7
ALFA_HalfReco::m_iNumV
Int_t m_iNumV
Definition
ALFA_HalfReco.h:41
ALFA_HalfReco::Execute
StatusCode Execute(Int_t iRPot, const std::list< MDHIT > &ListMDHits)
Definition
ALFA_HalfReco.cxx:63
ALFA_HalfReco::Initialize
StatusCode Initialize(Float_t faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Int_t iHalf, Int_t fMultiplicityCut, Int_t iUVCut, Float_t fOverlapCut)
Definition
ALFA_HalfReco.cxx:37
ALFA_HalfReco::GetData
void GetData(Int_t &iNumU, Int_t &iNumV, Float_t &fOvU, Float_t &fOvV, Int_t(&iFibSel)[ALFALAYERSCNT *ALFAPLATESCNT])
Definition
ALFA_HalfReco.cxx:449
ALFA_HalfReco::m_fRecYPos
Float_t m_fRecYPos
Definition
ALFA_HalfReco.h:37
ALFA_HalfReco::OverLap
void OverLap()
Definition
ALFA_HalfReco.cxx:322
ALFA_HalfReco::m_fOvU
double m_fOvU
Definition
ALFA_HalfReco.h:42
ALFA_HalfReco::m_fRecXPos
Float_t m_fRecXPos
Definition
ALFA_HalfReco.h:36
ALFA_HalfReco::m_fOverlapCut
Float_t m_fOverlapCut
Definition
ALFA_HalfReco.h:35
ALFA_HalfReco::HistFill
void HistFill(Float_t &b_p, Float_t &b_n, Float_t &Ov_p, Float_t &Ov_n, Int_t &NumU, Int_t &NumV, Int_t iFlag)
Definition
ALFA_HalfReco.cxx:132
ALFA_HalfReco::m_iHalf
Int_t m_iHalf
Definition
ALFA_HalfReco.h:31
ALFA_HalfReco::m_faMD
Float_t m_faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
Definition
ALFA_HalfReco.h:38
ALFA_HalfReco::m_fhits
Int_t m_fhits[ALFALAYERSCNT *ALFAPLATESCNT]
Definition
ALFA_HalfReco.h:43
ALFA_HalfReco::m_MapLayers
std::map< int, FIBERS > m_MapLayers
Definition
ALFA_HalfReco.h:47
ALFA_HalfReco::m_iRPot
Int_t m_iRPot
Definition
ALFA_HalfReco.h:32
ALFA_HalfReco::m_fOvV
double m_fOvV
Definition
ALFA_HalfReco.h:42
AthMessaging::AthMessaging
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Definition
AthMessaging.cxx:13
Generated on
for ATLAS Offline Software by
1.17.0