ATLAS Offline Software
Loading...
Searching...
No Matches
ForwardTransportSvc Class Reference

#include <ForwardTransportSvc.h>

Inheritance diagram for ForwardTransportSvc:
Collaboration diagram for ForwardTransportSvc:

Public Member Functions

 ForwardTransportSvc (const std::string &name, ISvcLocator *svc)
virtual StatusCode initialize ()
virtual ForwardTracker::ConfigData getConfigData () const
virtual bool getTransportFlag () const
virtual double getEtaCut () const
virtual double getXiCut () const
virtual bool selectedParticle (G4ThreeVector mom, int pid)

Private Attributes

ForwardTracker::ConfigData m_cData
BooleanProperty m_transportFlag {this, "TransportFlag", false}
DoubleProperty m_etaCut {this, "EtaCut", 7.5}
DoubleProperty m_xiCut {this, "XiCut", 0.8}

Detailed Description

Definition at line 12 of file ForwardTransportSvc.h.

Constructor & Destructor Documentation

◆ ForwardTransportSvc()

ForwardTransportSvc::ForwardTransportSvc ( const std::string & name,
ISvcLocator * svc )

Definition at line 17 of file ForwardTransportSvc.cxx.

17 :
18 base_class(name,svc)
19{
20 declareProperty("TwissFile1", m_cData.twissFile1);
21 declareProperty("TwissFile2", m_cData.twissFile2);
22 declareProperty("PositionC1", m_cData.positionC1);
23 declareProperty("PositionC2", m_cData.positionC2);
24 declareProperty("ApertureC1", m_cData.apertureC1);
25 declareProperty("ApertureC2", m_cData.apertureC2);
26 declareProperty("EndMarker", m_cData.endMarker);
27}
ForwardTracker::ConfigData m_cData

Member Function Documentation

◆ getConfigData()

virtual ForwardTracker::ConfigData ForwardTransportSvc::getConfigData ( ) const
inlinevirtual

Definition at line 19 of file ForwardTransportSvc.h.

19{ return m_cData; }

◆ getEtaCut()

virtual double ForwardTransportSvc::getEtaCut ( ) const
inlinevirtual

Definition at line 21 of file ForwardTransportSvc.h.

21{ return m_etaCut; }

◆ getTransportFlag()

virtual bool ForwardTransportSvc::getTransportFlag ( ) const
inlinevirtual

Definition at line 20 of file ForwardTransportSvc.h.

20{ return m_transportFlag; }
BooleanProperty m_transportFlag

◆ getXiCut()

virtual double ForwardTransportSvc::getXiCut ( ) const
inlinevirtual

Definition at line 22 of file ForwardTransportSvc.h.

22{ return m_xiCut; }

◆ initialize()

StatusCode ForwardTransportSvc::initialize ( )
virtual

Definition at line 29 of file ForwardTransportSvc.cxx.

29 {
30
31 ATH_MSG_INFO("ForwardTransportSvc::initialize");
32 return StatusCode::SUCCESS;
33}
#define ATH_MSG_INFO(x)

◆ selectedParticle()

bool ForwardTransportSvc::selectedParticle ( G4ThreeVector mom,
int pid )
virtual

Definition at line 35 of file ForwardTransportSvc.cxx.

35 {
36
37 std::ifstream pfile(m_cData.twissFile1.c_str());
38 double beamEnergy = ForwardTracker::GetBeamEnergy(pfile)*Gaudi::Units::GeV;
39
40 double eta = fabs(momentum.pseudoRapidity());
41 double xi = momentum.mag()/beamEnergy;
42
43 ATH_MSG_INFO(" pseudoRapidity: " << std::setprecision(9) << eta);
44 ATH_MSG_INFO(" p/beamEnergy: " << std::setprecision(9) << xi);
45
46 if (eta < m_etaCut) return false;
47 if (xi < m_xiCut) return false;
48
49 if (m_transportFlag) {
50
51 if (pid == 2212) return true; // proton
52 }
53 else {
54
55 if (pid == 2112) return true; // neutron
56 if (pid == 22) return true; // gamma
57 if (pid == 3122) return true; // lambda
58 }
59
60 return false;
61}
Scalar eta() const
pseudorapidity method
double GetBeamEnergy(std::ifstream &)

Member Data Documentation

◆ m_cData

ForwardTracker::ConfigData ForwardTransportSvc::m_cData
private

Definition at line 27 of file ForwardTransportSvc.h.

◆ m_etaCut

DoubleProperty ForwardTransportSvc::m_etaCut {this, "EtaCut", 7.5}
private

Definition at line 29 of file ForwardTransportSvc.h.

29{this, "EtaCut", 7.5}; // Minimum pseudorapidty of transported particles

◆ m_transportFlag

BooleanProperty ForwardTransportSvc::m_transportFlag {this, "TransportFlag", false}
private

Definition at line 28 of file ForwardTransportSvc.h.

28{this, "TransportFlag", false}; // Transport only neutrals (0) or charged (1)

◆ m_xiCut

DoubleProperty ForwardTransportSvc::m_xiCut {this, "XiCut", 0.8}
private

Definition at line 30 of file ForwardTransportSvc.h.

30{this, "XiCut", 0.8}; // Minimum momentum over beam energy of transported particles

The documentation for this class was generated from the following files: