ATLAS Offline Software
Macros | Typedefs | Enumerations | Functions
FPGATrackSimTypes.h File Reference
#include <iostream>
#include <cmath>
#include <array>
#include <cstdint>
Include dependency graph for FPGATrackSimTypes.h:

Go to the source code of this file.

Macros

#define MODULE_BADMODULE   -1
 
#define SECTOR_NOTFOUND   -1
 
#define FITTRACKS_OK   0
 
#define FITTRACKS_BAD   -1
 

Typedefs

typedef int32_t pid_t
 
typedef int32_t module_t
 
typedef int32_t sector_t
 
typedef uint32_t layer_bitmask_t
 

Enumerations

enum  SiliconTech { SiliconTech::strip, SiliconTech::pixel, SiliconTech::nTechs, SiliconTech::undefined }
 
enum  DetectorZone {
  DetectorZone::barrel, DetectorZone::posEndcap, DetectorZone::negEndcap, DetectorZone::nZones,
  DetectorZone::undefined
}
 
enum  OfflineHitType {
  OfflineHitType::Measurement, OfflineHitType::InertMaterial, OfflineHitType::BremPoint, OfflineHitType::Scatterer,
  OfflineHitType::Perigee, OfflineHitType::Outlier, OfflineHitType::Hole, OfflineHitType::Other
}
 
enum  TrackStage { TrackStage::FIRST, TrackStage::SECOND }
 
enum  TrackCorrType { TrackCorrType::None = 0, TrackCorrType::First = 1, TrackCorrType::Second = 2 }
 
enum  SampleType {
  SampleType::skipTruth, SampleType::singleElectrons =11, SampleType::singleMuons =13, SampleType::singlePions =211,
  SampleType::LLPs =1000
}
 

Functions

std::ostream & operator<< (std::ostream &os, SiliconTech t)
 
std::ostream & operator<< (std::ostream &os, DetectorZone t)
 
double eucnorm (double x, double y, double z)
 
double eucangle (double x, double y, double z, double u, double v, double w)
 

Macro Definition Documentation

◆ FITTRACKS_BAD

#define FITTRACKS_BAD   -1

Definition at line 17 of file FPGATrackSimTypes.h.

◆ FITTRACKS_OK

#define FITTRACKS_OK   0

Definition at line 16 of file FPGATrackSimTypes.h.

◆ MODULE_BADMODULE

#define MODULE_BADMODULE   -1

Definition at line 14 of file FPGATrackSimTypes.h.

◆ SECTOR_NOTFOUND

#define SECTOR_NOTFOUND   -1

Definition at line 15 of file FPGATrackSimTypes.h.

Typedef Documentation

◆ layer_bitmask_t

typedef uint32_t layer_bitmask_t

Definition at line 22 of file FPGATrackSimTypes.h.

◆ module_t

typedef int32_t module_t

Definition at line 20 of file FPGATrackSimTypes.h.

◆ pid_t

typedef int32_t pid_t

Definition at line 19 of file FPGATrackSimTypes.h.

◆ sector_t

typedef int32_t sector_t

Definition at line 21 of file FPGATrackSimTypes.h.

Enumeration Type Documentation

◆ DetectorZone

enum DetectorZone
strong
Enumerator
barrel 
posEndcap 
negEndcap 
nZones 
undefined 

Definition at line 28 of file FPGATrackSimTypes.h.

◆ OfflineHitType

enum OfflineHitType
strong
Enumerator
Measurement 
InertMaterial 
BremPoint 
Scatterer 
Perigee 
Outlier 
Hole 
Other 

Definition at line 31 of file FPGATrackSimTypes.h.

◆ SampleType

enum SampleType
strong
Enumerator
skipTruth 
singleElectrons 
singleMuons 
singlePions 
LLPs 

Definition at line 40 of file FPGATrackSimTypes.h.

◆ SiliconTech

enum SiliconTech
strong
Enumerator
strip 
pixel 
nTechs 
undefined 

Definition at line 25 of file FPGATrackSimTypes.h.

◆ TrackCorrType

enum TrackCorrType
strong
Enumerator
None 
First 
Second 

Definition at line 37 of file FPGATrackSimTypes.h.

37 { None = 0, First = 1, Second = 2 };

◆ TrackStage

enum TrackStage
strong
Enumerator
FIRST 
SECOND 

Definition at line 34 of file FPGATrackSimTypes.h.

34 { FIRST, SECOND };

Function Documentation

◆ eucangle()

double eucangle ( double  x,
double  y,
double  z,
double  u,
double  v,
double  w 
)
inline

Definition at line 52 of file FPGATrackSimTypes.h.

53 {
54  return acos((x * u + y * v + z * w) / (eucnorm(x, y, z) * eucnorm(u, v, w)));
55 }

◆ eucnorm()

double eucnorm ( double  x,
double  y,
double  z 
)
inline

Definition at line 46 of file FPGATrackSimTypes.h.

47 {
48  return sqrt(pow(x, 2) + pow(y, 2) + pow(z, 2));
49 }

◆ operator<<() [1/2]

std::ostream& operator<< ( std::ostream &  os,
DetectorZone  t 
)

Definition at line 16 of file FPGATrackSimTypes.cxx.

17 {
18  switch (t)
19  {
20  case DetectorZone::barrel: return (os << "barrel");
21  case DetectorZone::posEndcap: return (os << "posEndcap");
22  case DetectorZone::negEndcap: return (os << "negEndcap");
23  default: return (os << "undefined");
24  }
25 }

◆ operator<<() [2/2]

std::ostream& operator<< ( std::ostream &  os,
SiliconTech  t 
)

Definition at line 6 of file FPGATrackSimTypes.cxx.

7 {
8  switch (t)
9  {
10  case SiliconTech::strip: return (os << "strip");
11  case SiliconTech::pixel: return (os << "pixel");
12  default: return (os << "undefined");
13  }
14 }
OfflineHitType::Hole
@ Hole
SampleType::LLPs
@ LLPs
SiliconTech::strip
@ strip
OfflineHitType::InertMaterial
@ InertMaterial
DetectorZone::posEndcap
@ posEndcap
OfflineHitType::BremPoint
@ BremPoint
OfflineHitType::Other
@ Other
OfflineHitType::Measurement
@ Measurement
conifer::pow
constexpr int pow(int x)
Definition: conifer.h:20
TrackCorrType::Second
@ Second
DetectorZone::nZones
@ nZones
SampleType::singleElectrons
@ singleElectrons
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
x
#define x
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:83
HitType::undefined
@ undefined
OfflineHitType::Perigee
@ Perigee
z
#define z
TrackStage::FIRST
@ FIRST
SiliconTech::nTechs
@ nTechs
TrackStage::SECOND
@ SECOND
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
SampleType::skipTruth
@ skipTruth
TrackCorrType::None
@ None
TrackCorrType::First
@ First
python.PyAthena.v
v
Definition: PyAthena.py:157
DetectorZone::negEndcap
@ negEndcap
y
#define y
DetectorZone::barrel
@ barrel
OfflineHitType::Scatterer
@ Scatterer
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:200
SampleType::singlePions
@ singlePions
OfflineHitType::Outlier
@ Outlier
SampleType::singleMuons
@ singleMuons
eucnorm
double eucnorm(double x, double y, double z)
Definition: FPGATrackSimTypes.h:46
SiliconTech::pixel
@ pixel