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.