#ifndef PNDMVDSTRIPHITPRODUCER_H #define PNDMVDSTRIPHITPRODUCER_H 1 #include "PndSdsStripHitProducer.h" class TClonesArray; //! Hit Producer Task for strip detectors /** * The choice of the parameters used for Digitization depends on the invocation of the * different constructors of this task. Instantiating by the default constructor forces * the digitisation parameters initialized from the DigiPar-Database. On the other hand these * parameters may be overridden by invoking the constructor: * @code PndMvdStripHitProducer(Double_t, Double_t, Double_t, Double_t, TVector2, TVector2, * Int_t, Int_t, Int_t, Double_t, Double_t) @endcode \n * Basically, the sensors are thought to be rectangular (even if they are not). * Knowing the origin of the wafer, the strips can be described by an angle (orientation), * their separation with respect to each other (pitch) and one point that is known to be part of the first strip (anchor point).\n * The numbering scheme is as follows (assuming 128 channels per FE): \n *
strip index frontend # side
0 0 top
<- Top Anchor
1 0 top
... 0 top
127 0 top
128 1 top
... 1 top
255 1 top
256 2 top
... ... top
topNrFE*128-1 topNrFE-1 top
topNrFE*128 topNrFE bottom
<- Bottom Anchor
... topNrFE bottom
topNrFE*128+127 topNrFE bottom
topNrFE*128+128 topNrFE+1 bottom
... ... bottom
(topNrFE+botNrFE)*128-1 topNrFE+botNrFE-1 bottom
* \n * The numbering starts from the strip containing the anchor point following the direction * orthogonal to the strips in mathematically positive sense (along x-axis in positive direction, * if the strip orientation equals 90 degrees). * \n * @author HG Zaunick * * [04/2010] This functionality went into the SDS Package, only inheritance here. R.Kliemt * * * * * * **/ class PndMvdStripHitProducer : public PndSdsStripHitProducer { public: /** Default constructor **/ PndMvdStripHitProducer(); /** Destructor **/ virtual ~PndMvdStripHitProducer(); /** Specific Parameter set loading **/ virtual void SetParContainers(); virtual void SetCalculators(); /** Specify the branch & folder names for the I/O **/ void SetBranchNames(TString inBranchname, TString outBranchname, TString folderName); /** Take default naming **/ virtual void SetBranchNames(); ClassDef(PndMvdStripHitProducer,6); }; #endif