ATLAS Offline Software
Loading...
Searching...
No Matches
PRDHandle_SpacePoint.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5
7// //
8// Header file for class PRDHandle_SpacePoint //
9// //
10// Description: Handles for SpacePoints (not really "PRDs") //
11// //
12// Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
13// Initial version: September 2008 //
14// //
16
17#ifndef PRDHANDLE_SPACEPOINT_H
18#define PRDHANDLE_SPACEPOINT_H
19
21
25
27
28
29
30namespace Trk { class SpacePoint; }
32
34public:
35
37 virtual ~PRDHandle_SpacePoint();
38
39 void buildShapes(SoNode*&shape_simple, SoNode*&shape_detailed);
40 int regionIndex();
41
42 Amg::Vector3D center() const { return m_sp->globalPosition(); }
43
44//SCT spacepoints have two clusters, Pixels one:
45 bool isSCT() { return getSecondPRD(); }
46 bool isPixel() { return !getSecondPRD(); }
47
48 const Trk::SpacePoint * spacePoint() const { return m_sp; }
49 const Trk::PrepRawData * getPRD() const { return m_sp->clusterList().first; }
50 const Trk::PrepRawData * getSecondPRD() const { return m_sp->clusterList().second; }
51 bool isBarrel() const
52 { return static_cast<const InDetDD::SiDetectorElement*>(getPRD()->detectorElement())->isBarrel(); }
53 bool isPositiveZ() const { return m_sp->globalPosition().z() > 0.0; }
54
55private:
56
57 // Uncomment to make it illegal to copy/assign a PRDHandle_SpacePoint:
58 // PRDHandle_SpacePoint( const PRDHandle_SpacePoint & );
59 // PRDHandle_SpacePoint & operator= ( const PRDHandle_SpacePoint & );
60
62 class Imp;
64
65};
66
67#endif
Class to hold geometrical description of a silicon detector element.
PRDHandleBase(PRDCollHandleBase *)
void buildShapes(SoNode *&shape_simple, SoNode *&shape_detailed)
const Trk::PrepRawData * getPRD() const
const Trk::SpacePoint * spacePoint() const
Amg::Vector3D center() const
const Trk::PrepRawData * getSecondPRD() const
const Trk::SpacePoint * m_sp
PRDHandle_SpacePoint(PRDCollHandle_SpacePoints *, const Trk::SpacePoint *)
virtual const TrkDetElementBase * detectorElement() const =0
return the detector element corresponding to this PRD The pointer will be zero if the det el is not d...
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.