1 #ifndef FPCCDDigitizer_h
2 #define FPCCDDigitizer_h 1
4 #include "FPCCDPixelHit.h"
6 #include "marlin/Processor.h"
7 #include "marlin/EventModifier.h"
12 #include <marlin/Global.h>
13 #include <IMPL/LCEventImpl.h>
14 #include <gear/GEAR.h>
15 #include <gearimpl/Vector3D.h>
16 #include <gear/BField.h>
17 #include <gear/ZPlanarParameters.h>
18 #include <gear/ZPlanarLayerLayout.h>
69 class SimTrackerHitImpl;
81 class FPCCDDigitizer :
public marlin::Processor,
public marlin::EventModifier {
92 virtual const std::string &
name()
const {
return Processor::name() ; }
100 virtual void init() ;
110 virtual void check( LCEvent * evt ) ;
117 void makePixelHits(IMPL::SimTrackerHitImpl *simHit, FPCCDData &pxHits);
118 void makePixelHits(IMPL::SimTrackerHitImpl *simHit, FPCCDData &pxHits,
int nth_simthit);
128 void makeCandidates( std::pair<const gear::Vector3D*,int> edge, std::pair<int,int>* cand_array,
int layer);
134 std::map< std::pair< int, int>*,
double>
getLocalPixel(IMPL::SimTrackerHitImpl* simthit, std::vector<std::pair<const gear::Vector3D*, int> > edgeofpixel);
135 std::pair< int, int>*
FindPixel(std::pair<const gear::Vector3D*, int> f_fst, std::pair<const gear::Vector3D*, int> f_nxt,
int f_layer);
std::string _outColNameVTX
std::vector< std::pair< const gear::Vector3D *, int > > getIntersectionOfTrkAndPix(const int layer, gear::Vector3D *top, gear::Vector3D *bottom)
void getInOutPosOfHelixOnLadder(int layer, gear::Vector3D *outpos, gear::Vector3D *inpos, gear::Vector3D *pos, gear::Vector3D *mom, gear::Vector3D *BField, float charge)
int getLadderID(const gear::Vector3D *pos, const int layer)
struct FPCCDDigitizer::@14 _position
struct FPCCDDigitizer::@18 _counter
virtual void modifyEvent(LCEvent *evt)
CLHEP::Hep3Vector Vector3D
struct FPCCDDigitizer::@17 _something
std::map< std::pair< int, int > *, double > getLocalPixel(IMPL::SimTrackerHitImpl *simthit, std::vector< std::pair< const gear::Vector3D *, int > > edgeofpixel)
bool inSensitiveRegion(gear::Vector3D *pos, int layer)
std::vector< GeoData_t > _geodata
static const int _ARRAY_NUM
virtual void end()
Called after data processing for clean up.
virtual void init()
Called at the begin of the job before anything is read.
void makePixelHits(IMPL::SimTrackerHitImpl *simHit, FPCCDData &pxHits)
bool _ladder_Number_encoded_in_cellID
std::vector< double > sinphi
std::vector< double > cosphi
struct FPCCDDigitizer::@16 _ori_mcp
void makeCandidates(std::pair< const gear::Vector3D *, int > edge, std::pair< int, int > *cand_array, int layer)
virtual void processRunHeader(LCRunHeader *run)
Called for every run.
virtual Processor * newProcessor()
void ModifyIntoLadder(gear::Vector3D *bemodifiedpos, const int layer, gear::Vector3D *pos, gear::Vector3D *mom)
gear::Vector3D * getLocalPos(const gear::Vector3D *pos, const int layer, const int ladder)
std::pair< int, int > * FindPixel(std::pair< const gear::Vector3D *, int > f_fst, std::pair< const gear::Vector3D *, int > f_nxt, int f_layer)
void makeNewSimTHit(IMPL::SimTrackerHitImpl *simthit, gear::Vector3D *newpos, gear::Vector3D *newmom, int layer, int ladder, double newPathLength)
FPCCDDigitizer & operator=(const FPCCDDigitizer &)=delete
void getInOutPosOnLadder(int layer, gear::Vector3D *outpos, gear::Vector3D *inpos, gear::Vector3D *pos, gear::Vector3D *mom)
std::string _rootFileName
struct FPCCDDigitizer::@15 _simthits
virtual const std::string & name() const
virtual void check(LCEvent *evt)
Called for every event - the working horse.