1 #ifndef DDSpacePointBuilder_h
2 #define DDSpacePointBuilder_h 1
4 #include "marlin/Processor.h"
8 #include <EVENT/TrackerHit.h>
9 #include <EVENT/TrackerHitPlane.h>
10 #include <IMPL/TrackerHitImpl.h>
12 #include "CLHEP/Vector/ThreeVector.h"
13 #include "CLHEP/Vector/Rotation.h"
16 #include "DDSurfaces/Vector2D.h"
17 #include "DDSurfaces/Vector3D.h"
18 #include "DDSurfaces/ISurface.h"
19 #include "DD4hep/LCDD.h"
20 #include "DDRec/SurfaceManager.h"
21 #include "DDRec/SurfaceHelper.h"
22 #include "DD4hep/DD4hepUnits.h"
24 using namespace lcio ;
25 using namespace marlin ;
82 virtual void processRunHeader( LCRunHeader* run ) ;
86 virtual void processEvent( LCEvent * evt ) ;
89 virtual void check( LCEvent * evt ) ;
124 static int calculateXingPoint(
double x1,
double y1,
float ex1,
float ey1,
double x2,
double y2,
float ex2,
float ey2,
double& x,
double& y );
148 static int calculatePointBetweenTwoLines(
149 const CLHEP::Hep3Vector& P1,
150 const CLHEP::Hep3Vector& V1,
151 const CLHEP::Hep3Vector& P2,
152 const CLHEP::Hep3Vector& V2,
153 CLHEP::Hep3Vector& point );
168 static int calculatePointBetweenTwoLines_UsingVertex(
169 const CLHEP::Hep3Vector& PA,
170 const CLHEP::Hep3Vector& PB,
171 const CLHEP::Hep3Vector& PC,
172 const CLHEP::Hep3Vector& PD,
173 const CLHEP::Hep3Vector& Vertex,
174 CLHEP::Hep3Vector& point);
179 TrackerHitImpl* createSpacePoint( TrackerHitPlane* a , TrackerHitPlane* b,
double stripLength );
187 std::vector< int > getCellID0sAtBack(
int cellID0 );
189 std::vector< int > getCellID0sAtBackOfFTD(
int cellID0 );
191 std::vector< int > getCellID0sAtBackOfSET(
int cellID0 );
193 std::vector< int > getCellID0sAtBackOfSIT(
int cellID0 );
197 std::string getCellID0Info(
int cellID0 );
203 unsigned _nOutOfBoundary;
204 unsigned _nStripsTooParallel;
205 unsigned _nPlanesNotParallel;
207 float _nominal_vertex_x;
208 float _nominal_vertex_y;
209 float _nominal_vertex_z;
211 CLHEP::Hep3Vector _nominal_vertex;
213 float _striplength_tolerance;
215 double _striplength ;
216 std::string _subDetName ;
219 const DD4hep::DDRec::SurfaceMap* surfMap ;
std::string _TrackerHitCollection
Input collection name.
Definition: DDSpacePointBuilder.h:105
std::string _relColName
Output relations collection name.
Definition: DDSpacePointBuilder.h:117
================= FTD Space Point Builder =================
Definition: DDSpacePointBuilder.h:66
std::string _SpacePointsCollection
Output collection name.
Definition: DDSpacePointBuilder.h:113
std::string _TrackerHitSimHitRelCollection
Input relation collection name.
Definition: DDSpacePointBuilder.h:109