ATLAS Offline Software
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
InDetProjHelper Class Reference

#include <InDetProjHelper.h>

Inheritance diagram for InDetProjHelper:
Collaboration diagram for InDetProjHelper:

Classes

class  Imp
 

Public Types

enum  PartsFlag {
  NoParts = 0x00, BarrelA = 0x01, BarrelC = 0x02, EndCapA = 0x04,
  EndCapC = 0x08
}
 

Public Member Functions

virtual ~InDetProjHelper ()
 
InDetProjFlags::InDetProjPartsFlags setParts (InDetProjFlags::InDetProjPartsFlags)
 
InDetProjFlags::InDetProjPartsFlags parts () const
 
void clipPath (const std::vector< Amg::Vector3D > &path, Amg::SetVectorVector3D &resulting_subpaths) const
 
void clipPath (const std::vector< Amg::Vector3D > &path, Amg::SetVectorVector3D &resulting_subpaths_barrelA, Amg::SetVectorVector3D &resulting_subpaths_barrelC, Amg::SetVectorVector3D &resulting_subpaths_endcapA, Amg::SetVectorVector3D &resulting_subpaths_endcapC) const
 
void projectPath (const std::vector< Amg::Vector3D > &path, Amg::SetVectorVector3D &resulting_projections) const
 
void projectPath (const std::vector< Amg::Vector3D > &path, Amg::SetVectorVector3D &resulting_projections_barrelA, Amg::SetVectorVector3D &resulting_projections_barrelC, Amg::SetVectorVector3D &resulting_projections_endcapA, Amg::SetVectorVector3D &resulting_projections_endcapC) const
 
PartsFlags touchedParts (const std::vector< Amg::Vector3D > &path) const
 
void setSystemBasePointer (IVP1System *sys)
 
void message (const QString &) const
 
void message (const QStringList &, const QString &addtoend="") const
 
void message (const QString &addtostart, const QStringList &, const QString &addtoend="") const
 
void messageDebug (const QString &) const
 
void messageDebug (const QStringList &, const QString &addtoend="") const
 
void messageDebug (const QString &addtostart, const QStringList &, const QString &addtoend="") const
 
void messageVerbose (const QString &) const
 
void messageVerbose (const QStringList &, const QString &addtoend="") const
 
void messageVerbose (const QString &addtostart, const QStringList &, const QString &addtoend="") const
 
IVP1SystemsystemBase () const
 
QString helperClassName () const
 

Static Public Member Functions

static InDetProjHelpercreatePixelHelper (IVP1System *sys=0)
 
static InDetProjHelpercreateSCTHelper (IVP1System *sys=0)
 
static InDetProjHelpercreateTRTHelper (IVP1System *sys=0)
 
static void transformECPointToZPlane_specialZtoR (Amg::Vector3D &p, const double &planeZ, const double &planeRBegin, const double &endcapZBegin, const double &squeezeFactor)
 
static bool verbose ()
 
static void warnUndeletedInstances ()
 
static QString str (const QString &s)
 
static QString str (const char *c)
 
static QString str (const bool b)
 
static QString str (const QColor &)
 
static QString str (const SbColor &)
 
static QString str (const VP1Interval &)
 
static QString str (const SbVec2d &)
 
static QString str (const SbVec2f &)
 
static QString str (const SbVec2s &)
 
static QString str (const SbVec3d &)
 
static QString str (const SbVec3f &)
 
static QString str (const SbVec3s &)
 
static QString str (const SbVec4d &)
 
static QString str (const SbVec4f &)
 
static QString str (short int n)
 
static QString str (unsigned short int n)
 
static QString str (long n)
 
static QString str (ulong n)
 
static QString str (int n)
 
static QString str (uint n)
 
static QString str (qlonglong n)
 
static QString str (qulonglong n)
 
static QString str (const double &d)
 
static QString str (const float &f)
 
static QString str (const void *)
 
template<class T >
static QString str (const T *t)
 
template<class T >
static QString str (const QFlags< T > &f)
 
template<class T >
static QString str (const HepGeom::BasicVector3D< T > &t)
 
static QString str (const Amg::Vector3D &t)
 
template<class T >
static QString str (const QList< T > &t)
 

Protected Member Functions

void setHelperClassName (const QString &n)
 

Private Member Functions

 InDetProjHelper (double surfacethickness, double data_disttosurface_epsilon, double barrel_inner_radius, double barrel_outer_radius, double barrel_posneg_z, double endcap_surface_z, double endcap_surface_length, double endcap_inner_radius, double endcap_outer_radius, double endcap_zasr_innerradius, double endcap_zasr_endcapz_begin, double endcap_zasr_squeezefact, IVP1System *sys)
 

Private Attributes

Impm_d
 
QString m_helpername
 
IVP1Systemm_system
 

Static Private Attributes

static const bool s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")
 

Detailed Description

Definition at line 34 of file InDetProjHelper.h.

Member Enumeration Documentation

◆ PartsFlag

Enumerator
NoParts 
BarrelA 
BarrelC 
EndCapA 
EndCapC 

Definition at line 66 of file InDetProjHelper.h.

66 { NoParts = 0x00, BarrelA = 0x01, BarrelC = 0x02, EndCapA = 0x04, EndCapC = 0x08 };

Constructor & Destructor Documentation

◆ ~InDetProjHelper()

InDetProjHelper::~InDetProjHelper ( )
virtual

Definition at line 190 of file InDetProjHelper.cxx.

191 {
192  delete m_d;
193 }

◆ InDetProjHelper()

InDetProjHelper::InDetProjHelper ( double  surfacethickness,
double  data_disttosurface_epsilon,
double  barrel_inner_radius,
double  barrel_outer_radius,
double  barrel_posneg_z,
double  endcap_surface_z,
double  endcap_surface_length,
double  endcap_inner_radius,
double  endcap_outer_radius,
double  endcap_zasr_innerradius,
double  endcap_zasr_endcapz_begin,
double  endcap_zasr_squeezefact,
IVP1System sys 
)
private

Definition at line 151 of file InDetProjHelper.cxx.

164  : VP1HelperClassBase(sys,"InDetProjHelper"), m_d(new Imp)
165 {
166  m_d->theclass = this;
167 
168  m_d->surfacethickness = surfacethickness;
169  m_d->data_disttosurface_epsilon = data_disttosurface_epsilon;
170  m_d->barrel_inner_radius = barrel_inner_radius;
171  m_d->barrel_outer_radius = barrel_outer_radius;
172  m_d->barrel_posneg_z = barrel_posneg_z;
173  m_d->endcap_surface_z = endcap_surface_z;
174  m_d->endcap_surface_length = endcap_surface_length;
175  m_d->endcap_inner_radius = endcap_inner_radius;
176  m_d->endcap_outer_radius = endcap_outer_radius;
177  m_d->endcap_zasr_innerradius = endcap_zasr_innerradius;
178  m_d->endcap_zasr_endcapz_begin = endcap_zasr_endcapz_begin;
179  m_d->endcap_zasr_squeezefact = endcap_zasr_squeezefact;
180 
182  m_d->covercyl_zmin = 0.0;
183  m_d->covercyl_zmax = 0.0;
184  m_d->covercyl_rmin = 0.0;
185  m_d->covercyl_rmax = 0.0;
186 
187 }

Member Function Documentation

◆ clipPath() [1/2]

void InDetProjHelper::clipPath ( const std::vector< Amg::Vector3D > &  path,
Amg::SetVectorVector3D resulting_subpaths 
) const

Definition at line 274 of file InDetProjHelper.cxx.

276 {
277  clipPath(path,resulting_subpaths,resulting_subpaths,resulting_subpaths,resulting_subpaths);
278 }

◆ clipPath() [2/2]

void InDetProjHelper::clipPath ( const std::vector< Amg::Vector3D > &  path,
Amg::SetVectorVector3D resulting_subpaths_barrelA,
Amg::SetVectorVector3D resulting_subpaths_barrelC,
Amg::SetVectorVector3D resulting_subpaths_endcapA,
Amg::SetVectorVector3D resulting_subpaths_endcapC 
) const

Definition at line 281 of file InDetProjHelper.cxx.

286 {
287  if (VP1Msg::verbose())
288  messageVerbose("clipPath(..) called. Input path has "+QString::number(path.size())+" points.");
289 
290  resulting_subpaths_barrelA.clear();
291  resulting_subpaths_barrelC.clear();
292  resulting_subpaths_endcapA.clear();
293  resulting_subpaths_endcapC.clear();
294 
295  //Fixme: If verbose - perform sanity check of input data (check for NAN's).
297  if (VP1Msg::verbose())
298  messageVerbose("All projections currently off.");
299  return;
300  }
301  if ( path.size()<2 ) {
302  if (VP1Msg::verbose())
303  messageVerbose("Input path too short.");
304  return;
305  }
306 
307  // Find the clipped path's in all of the enabled detector parts.
308 
309  //For efficiency, we first clip the path to the smallest
310  //axis-aligned cylinder containing all of the projective volumes
311  Amg::SetVectorVector3D paths_clipped;
312  m_d->clipPathToHollowCylinder( path, paths_clipped,
315 
316  if (paths_clipped.empty()) {
317  if (VP1Msg::verbose())
318  messageVerbose("Path entirely outside clip volumes.");
319  return;
320  }
321 
322  const bool enabled_brlA = m_d->parts & InDetProjFlags::Barrel_AllPos;
323  const bool enabled_brlC = m_d->parts & InDetProjFlags::Barrel_AllNeg;
324  const bool enabled_ecA = m_d->parts & InDetProjFlags::EndCap_AllPos;
325  const bool enabled_ecC = m_d->parts & InDetProjFlags::EndCap_AllNeg;
326 
327  //Special case: If exactly one of the four parts is enabled, we already have our result:
328  if ( ( (enabled_brlA?1:0) + (enabled_brlC?1:0) + (enabled_ecA?1:0) + (enabled_ecC?1:0) ) == 1 ) {
329  if (enabled_brlA) {
330  resulting_subpaths_barrelA = paths_clipped;
331  if (VP1Msg::verbose())
332  messageVerbose("clipPath(..) only brlA enabled. Returning.");
333  return;
334  }
335  if (enabled_brlC) {
336  resulting_subpaths_barrelC = paths_clipped;
337  if (VP1Msg::verbose())
338  messageVerbose("clipPath(..) only brlC enabled. Returning.");
339  return;
340  }
341  if (enabled_ecA) {
342  resulting_subpaths_endcapA = paths_clipped;
343  if (VP1Msg::verbose())
344  messageVerbose("clipPath(..) only ecA enabled. Returning.");
345  return;
346  }
347  if (enabled_ecC) {
348  resulting_subpaths_endcapC = paths_clipped;
349  if (VP1Msg::verbose())
350  messageVerbose("clipPath(..) only ecC enabled. Returning.");
351  return;
352  }
353  }
354 
355 
356  //For each of the segments, we then find its clipped parts inside
357  //the four detector volumes: BarrelA, BarrelC, EndCapA, EndCapC.
358  // Amg::SetVectorVector3D paths_brlA, paths_brlC, paths_ecA,paths_ecC;
359  Amg::SetVectorVector3D::const_iterator it, itE(paths_clipped.end());
360  for (it = paths_clipped.begin();it!=itE;++it) {
361  if ( enabled_brlA )
363  if ( enabled_brlC )
365  if ( enabled_ecA )
366  m_d->clipPathToHollowCylinder( *it, resulting_subpaths_endcapA, m_d->endcap_inner_radius, m_d->endcap_outer_radius,
368  if ( enabled_ecC )
369  m_d->clipPathToHollowCylinder( *it, resulting_subpaths_endcapC, m_d->endcap_inner_radius, m_d->endcap_outer_radius,
371  }
372 
373  messageVerbose("clipPath(..) end.");
374  //Fixme: If verbose: sanity check on output!
375 }

◆ createPixelHelper()

InDetProjHelper * InDetProjHelper::createPixelHelper ( IVP1System sys = 0)
static

◆ createSCTHelper()

InDetProjHelper * InDetProjHelper::createSCTHelper ( IVP1System sys = 0)
static

◆ createTRTHelper()

InDetProjHelper * InDetProjHelper::createTRTHelper ( IVP1System sys = 0)
static

◆ helperClassName()

QString VP1HelperClassBase::helperClassName ( ) const
inlineinherited

Definition at line 51 of file VP1HelperClassBase.h.

51 { return m_helpername; }

◆ message() [1/3]

void VP1HelperClassBase::message ( const QString &  str) const
inherited

Definition at line 49 of file VP1HelperClassBase.cxx.

50 {
51  if (m_helpername.isEmpty()) {
52  if (m_system)
54  else
55  std::cout<<VP1Msg::prefix_msg()<<" [nameless helper class]: "<<str.toStdString()<<std::endl;
56  } else {
57  if (m_system)
58  m_system->message("["+m_helpername+"] " + str);
59  else
60  std::cout<<VP1Msg::prefix_msg()<<" ["<<m_helpername.toStdString()<<"]: "<<str.toStdString()<<std::endl;
61  }
62 }

◆ message() [2/3]

void VP1HelperClassBase::message ( const QString &  addtostart,
const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 131 of file VP1HelperClassBase.cxx.

132 {
133  if (addtostart.isEmpty()) {
134  message(l,addtoend);
135  return;
136  }
137  if (addtoend.isEmpty()) {
138  for (QString s : l)
139  message(addtostart+s);
140  } else {
141  for (QString s : l)
142  message(addtostart+s+addtoend);
143  }
144 }

◆ message() [3/3]

void VP1HelperClassBase::message ( const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 91 of file VP1HelperClassBase.cxx.

92 {
93  if (addtoend.isEmpty()) {
94  for (QString s : l)
95  message(s);
96  } else {
97  for (QString s : l)
98  message(s+addtoend);
99  }
100 }

◆ messageDebug() [1/3]

void VP1HelperClassBase::messageDebug ( const QString &  str) const
inherited

Definition at line 65 of file VP1HelperClassBase.cxx.

66 {
67  if (!VP1Msg::debug())
68  return;
69  std::string sysstring(m_system ? " in "+m_system->name().toStdString() : std::string(""));
70  if (m_helpername.isEmpty()) {
71  std::cout<<VP1Msg::prefix_debug()<<" [helper"<<sysstring<<"]: "<<str.toStdString()<<std::endl;
72  } else {
73  std::cout<<VP1Msg::prefix_debug()<<" ["<<m_helpername.toStdString()<<sysstring<<"]: "<<str.toStdString()<<std::endl;
74  }
75 }

◆ messageDebug() [2/3]

void VP1HelperClassBase::messageDebug ( const QString &  addtostart,
const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 147 of file VP1HelperClassBase.cxx.

148 {
149  if (!VP1Msg::debug())
150  return;
151  if (addtostart.isEmpty()) {
152  messageDebug(l,addtoend);
153  return;
154  }
155  if (addtoend.isEmpty()) {
156  for (QString s : l)
157  messageDebug(addtostart+s);
158  } else {
159  for (QString s : l)
160  messageDebug(addtostart+s+addtoend);
161  }
162 }

◆ messageDebug() [3/3]

void VP1HelperClassBase::messageDebug ( const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 103 of file VP1HelperClassBase.cxx.

104 {
105  if (!VP1Msg::debug())
106  return;
107  if (addtoend.isEmpty()) {
108  for (QString s : l)
109  messageDebug(s);
110  } else {
111  for (QString s : l)
112  messageDebug(s+addtoend);
113  }
114 }

◆ messageVerbose() [1/3]

void VP1HelperClassBase::messageVerbose ( const QString &  str) const
inherited

Definition at line 78 of file VP1HelperClassBase.cxx.

79 {
80  if (!VP1Msg::verbose())
81  return;
82  std::string sysstring(m_system ? " in "+m_system->name().toStdString() : std::string(""));
83  if (m_helpername.isEmpty()) {
84  std::cout<<VP1Msg::prefix_verbose()<<" [helper"<<sysstring<<"]: "<<str.toStdString()<<std::endl;
85  } else {
86  std::cout<<VP1Msg::prefix_verbose()<<" ["<<m_helpername.toStdString()<<sysstring<<"]: "<<str.toStdString()<<std::endl;
87  }
88 }

◆ messageVerbose() [2/3]

void VP1HelperClassBase::messageVerbose ( const QString &  addtostart,
const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 165 of file VP1HelperClassBase.cxx.

166 {
167  if (!VP1Msg::verbose())
168  return;
169  if (addtostart.isEmpty()) {
170  messageVerbose(l,addtoend);
171  return;
172  }
173  if (addtoend.isEmpty()) {
174  for (QString s : l)
175  messageVerbose(addtostart+s);
176  } else {
177  for (QString s : l)
178  messageVerbose(addtostart+s+addtoend);
179  }
180 }

◆ messageVerbose() [3/3]

void VP1HelperClassBase::messageVerbose ( const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 117 of file VP1HelperClassBase.cxx.

118 {
119  if (!VP1Msg::verbose())
120  return;
121  if (addtoend.isEmpty()) {
122  for (QString s : l)
123  messageVerbose(s);
124  } else {
125  for (QString s : l)
126  messageVerbose(s+addtoend);
127  }
128 }

◆ parts()

InDetProjFlags::InDetProjPartsFlags InDetProjHelper::parts ( ) const

Definition at line 268 of file InDetProjHelper.cxx.

269 {
270  return m_d->parts;
271 }

◆ projectPath() [1/2]

void InDetProjHelper::projectPath ( const std::vector< Amg::Vector3D > &  path,
Amg::SetVectorVector3D resulting_projections 
) const

Definition at line 819 of file InDetProjHelper.cxx.

821 {
822  projectPath(path,resulting_projs,resulting_projs,resulting_projs,resulting_projs);
823 }

◆ projectPath() [2/2]

void InDetProjHelper::projectPath ( const std::vector< Amg::Vector3D > &  path,
Amg::SetVectorVector3D resulting_projections_barrelA,
Amg::SetVectorVector3D resulting_projections_barrelC,
Amg::SetVectorVector3D resulting_projections_endcapA,
Amg::SetVectorVector3D resulting_projections_endcapC 
) const

Definition at line 826 of file InDetProjHelper.cxx.

831 {
832  if (VP1Msg::verbose())
833  messageVerbose("projectPath(..) called. Input path has "+QString::number(path.size())+" points.");
834 
835  resulting_projections_barrelA.clear();
836  resulting_projections_barrelC.clear();
837  resulting_projections_endcapA.clear();
838  resulting_projections_endcapC.clear();
839 
840  //Fixme: If verbose - perform sanity check of input data (check for NAN's).
842  if (VP1Msg::verbose())
843  messageVerbose("All projections currently off.");
844  return;
845  }
846  if ( path.size()<2 ) {
847  if (VP1Msg::verbose())
848  messageVerbose("Input path too short.");
849  return;
850  }
851 
852  // ===> First we must find the clipped path's in all of the enabled detector parts.
853 
854  Amg::SetVectorVector3D paths_brlA, paths_brlC, paths_ecA,paths_ecC;
855  clipPath( path,paths_brlA, paths_brlC, paths_ecA,paths_ecC);
856 
857  // ===> Then we project those.
858 
859  //Fixme: The dependence on surface thickness and epsilon below is very preliminary.
860 
861  const double eps = m_d->data_disttosurface_epsilon;
862  const double endcapeps(-5*SYSTEM_OF_UNITS::mm);//fixme hardcoding..
863 
864  Amg::SetVectorVector3D::const_iterator it,itE;
865 
867  itE = paths_brlA.end();
869  for ( it = paths_brlA.begin(); it!=itE; ++it )
870  m_d->projectPathToZPlane( *it, resulting_projections_barrelA, 0.5*m_d->surfacethickness+eps );
872  for ( it = paths_brlA.begin(); it!=itE; ++it )
873  m_d->projectPathToZPlane( *it, resulting_projections_barrelA, m_d->barrel_posneg_z - eps );
874  }
876  itE = paths_brlC.end();
878  for ( it = paths_brlC.begin(); it!=itE; ++it )
879  m_d->projectPathToZPlane( *it, resulting_projections_barrelC, - 0.5*m_d->surfacethickness - eps);
881  for ( it = paths_brlC.begin(); it!=itE; ++it )
882  m_d->projectPathToZPlane( *it, resulting_projections_barrelC, - m_d->barrel_posneg_z );
883  }
885  itE = paths_ecA.end();
887  for ( it = paths_ecA.begin(); it!=itE; ++it )
888  m_d->projectPathToInfiniteCylinder( *it, resulting_projections_endcapA, m_d->endcap_inner_radius + eps+endcapeps );
890  for ( it = paths_ecA.begin(); it!=itE; ++it )
891  m_d->projectPathToInfiniteCylinder( *it, resulting_projections_endcapA, m_d->endcap_outer_radius + eps+endcapeps );
892  //Fixme: Make sure to use the same parameters here as in PRDHandle_TRT.cxx:
894  for ( it = paths_ecA.begin(); it!=itE; ++it )
895  m_d->projectPathToZPlane_specialZtoR( *it, resulting_projections_endcapA,
896  0.5*m_d->surfacethickness + eps );
897  //Fixme: Make sure to use the same parameters here as in PRDHandle_TRT.cxx:
899  for ( it = paths_ecA.begin(); it!=itE; ++it )
900  m_d->projectPathToZPlane_specialZtoR( *it, resulting_projections_endcapA,
901  m_d->barrel_posneg_z - 0.5*m_d->surfacethickness - eps /*fixme: +- epsilon??*/ );
902  }
904  itE = paths_ecC.end();
906  for ( it = paths_ecC.begin(); it!=itE; ++it )
907  m_d->projectPathToInfiniteCylinder( *it, resulting_projections_endcapC, m_d->endcap_inner_radius + eps+endcapeps );
909  for ( it = paths_ecC.begin(); it!=itE; ++it )
910  m_d->projectPathToInfiniteCylinder( *it, resulting_projections_endcapC, m_d->endcap_outer_radius + eps+endcapeps );
911  //Fixme: Make sure to use the same parameters here as in PRDHandle_TRT.cxx:
913  for ( it = paths_ecC.begin(); it!=itE; ++it )
914  m_d->projectPathToZPlane_specialZtoR( *it, resulting_projections_endcapC,
915  - 0.5*m_d->surfacethickness - eps );
916  //Fixme: Make sure to use the same parameters here as in PRDHandle_TRT.cxx:
918  for ( it = paths_ecC.begin(); it!=itE; ++it )
919  m_d->projectPathToZPlane_specialZtoR( *it, resulting_projections_endcapC,
920  - m_d->barrel_posneg_z + 0.5*m_d->surfacethickness + eps/*fixme: +- epsilon??*/ );
921  }
922 
923 }

◆ setHelperClassName()

void VP1HelperClassBase::setHelperClassName ( const QString &  n)
inlineprotectedinherited

Definition at line 59 of file VP1HelperClassBase.h.

59 { m_helpername = n; }

◆ setParts()

InDetProjFlags::InDetProjPartsFlags InDetProjHelper::setParts ( InDetProjFlags::InDetProjPartsFlags  newparts)

Definition at line 196 of file InDetProjHelper.cxx.

197 {
198  if ( m_d->parts==newparts )
199  return m_d->parts;
200  InDetProjFlags::InDetProjPartsFlags oldparts = m_d->parts;
201  m_d->parts = newparts;
202 
203  //Update parameters of smallest cylinder covering all enabled clip volumes.
205  m_d->covercyl_zmin = 0.0;
206  m_d->covercyl_zmax = 0.0;
207  m_d->covercyl_rmin = 0.0;
208  m_d->covercyl_rmax = 0.0;
209  return oldparts;
210  }
211 
212  bool no_ec_neg = !( m_d->parts & InDetProjFlags::EndCap_AllNeg );
213  bool no_ec_pos = !( m_d->parts & InDetProjFlags::EndCap_AllPos );
214  bool no_brl_neg = !( m_d->parts & InDetProjFlags::Barrel_AllNeg );
215  bool no_brl_pos = !( m_d->parts & InDetProjFlags::Barrel_AllPos );
217  bool endcap = m_d->parts & InDetProjFlags::EndCap_All;
218 
220  if ( no_ec_neg ) {
222  if ( no_brl_neg ) {
223  m_d->covercyl_zmin = 0.0;
224  if ( no_brl_pos ) {
226  if ( no_ec_pos )
228  }
229  }
230  }
232  if ( no_ec_pos ) {
234  if ( no_brl_pos ) {
235  m_d->covercyl_zmax = 0.0;
236  if ( no_brl_neg ) {
238  if ( no_ec_neg )
240  }
241  }
242  }
243  if ( m_d->covercyl_zmin >= m_d->covercyl_zmax )
245 
246  if ( barrel && endcap ) {
249  } else {
250  if (barrel) {
253  } else if (endcap) {
256  } else {
257  message("Unforeseen execution path encountered.");
258  m_d->covercyl_rmin = 0;
259  m_d->covercyl_rmax = 0;
260  }
261  }
262  if ( m_d->covercyl_rmin >= m_d->covercyl_rmax )
264  return oldparts;
265 }

◆ setSystemBasePointer()

void VP1HelperClassBase::setSystemBasePointer ( IVP1System sys)
inherited

Definition at line 197 of file VP1HelperClassBase.cxx.

198 {
199  m_system = sys;
200  if (VP1Msg::verbose()){
201  vp1helperclassbase_instanceMap[this] = (m_system?m_system->name():QString(""));
202  }
203 }

◆ str() [1/30]

static QString VP1String::str ( const Amg::Vector3D t)
inlinestaticinherited

Definition at line 98 of file VP1String.h.

98 { return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [2/30]

static QString VP1String::str ( const bool  b)
inlinestaticinherited

Definition at line 53 of file VP1String.h.

53 { return b?"True":"False"; }

◆ str() [3/30]

static QString VP1String::str ( const char *  c)
inlinestaticinherited

Definition at line 50 of file VP1String.h.

50 { return c; }

◆ str() [4/30]

static QString VP1String::str ( const double &  d)
inlinestaticinherited

Definition at line 81 of file VP1String.h.

81 { return QString::number(d); }

◆ str() [5/30]

static QString VP1String::str ( const float &  f)
inlinestaticinherited

Definition at line 82 of file VP1String.h.

82 { return QString::number(f); }

◆ str() [6/30]

template<class T >
static QString VP1String::str ( const HepGeom::BasicVector3D< T > &  t)
inlinestaticinherited

Definition at line 95 of file VP1String.h.

95 { return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [7/30]

QString VP1String::str ( const QColor &  c)
staticinherited

Definition at line 30 of file VP1String.cxx.

31 {
32  return c.isValid() ? c.name() : "Invalid";
33 }

◆ str() [8/30]

template<class T >
static QString VP1String::str ( const QFlags< T > &  f)
inlinestaticinherited

Definition at line 91 of file VP1String.h.

91 { return "0x"+QString::number(f, 16).toUpper().rightJustified(8,'0'); }

◆ str() [9/30]

template<class T >
static QString VP1String::str ( const QList< T > &  t)
inlinestaticinherited

Definition at line 102 of file VP1String.h.

102 { return "QList of size"+QString::number(t.size()); }

◆ str() [10/30]

static QString VP1String::str ( const QString &  s)
inlinestaticinherited

Definition at line 49 of file VP1String.h.

49 { return s; }

◆ str() [11/30]

QString VP1String::str ( const SbColor &  c)
staticinherited

Definition at line 36 of file VP1String.cxx.

37 {
39 }

◆ str() [12/30]

QString VP1String::str ( const SbVec2d &  v)
staticinherited

Definition at line 61 of file VP1String.cxx.

61 { double x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [13/30]

QString VP1String::str ( const SbVec2f &  v)
staticinherited

Definition at line 62 of file VP1String.cxx.

62 { float x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [14/30]

QString VP1String::str ( const SbVec2s &  v)
staticinherited

Definition at line 63 of file VP1String.cxx.

63 { short x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [15/30]

QString VP1String::str ( const SbVec3d &  v)
staticinherited

Definition at line 64 of file VP1String.cxx.

64 { double x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [16/30]

QString VP1String::str ( const SbVec3f &  v)
staticinherited

Definition at line 65 of file VP1String.cxx.

65 { float x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [17/30]

QString VP1String::str ( const SbVec3s &  v)
staticinherited

Definition at line 66 of file VP1String.cxx.

66 { short x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [18/30]

QString VP1String::str ( const SbVec4d &  v)
staticinherited

Definition at line 67 of file VP1String.cxx.

67 { double x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [19/30]

QString VP1String::str ( const SbVec4f &  v)
staticinherited

Definition at line 68 of file VP1String.cxx.

68 { float x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [20/30]

template<class T >
static QString VP1String::str ( const T *  t)
inlinestaticinherited

Definition at line 87 of file VP1String.h.

87 { return str(static_cast<const void* >(t)); }

◆ str() [21/30]

QString VP1String::str ( const void *  p)
staticinherited

Definition at line 48 of file VP1String.cxx.

49 {
50  if (p) {
51  std::ostringstream s;
52  s << p;
53  // Explicitly naming QString here avoids a cppcheck warning.
54  return QString (s.str().c_str());
55  } else {
56  return "NULL";
57  }
58 }

◆ str() [22/30]

QString VP1String::str ( const VP1Interval i)
staticinherited

Definition at line 42 of file VP1String.cxx.

43 {
44  return i.toString();
45 }

◆ str() [23/30]

static QString VP1String::str ( int  n)
inlinestaticinherited

Definition at line 77 of file VP1String.h.

77 { return QString::number(n); }

◆ str() [24/30]

static QString VP1String::str ( long  n)
inlinestaticinherited

Definition at line 75 of file VP1String.h.

75 { return QString::number(n); }

◆ str() [25/30]

static QString VP1String::str ( qlonglong  n)
inlinestaticinherited

Definition at line 79 of file VP1String.h.

79 { return QString::number(n); }

◆ str() [26/30]

static QString VP1String::str ( qulonglong  n)
inlinestaticinherited

Definition at line 80 of file VP1String.h.

80 { return QString::number(n); }

◆ str() [27/30]

static QString VP1String::str ( short int  n)
inlinestaticinherited

Definition at line 73 of file VP1String.h.

73 { return QString::number(n); }

◆ str() [28/30]

static QString VP1String::str ( uint  n)
inlinestaticinherited

Definition at line 78 of file VP1String.h.

78 { return QString::number(n); }

◆ str() [29/30]

static QString VP1String::str ( ulong  n)
inlinestaticinherited

Definition at line 76 of file VP1String.h.

76 { return QString::number(n); }

◆ str() [30/30]

static QString VP1String::str ( unsigned short int  n)
inlinestaticinherited

Definition at line 74 of file VP1String.h.

74 { return QString::number(n); }

◆ systemBase()

IVP1System* VP1HelperClassBase::systemBase ( ) const
inlineinherited

Definition at line 50 of file VP1HelperClassBase.h.

50 { return m_system; }

◆ touchedParts()

InDetProjHelper::PartsFlags InDetProjHelper::touchedParts ( const std::vector< Amg::Vector3D > &  path) const

Definition at line 926 of file InDetProjHelper.cxx.

927 {
928  if (VP1Msg::verbose())
929  messageVerbose("touchedParts(..) called. Input path has "+QString::number(path.size())+" points.");
930  PartsFlags touchedparts = NoParts;
932  touchedparts |= BarrelA;
934  touchedparts |= BarrelC;
937  touchedparts |= EndCapA;
940  touchedparts |= EndCapC;
941  return touchedparts;
942 }

◆ transformECPointToZPlane_specialZtoR()

void InDetProjHelper::transformECPointToZPlane_specialZtoR ( Amg::Vector3D p,
const double &  planeZ,
const double &  planeRBegin,
const double &  endcapZBegin,
const double &  squeezeFactor 
)
static

Definition at line 780 of file InDetProjHelper.cxx.

785 {
786  if ( p.x()==0.0 && p.y()==0.0 ) {
787  VP1Msg::message("InDetProjHelper::transformECPointToZPlane_specialZtoR ERROR: "
788  "Point has x==0 and y==0. Ambiguous projection of point.");
789 // p.setX(1.0);
790  p.x() = 1.0;
791  }
792  const double r = planeRBegin + (fabs(p.z())-endcapZBegin)/squeezeFactor;
793  const double s = r / sqrt( p.x()*p.x()+p.y()*p.y() );
794 // p.setX(p.x()*s);
795 // p.setY(p.y()*s);
796 // p.setZ(planeZ);
797  p.x() = p.x()*s;
798  p.y() = p.y()*s;
799  p.z() = planeZ;
800 }

◆ verbose()

static bool VP1HelperClassBase::verbose ( )
inlinestaticinherited

Definition at line 32 of file VP1HelperClassBase.h.

32 { return s_vp1verbose; } // Returns true if env var VP1_VERBOSE_OUTPUT=1

◆ warnUndeletedInstances()

void VP1HelperClassBase::warnUndeletedInstances ( )
staticinherited

Definition at line 183 of file VP1HelperClassBase.cxx.

184 {
185  if (vp1helperclassbase_instanceMap.empty())
186  return;
187  std::cout << "WARNING: Detected "<<vp1helperclassbase_instanceMap.size()<<" undeleted helper class instances:"<<std::endl;
188 
189  std::map<VP1HelperClassBase*,QString>::iterator it,itE(vp1helperclassbase_instanceMap.end());
190  for (it = vp1helperclassbase_instanceMap.begin();it!=itE;++it) {
191  std::cout << " ==> "<<it->first<<": "<<it->first->m_helpername.toStdString()
192  << (it->second.isEmpty()?QString(""):" (in system "+it->second+")").toStdString()<<std::endl;
193  }
194 }

Member Data Documentation

◆ m_d

Imp* InDetProjHelper::m_d
private

Definition at line 97 of file InDetProjHelper.h.

◆ m_helpername

QString VP1HelperClassBase::m_helpername
privateinherited

Definition at line 67 of file VP1HelperClassBase.h.

◆ m_system

IVP1System* VP1HelperClassBase::m_system
privateinherited

Definition at line 68 of file VP1HelperClassBase.h.

◆ s_vp1verbose

const bool VP1HelperClassBase::s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")
staticprivateinherited

Definition at line 69 of file VP1HelperClassBase.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
InDetProjFlags::EndCap_AllNeg
@ EndCap_AllNeg
Definition: InDetProjFlags.h:67
InDetProjHelper::Imp::clipPathToHollowCylinder
void clipPathToHollowCylinder(const std::vector< Amg::Vector3D > &in, Amg::SetVectorVector3D &out, const double &rmin, const double &rmax, const double &zmin, const double &zmax) const
Definition: InDetProjHelper.cxx:667
beamspotman.r
def r
Definition: beamspotman.py:676
InDetProjParams::sct_endcap_surface_z
static double sct_endcap_surface_z()
Definition: InDetProjParams.h:45
python.SystemOfUnits.second
int second
Definition: SystemOfUnits.py:120
InDetProjFlags::EndCapOuterNegative
@ EndCapOuterNegative
Definition: InDetProjFlags.h:54
InDetProjHelper::Imp::covercyl_rmin
double covercyl_rmin
Definition: InDetProjHelper.cxx:111
InDetProjParams::trt_endcap_zasr_endcapz_begin
static double trt_endcap_zasr_endcapz_begin()
Definition: InDetProjParams.h:81
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
InDetProjParams::trt_endcap_outer_radius
static double trt_endcap_outer_radius()
Definition: InDetProjParams.h:59
InDetProjParams::trt_endcap_surface_z
static double trt_endcap_surface_z()
Definition: InDetProjParams.h:56
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:128
max
#define max(a, b)
Definition: cfImp.cxx:41
InDetProjParams::sct_endcap_zasr_endcapz_begin
static double sct_endcap_zasr_endcapz_begin()
Definition: InDetProjParams.h:80
InDetProjHelper::Imp::surfacethickness
double surfacethickness
Definition: InDetProjHelper.cxx:94
InDetProjParams::pixel_barrel_posneg_z
static double pixel_barrel_posneg_z()
Definition: InDetProjParams.h:33
InDetProjParams::pixel_endcap_zasr_endcapz_begin
static double pixel_endcap_zasr_endcapz_begin()
Definition: InDetProjParams.h:79
InDetProjHelper::Imp::endcap_inner_radius
double endcap_inner_radius
Definition: InDetProjHelper.cxx:101
InDetProjFlags::BarrelPositive
@ BarrelPositive
Definition: InDetProjFlags.h:50
InDetProjParams::sct_barrel_posneg_z
static double sct_barrel_posneg_z()
Definition: InDetProjParams.h:44
hist_file_dump.d
d
Definition: hist_file_dump.py:137
InDetProjParams::pixel_barrel_outer_radius
static double pixel_barrel_outer_radius()
Definition: InDetProjParams.h:32
InDetProjHelper::Imp::covercyl_zmin
double covercyl_zmin
Definition: InDetProjHelper.cxx:109
InDetProjHelper::Imp::covercyl_rmax
double covercyl_rmax
Definition: InDetProjHelper.cxx:112
VP1HelperClassBase::m_helpername
QString m_helpername
Definition: VP1HelperClassBase.h:67
VP1HelperClassBase::messageVerbose
void messageVerbose(const QString &) const
Definition: VP1HelperClassBase.cxx:78
InDetProjParams::sct_barrel_outer_radius
static double sct_barrel_outer_radius()
Definition: InDetProjParams.h:43
VP1HelperClassBase::s_vp1verbose
static const bool s_vp1verbose
Definition: VP1HelperClassBase.h:69
skel.it
it
Definition: skel.GENtoEVGEN.py:396
InDetProjParams::trt_barrel_inner_radius
static double trt_barrel_inner_radius()
Definition: InDetProjParams.h:53
InDetProjHelper::Imp::endcap_surface_length
double endcap_surface_length
Definition: InDetProjHelper.cxx:100
VP1Msg::debug
static bool debug()
Definition: VP1Msg.h:32
InDetProjParams::sct_barrel_inner_radius
static double sct_barrel_inner_radius()
Definition: InDetProjParams.h:42
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
InDetProjParams::sct_data_disttosurface_epsilon
static double sct_data_disttosurface_epsilon()
Definition: InDetProjParams.h:51
VP1HelperClassBase::m_system
IVP1System * m_system
Definition: VP1HelperClassBase.h:68
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
InDetProjHelper::Imp::projectPathToZPlane_specialZtoR
void projectPathToZPlane_specialZtoR(const std::vector< Amg::Vector3D > &in, Amg::SetVectorVector3D &outset, const double &z) const
Definition: InDetProjHelper.cxx:803
InDetProjHelper::Imp::theclass
InDetProjHelper * theclass
Definition: InDetProjHelper.cxx:88
InDetProjHelper::Imp::covercyl_zmax
double covercyl_zmax
Definition: InDetProjHelper.cxx:110
InDetProjHelper::Imp::touchesHollowCylinder
bool touchesHollowCylinder(const std::vector< Amg::Vector3D > &path, const double &rmin, const double &rmax, const double &zmin, const double &zmax) const
Definition: InDetProjHelper.cxx:945
InDetProjFlags::Barrel_AllNeg
@ Barrel_AllNeg
Definition: InDetProjFlags.h:64
x
#define x
Amg::SetVectorVector3D
std::set< std::vector< Amg::Vector3D >, VectorVector3DComparer > SetVectorVector3D
Definition: GeoPrimitivesHelpers.h:36
VP1String::str
static QString str(const QString &s)
Definition: VP1String.h:49
VP1HelperClassBase::messageDebug
void messageDebug(const QString &) const
Definition: VP1HelperClassBase.cxx:65
InDetProjHelper::EndCapC
@ EndCapC
Definition: InDetProjHelper.h:66
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
TruthTest.itE
itE
Definition: TruthTest.py:25
InDetProjFlags::TRT_EndCapZToRCentral
@ TRT_EndCapZToRCentral
Definition: InDetProjFlags.h:60
InDetProjParams::trt_barrel_posneg_z
static double trt_barrel_posneg_z()
Definition: InDetProjParams.h:55
InDetProjParams::trt_endcap_zasr_squeezefact
static double trt_endcap_zasr_squeezefact()
Definition: InDetProjParams.h:61
InDetProjHelper::Imp::endcap_outer_radius
double endcap_outer_radius
Definition: InDetProjHelper.cxx:102
InDetProjHelper::Imp::endcap_zasr_innerradius
double endcap_zasr_innerradius
Definition: InDetProjHelper.cxx:103
InDetProjParams::sct_endcap_outer_radius
static double sct_endcap_outer_radius()
Definition: InDetProjParams.h:48
InDetProjParams::sct_endcap_zasr_innerradius
static double sct_endcap_zasr_innerradius()
Definition: InDetProjParams.h:70
InDetProjHelper::Imp::endcap_zasr_squeezefact
double endcap_zasr_squeezefact
Definition: InDetProjHelper.cxx:105
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
InDetProjHelper::BarrelC
@ BarrelC
Definition: InDetProjHelper.h:66
InDetProjFlags::Barrel_AllPos
@ Barrel_AllPos
Definition: InDetProjFlags.h:63
InDetProjParams::pixel_endcap_zasr_squeezefact
static double pixel_endcap_zasr_squeezefact()
Definition: InDetProjParams.h:39
InDetProjHelper::BarrelA
@ BarrelA
Definition: InDetProjHelper.h:66
VP1Msg::prefix_msg
static const char * prefix_msg()
Definition: VP1Msg.h:56
InDetProjHelper::projectPath
void projectPath(const std::vector< Amg::Vector3D > &path, Amg::SetVectorVector3D &resulting_projections) const
Definition: InDetProjHelper.cxx:819
InDetProjParams::surfacethickness
static double surfacethickness()
Definition: InDetProjParams.h:26
InDetProjParams::pixel_endcap_zasr_innerradius
static double pixel_endcap_zasr_innerradius()
Definition: InDetProjParams.h:66
InDetProjHelper::Imp::data_disttosurface_epsilon
double data_disttosurface_epsilon
Definition: InDetProjHelper.cxx:95
lumiFormat.i
int i
Definition: lumiFormat.py:85
z
#define z
beamspotman.n
n
Definition: beamspotman.py:731
InDetProjParams::sct_endcap_inner_radius
static double sct_endcap_inner_radius()
Definition: InDetProjParams.h:47
InDetProjFlags::EndCapInnerPositive
@ EndCapInnerPositive
Definition: InDetProjFlags.h:55
IVP1System::name
const QString & name() const
Definition: IVP1System.cxx:50
InDetProjHelper::Imp::projectPathToInfiniteCylinder
void projectPathToInfiniteCylinder(const std::vector< Amg::Vector3D > &in, Amg::SetVectorVector3D &outset, const double &r) const
Definition: InDetProjHelper.cxx:741
hist_file_dump.f
f
Definition: hist_file_dump.py:135
InDetProjParams::trt_barrel_outer_radius
static double trt_barrel_outer_radius()
Definition: InDetProjParams.h:54
InDetProjHelper::Imp::barrel_posneg_z
double barrel_posneg_z
Definition: InDetProjHelper.cxx:98
InDetProjFlags::EndCapInnerNegative
@ EndCapInnerNegative
Definition: InDetProjFlags.h:56
InDetProjFlags::BarrelCentral
@ BarrelCentral
Definition: InDetProjFlags.h:52
InDetProjHelper::clipPath
void clipPath(const std::vector< Amg::Vector3D > &path, Amg::SetVectorVector3D &resulting_subpaths) const
Definition: InDetProjHelper.cxx:274
InDetProjFlags::EndCap_AllPos
@ EndCap_AllPos
Definition: InDetProjFlags.h:66
min
#define min(a, b)
Definition: cfImp.cxx:40
InDetProjHelper::Imp::projectPathToZPlane
void projectPathToZPlane(const std::vector< Amg::Vector3D > &in, Amg::SetVectorVector3D &outset, const double &z) const
Definition: InDetProjHelper.cxx:766
InDetProjParams::sct_endcap_zasr_squeezefact
static double sct_endcap_zasr_squeezefact()
Definition: InDetProjParams.h:50
InDetProjParams::pixel_data_disttosurface_epsilon
static double pixel_data_disttosurface_epsilon()
Definition: InDetProjParams.h:40
VP1QtInventorUtils::sbcol2qcol
static QColor sbcol2qcol(const SbColor &)
Definition: VP1QtInventorUtils.cxx:1142
InDetProjHelper::Imp::parts
InDetProjFlags::InDetProjPartsFlags parts
Definition: InDetProjHelper.cxx:91
InDetProjHelper::Imp::endcap_surface_z
double endcap_surface_z
Definition: InDetProjHelper.cxx:99
InDetProjParams::pixel_endcap_outer_radius
static double pixel_endcap_outer_radius()
Definition: InDetProjParams.h:37
InDetProjHelper::Imp::endcap_zasr_endcapz_begin
double endcap_zasr_endcapz_begin
Definition: InDetProjHelper.cxx:104
python.selection.number
number
Definition: selection.py:20
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
InDetProjParams::pixel_barrel_inner_radius
static double pixel_barrel_inner_radius()
Definition: InDetProjParams.h:31
VP1Msg::prefix_debug
static const char * prefix_debug()
Definition: VP1Msg.h:57
InDetProjHelper::m_d
Imp * m_d
Definition: InDetProjHelper.h:96
InDetProjFlags::Barrel_All
@ Barrel_All
Definition: InDetProjFlags.h:62
InDetProjParams::trt_data_disttosurface_epsilon
static double trt_data_disttosurface_epsilon()
Definition: InDetProjParams.h:62
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
python.PyAthena.v
v
Definition: PyAthena.py:154
VP1Msg::prefix_verbose
static const char * prefix_verbose()
Definition: VP1Msg.h:59
InDetProjParams::sct_endcap_surface_length
static double sct_endcap_surface_length()
Definition: InDetProjParams.h:46
y
#define y
VP1Msg::message
static void message(const QString &, IVP1System *sys=0)
Definition: VP1Msg.cxx:30
InDetProjFlags::EndCap_All
@ EndCap_All
Definition: InDetProjFlags.h:65
InDetProjHelper::EndCapA
@ EndCapA
Definition: InDetProjHelper.h:66
DetectorZone::barrel
@ barrel
InDetProjParams::pixel_endcap_surface_z
static double pixel_endcap_surface_z()
Definition: InDetProjParams.h:34
InDetProjParams::trt_endcap_zasr_innerradius
static double trt_endcap_zasr_innerradius()
Definition: InDetProjParams.h:74
VP1HelperClassBase::message
void message(const QString &) const
Definition: VP1HelperClassBase.cxx:49
str
Definition: BTagTrackIpAccessor.cxx:11
VP1Msg::verbose
static bool verbose()
Definition: VP1Msg.h:31
InDetProjParams::pixel_endcap_surface_length
static double pixel_endcap_surface_length()
Definition: InDetProjParams.h:35
VP1HelperClassBase::VP1HelperClassBase
VP1HelperClassBase(IVP1System *sys=0, QString helpername="")
Definition: VP1HelperClassBase.cxx:28
InDetProjHelper::Imp::barrel_outer_radius
double barrel_outer_radius
Definition: InDetProjHelper.cxx:97
InDetProjFlags::NoProjections
@ NoProjections
Definition: InDetProjFlags.h:49
InDetProjFlags::TRT_EndCapZToRPositive
@ TRT_EndCapZToRPositive
Definition: InDetProjFlags.h:58
InDetProjFlags::BarrelNegative
@ BarrelNegative
Definition: InDetProjFlags.h:51
InDetProjHelper::Imp::barrel_inner_radius
double barrel_inner_radius
Definition: InDetProjHelper.cxx:96
InDetProjHelper::InDetProjHelper
InDetProjHelper(double surfacethickness, double data_disttosurface_epsilon, double barrel_inner_radius, double barrel_outer_radius, double barrel_posneg_z, double endcap_surface_z, double endcap_surface_length, double endcap_inner_radius, double endcap_outer_radius, double endcap_zasr_innerradius, double endcap_zasr_endcapz_begin, double endcap_zasr_squeezefact, IVP1System *sys)
Definition: InDetProjHelper.cxx:151
InDetProjFlags::EndCapOuterPositive
@ EndCapOuterPositive
Definition: InDetProjFlags.h:53
python.compressB64.c
def c
Definition: compressB64.py:93
InDetProjParams::trt_endcap_surface_length
static double trt_endcap_surface_length()
Definition: InDetProjParams.h:57
InDetProjParams::trt_endcap_inner_radius
static double trt_endcap_inner_radius()
Definition: InDetProjParams.h:58
IVP1System::message
void message(const QString &) const
Definition: IVP1System.cxx:336
InDetProjParams::pixel_endcap_inner_radius
static double pixel_endcap_inner_radius()
Definition: InDetProjParams.h:36
InDetProjFlags::TRT_EndCapZToRNegative
@ TRT_EndCapZToRNegative
Definition: InDetProjFlags.h:59
InDetProjHelper::NoParts
@ NoParts
Definition: InDetProjHelper.h:66