FairRoot/PandaRoot
Public Member Functions | Private Member Functions | Private Attributes | List of all members
PndHypStripClusterTask Class Reference

#include <PndHypStripClusterTask.h>

Inheritance diagram for PndHypStripClusterTask:

Public Member Functions

 PndHypStripClusterTask ()
 
 PndHypStripClusterTask (Double_t chargecut, TString geofile)
 
virtual ~PndHypStripClusterTask ()
 
virtual void SetParContainers ()
 
virtual InitStatus Init ()
 
virtual InitStatus ReInit ()
 
virtual void Exec (Option_t *opt)
 

Private Member Functions

TVector2 CalcLineCross (TVector2 point1, TVector2 dir1, TVector2 point2, TVector2 dir2)
 
void Register ()
 
void Reset ()
 
void ProduceHits ()
 
 ClassDef (PndHypStripClusterTask, 3)
 

Private Attributes

TClonesArray * fDigiArray
 
TClonesArray * fClusterArray
 
TClonesArray * fHitArray
 
Double_t fRadius
 
Int_t fFEcolumns
 
Int_t fFErows
 
TString fGeoFile
 
Double_t fChargeCut
 
PndHypStripDigiParfDigiPar
 
PndHypCalcStripfstripcalcTOP
 Digitization Parameters. More...
 
PndHypCalcStripfstripcalcBOT
 
PndHypGeoHandlingfGeoH
 
PndGeoHypParfGeoPar
 Geometry name handling. More...
 

Detailed Description

Definition at line 32 of file PndHypStripClusterTask.h.

Constructor & Destructor Documentation

PndHypStripClusterTask::PndHypStripClusterTask ( )

Default constructor

Definition at line 37 of file PndHypStripClusterTask.cxx.

References fChargeCut, and fGeoFile.

37  :
38  FairTask("HYP Strip Clustertisation Task")
39 {
40  fChargeCut = 1.e6; // this ist really large and shall have no effect
41  fGeoFile = "";
42 }
PndHypStripClusterTask::PndHypStripClusterTask ( Double_t  chargecut,
TString  geofile 
)

Definition at line 46 of file PndHypStripClusterTask.cxx.

References chargecut, fChargeCut, and fGeoFile.

46  :
47  FairTask("HYP Strip Clustertisation Task")
48 {
50  fGeoFile = geoFile;
51 }
Double_t chargecut
Definition: runclust.C:44
PndHypStripClusterTask::~PndHypStripClusterTask ( )
virtual

Destructor

Definition at line 56 of file PndHypStripClusterTask.cxx.

References fGeoH.

57 {
58  if(0!=fGeoH)delete fGeoH;
59 }

Member Function Documentation

TVector2 PndHypStripClusterTask::CalcLineCross ( TVector2  point1,
TVector2  dir1,
TVector2  point2,
TVector2  dir2 
)
private

Definition at line 425 of file PndHypStripClusterTask.cxx.

References Double_t, dx, dy, s, x, and y.

Referenced by Exec().

428 {
429  Double_t dx, dy, s, M, x, y;//t, //[R.K. 01/2017] unused variable
430  dx = point2.X() - point1.X();
431  dy = point2.Y() - point1.Y();
432 
433  M = dir1.X()*dir2.Y() - dir1.Y()*dir2.X();
434 
435  if(M !=0.)
436  {
437  s = dir1.Y()*dx/M - dir1.X()*dy/M;
438  x = point2.X() + dir2.X()*s;
439  y = point2.Y() + dir2.Y()*s;
440  }
441  else
442  {
443  std::cout<<"Warning in PndHypStripClusterTask::CalcLineCross(): M=0 setting (x,y) to 0"<<std::endl;
444  x=0.;y=0.;
445  }
446 
447  TVector2 result(x,y);
448  return result;
449 }
double dy
TLorentzVector s
Definition: Pnd2DStar.C:50
Double_t
double dx
Double_t x
Double_t y
PndHypStripClusterTask::ClassDef ( PndHypStripClusterTask  ,
 
)
private
void PndHypStripClusterTask::Exec ( Option_t *  opt)
virtual

Virtual method Exec

Muss ich den copy construktor selbst schreiben? fehlt was im linkdef?

Definition at line 144 of file PndHypStripClusterTask.cxx.

References PndHypStripClusterBuilder::AddDigi(), b, PndHypCalcStrip::CalcFeChToStrip(), CalcLineCross(), PndHypCalcStrip::CalcStripPointOnLine(), cos(), Double_t, fabs(), fChargeCut, fClusterArray, fDigiArray, fDigiPar, fGeoH, fHitArray, fstripcalcBOT, fstripcalcTOP, fVerbose, PndHypStripClusterBuilder::GetBotClusterIDs(), PndHypStripDigiPar::GetBotPitch(), PndHypDigiStrip::GetChannel(), PndHypDigi::GetCharge(), PndHypDigi::GetDetID(), PndHypDigi::GetDetName(), PndHypDigi::GetFE(), PndHypStripDigiPar::GetOrient(), PndHypStripDigiPar::GetSkew(), PndHypCalcStrip::GetStripDirection(), PndHypStripClusterBuilder::GetTopClusterIDs(), PndHypStripDigiPar::GetTopPitch(), i, PndHypGeoHandling::LocalToMasterErrorsId(), PndHypGeoHandling::LocalToMasterId(), PndHypStripClusterBuilder::SearchClusters(), PndHypHit::SetBotIndex(), sin(), sqrt(), strip, t, and TString.

145 {
146  if (fVerbose > 2)
147  std::cout<<"Sarting PndHypStripClusterTask::Exec()"<<std::endl;
148  std::vector<PndHypDigiStrip> digiStripArray;
149 // std::vector<PndHypClusterCand> clusters;
150 
151  // Reset output array
152  if ( ! fClusterArray ) Fatal("Exec", "No ClusterArray");
153  fClusterArray->Clear();
154 
155  if ( ! fHitArray ) Fatal("Exec", "No HitArray");
156  fHitArray->Clear();
157 
158  //Int_t nPoints = fDigiArray->GetEntriesFast(); //[R.K. 01/2017] unused variable
159 
160  // load the Clusterfinder
161  PndHypStripClusterBuilder clusterbuilder;
162  // PndHypCalcStrip stripcalcTOP(fDigiPar, kTOP);
163 // PndHypCalcStrip stripcalcBOT(fDigiPar, kBOTTOM);
164  if(fVerbose>1) fDigiPar->Print();
165 
166  TVector2 topDirection, botDirection ;
167  //TGeoVolume* actVolume; //[R.K. 01/2017] unused variable
168  //TGeoBBox* actBox; //[R.K. 01/2017] unused variable
169  TVector3 sensorDim,localpos, localDpos;
170  TString detName;//std::string detName;
171  Int_t detID, clindex, botIndex;//;iDigi, mcindex,topIndex, //[R.K. 01/2017] unused variable
172  Double_t mycharge;
173  TVector2 meantopPoint, meanbotPoint, onsensorPoint;
174  TVector3 hitPos,hitErr;
175  Double_t t, b; //local[3], master[3], //[R.K. 01/2017] unused variable
176 
177 
178 
179  //std::map<std::string,Int_t> firedSensors;
180  Int_t strip;
181  SensorSide side;
182  PndHypDigiStrip* myDigi=0;
183  //PndHypCluster* myCandTop=0; //[R.K. 01/2017] unused variable
184  //PndHypCluster* myCandBot=0; //[R.K. 01/2017] unused variable
185 
186 
187  for (Int_t iPoint = 0; iPoint < fDigiArray->GetEntriesFast(); iPoint++)
188  { // sort digis by sensor name and stripnumber
189 
190  myDigi = (PndHypDigiStrip*)(fDigiArray->At(iPoint));
191 
192  detName = myDigi->GetDetName().Data();
193 
194  fstripcalcTOP->CalcFeChToStrip(myDigi->GetFE(), myDigi->GetChannel(), strip, side);
195 
196  std::cout<<" strip "<< strip<<" side "<<std::endl;
197 
198  //stripcalcBOT.CalcFeChToStrip(myDigi->GetFE(), myDigi->GetChannel(), stripB, sideB);
199 
200 
201  clusterbuilder.AddDigi(detName.Data(),side,strip,iPoint);
202 
203 
204 
205  //if(firedSensors[detName.Data()]) firedSensors[detName.Data()] = myDigi->GetDetID();
206 
207  }
208 
209 
210 
211 
212  std::vector< PndHypCluster > clusters;
213  std::vector< Int_t > topclusters;// contains index to fClusterArray
214  std::vector< Int_t > botclusters;// contains index to fClusterArray
215  std::vector< Int_t > oneclustertop;
216  std::vector< Int_t > oneclusterbot;
217 
218 
219  // ----- search for clusters -----
220  clusters = clusterbuilder.SearchClusters();
221 
222  topclusters = clusterbuilder.GetTopClusterIDs();
223  botclusters = clusterbuilder.GetBotClusterIDs();
224 
225  for(std::vector< PndHypCluster >::iterator clit= clusters.begin();
226  clit!=clusters.end(); ++clit)
227  {
230  clindex = fClusterArray->GetEntriesFast();
231  //std::cout<<" clindex "<<clindex<<std::endl;
232  new((*fClusterArray)[clindex]) PndHypCluster(*clit);
233  }
234 
235  if(fVerbose > 2)
236  {
237  std::cout<<"Top Clusters: ";
238  for (std::vector< Int_t>::iterator itTop = topclusters.begin();
239  itTop!=topclusters.end(); ++itTop)
240  {
241  std::cout<<*itTop<<" | ";
242  }
243  std::cout<<std::endl;
244  std::cout<<"Bot Clusters: ";
245  for (std::vector< Int_t>::iterator itBot = botclusters.begin();
246  itBot!=botclusters.end(); ++itBot)
247  {
248  std::cout<<*itBot<<" | ";
249  }
250  std::cout<<std::endl;
251  }
252  // ----- calculate mean strip numbers -----
253 
254  // ----- merge top/bot clusters to hits -----
255  // loop on clusters from the top side
256  for (std::vector< Int_t>::iterator itTop = topclusters.begin();
257  itTop!=topclusters.end(); ++itTop)
258  {
259  // prepare values for the top side
260  Double_t topcharge = 0., meantopstrip=0.;
261 
262  oneclustertop = clusters[*itTop].GetClusterList();
263 
264  TString detnametop = ((PndHypDigiStrip*)fDigiArray->At(oneclustertop[0]))->GetDetName();
265 
266  //std::cout<<"det id top "<<detnametop<<std::endl;
267  topDirection = fstripcalcTOP->GetStripDirection();
268  botDirection = fstripcalcBOT->GetStripDirection();
269 
270  detID = ((PndHypDigiStrip*)fDigiArray->At(oneclustertop[0]))->GetDetID();
271 
272  //Double_t lastcharge=0; //[R.K. 01/2017] unused variable
273  for (std::vector<Int_t>::iterator itTopDigi = oneclustertop.begin();
274  itTopDigi != oneclustertop.end(); ++itTopDigi)
275  {// I use the temp. variables from the top of this method again
276  // calculate the mean charge and stripnumber
277 
278  myDigi = (PndHypDigiStrip*)fDigiArray->At(*itTopDigi);
279 
280  fstripcalcTOP->CalcFeChToStrip(myDigi->GetFE(), myDigi->GetChannel(), strip, side);
281  topcharge += myDigi->GetCharge();
282  meantopstrip += myDigi->GetCharge() * strip;
283 
284  if(fVerbose > 2)std::cout<<"FE no: "<<myDigi->GetFE()<<" | channel no: "
285  <<myDigi->GetChannel()<<" | topstrip no: "
286  <<strip<<"| detID no: "<<myDigi->GetDetID()<<std::endl;
287  }
288 
289  if(topcharge>0)
290  {
291  meantopstrip = meantopstrip/topcharge;
292  fstripcalcTOP->CalcStripPointOnLine(meantopstrip, meantopPoint);
293  // loop on bottom side
294  for (std::vector< Int_t>::iterator itBot = botclusters.begin();
295  itBot!=botclusters.end(); ++itBot)
296  {
297  botIndex = *itBot;
298  Double_t botcharge = 0., meanbotstrip=0.;
299 
300  oneclusterbot =( clusters[*itBot]).GetClusterList();
301  //std::cout<<" size bot "<<oneclusterbot.size()<<std::endl;
302 
303  TString detnamebot = ((PndHypDigiStrip*)fDigiArray->At(oneclusterbot[0]))->GetDetName();
304  //std::cout<<" bot name "<<detnamebot<<std::endl;
305 
306  if(detnamebot != detnametop) continue;
307  // cout<<" name detID "<<detnametop<<" bot "<<detnamebot<<" ind "
308  // <<botIndex<<std::endl;
309 
310  for (std::vector<Int_t>::iterator itBotDigi = oneclusterbot.begin();
311  itBotDigi != oneclusterbot.end(); ++itBotDigi)
312  {// I use the temp. variables from the top of this method again
313 
314  myDigi = (PndHypDigiStrip*)fDigiArray->At(*itBotDigi);
315 
316  fstripcalcTOP->CalcFeChToStrip(myDigi->GetFE(), myDigi->GetChannel(),
317  strip, side);
318  botcharge += myDigi->GetCharge();
319  meanbotstrip += myDigi->GetCharge() * strip;
320 
321  if(fVerbose > 2)std::cout<<"FE no: "<<myDigi->GetFE()<<" | channel no: "
322  <<myDigi->GetChannel()<<" | botstrip no: "<<strip<<std::endl;
323  }
324 
325  if(botcharge>0)
326  {
327  meanbotstrip = meanbotstrip/botcharge;
328  // look if the charges are not too differently
329  if(fVerbose > 2)
330  {
331  std::cout<<"Charges: Ctop = "<<topcharge<<" | Cbot = "<<botcharge
332  <<" | difference bot-top = "<<botcharge-topcharge<<std::endl;
333  }
334  if(fabs(botcharge-topcharge)<fChargeCut)
335  {
336  mycharge = (botcharge + topcharge) / 2.;
337  fstripcalcBOT->CalcStripPointOnLine(meanbotstrip, meanbotPoint);
338  // get the backmapped point
339  onsensorPoint = CalcLineCross(meantopPoint,
340  topDirection,meanbotPoint, botDirection);
341 
342  if (fVerbose > 2)
343  {
344  std::cout<<"Strip no. top: "<<meantopstrip
345  <<" | bot: "<<meanbotstrip
346  <<" | Mean Top side: ("<<meantopPoint.X()<<" ; "
347  <<meantopPoint.Y()<<")"<<"\n"<<"Mean Bot side: ("
348  <<meanbotPoint.X()<<" ; "<<meanbotPoint.Y()<<")"<<"\n"
349  <<"On Sensor Hit: ("<<onsensorPoint.X()<<" ; "
350  <<onsensorPoint.Y()<<")"<<std::endl;
351  }
352  std::cout<<" botIndex @final "<<botIndex<<std::endl;
353 
354  localpos.SetXYZ( onsensorPoint.X(),
355  onsensorPoint.Y(),
356  0. );
357  // local[0]=onsensorPoint.X();
358  //local[1]=onsensorPoint.Y();//0.
359  //local[2]=0.;//onsensorPoint.Y();//local coord.X-Z
360 
361  //shift sensor system into middle
362 
363  //local[0]-=sensorDim.X();
364  //local[1]-=sensorDim.Y();
365  //local[2]-=sensorDim.Z();
366 
367  //do the transformation from sensor to lab frame
368  hitPos = fGeoH->LocalToMasterId(localpos,detnametop.Data());
369 
370  //gGeoManager->LocalToMaster(local,master);
371  //hitPos.SetXYZ(master[0],master[1],master[2]);
372 
373  // calculate the errors corresponding to a skewed system!
374 
377 
378  localDpos.SetX(sqrt((t*t+b*b)/12.));
379 
382 
383  localDpos.SetY(sqrt((t*t+b*b)/12.));
384  localDpos.SetZ(0.);
385  //x-z c.s local[2]=sqrt((t*t+b*b)/12.);
386  //local[1]=sqrt((t*t+b*b)/12.);//x-z cs.0.
387  //local[2]=0.;
388  //hitErr.SetXYZ(local[0],local[1],0.);
389  hitErr = fGeoH->LocalToMasterErrorsId(localDpos,detnametop.Data());
390  //gGeoManager->LocalToMaster(local,master);
391  //hitErr.SetXYZ(master[0],master[1],master[2]);
392 
393 
394  Int_t i = fHitArray->GetEntriesFast();
395 
396  new((*fHitArray)[i])PndHypHit(detID,detnametop.Data(),
397  hitPos,hitErr,*itTop,mycharge,
398  oneclusterbot.size()+oneclustertop.size());
399  ((PndHypHit*)((*fHitArray)[i]))->SetBotIndex(*itBot);
400 
401  }else
402  if (fVerbose > 2) std::cout<<"Strip charge contents too differently"<<std::endl;
403  }
404  }// loop bot clusters
405  }
406  }// loop top clusters
407 
408  //}// end loop itSensors
409 
410 
411 
412 
413  if (fVerbose > 1)
414  std::cout << "ClusterArraySize: " << fClusterArray->GetEntriesFast()
415  << " | HitArraySize: " << fHitArray->GetEntriesFast() << " Hits calculated."
416  << " out of " <<fDigiArray->GetEntriesFast()<< " Digis"<<std::endl;
417 
418 
419  return;
420 
421 }
TVector2 CalcLineCross(TVector2 point1, TVector2 dir1, TVector2 point2, TVector2 dir2)
std::vector< PndHypCluster > SearchClusters()
int fVerbose
Definition: poormantracks.C:24
friend F32vec4 cos(const F32vec4 &a)
Definition: P4_F32vec4.h:112
Double_t GetSkew() const
Class to store the Digis which belong to one cluster This class holds the information which Digi belo...
Definition: PndHypCluster.h:18
TVector3 LocalToMasterId(const TVector3 &local, const TString &id)
Int_t i
Definition: run_full.C:25
TTree * b
Double_t GetBotPitch() const
friend F32vec4 sqrt(const F32vec4 &a)
Definition: P4_F32vec4.h:29
TString GetDetName() const
Definition: PndHypDigi.h:49
PndHypCalcStrip * fstripcalcTOP
Digitization Parameters.
friend F32vec4 sin(const F32vec4 &a)
Definition: P4_F32vec4.h:111
Int_t GetChannel() const
void SetBotIndex(Int_t id)
Definition: PndHypHit.h:81
std::vector< Int_t > GetBotClusterIDs() const
void CalcStripPointOnLine(const Double_t strip, TVector2 &point) const
int strip
Definition: anaMvdDigi.C:135
std::vector< Int_t > GetTopClusterIDs() const
PndHypStripDigiPar * fDigiPar
Double_t
Int_t GetFE() const
Definition: PndHypDigi.h:48
void AddDigi(std::string detname, SensorSide side, Int_t strip, Int_t iPoint)
SensorSide
Int_t GetDetID() const
Definition: PndHypDigi.h:51
friend F32vec4 fabs(const F32vec4 &a)
Definition: P4_F32vec4.h:47
void CalcFeChToStrip(Int_t fe, Int_t channel, Int_t &strip, enum SensorSide &side) const
TVector3 LocalToMasterErrorsId(const TVector3 &local, const TString &id)
Double_t GetOrient() const
TTree * t
Definition: bump_analys.C:13
PndHypCalcStrip * fstripcalcBOT
Double_t GetTopPitch() const
const TVector2 GetStripDirection() const
Double_t GetCharge() const
Definition: PndHypDigi.h:50
InitStatus PndHypStripClusterTask::Init ( )
virtual

Definition at line 91 of file PndHypStripClusterTask.cxx.

References fClusterArray, fDigiArray, fDigiPar, fGeoFile, fGeoH, fHitArray, fstripcalcBOT, fstripcalcTOP, kBOTTOM, kTOP, and SetParContainers().

92 {
93 
94  FairRootManager* ioman = FairRootManager::Instance();
95 
96  if ( ! ioman )
97  {
98  std::cout << "-E- PndHypStripClusterTask::Init: "
99  << "RootManager not instantiated!" << std::endl;
100  return kFATAL;
101  }
102 
103  // Get input array
104  fDigiArray = (TClonesArray*) ioman->GetObject("HypStripDigis");
105 
106  if ( ! fDigiArray )
107  {
108  std::cout << "-W- PndHypStripClusterTask::Init: "
109  << "No HYPDigi array!" << std::endl;
110  return kERROR;
111  }
112 
113  // set output arrays
114  fHitArray = new TClonesArray("PndHypHit");
115  //ioman->Register("HYPStripClusterHit", "HYP", fHitArray, kTRUE);
116  ioman->Register("HYPHit", "HYP", fHitArray, kTRUE);
117 
118  fClusterArray = new TClonesArray("PndHypCluster");
119  ioman->Register("HYPStripClusterCand","HYP",fClusterArray,kTRUE);
120 
122 
123  // geo name handling
124  if (fGeoFile=="") fGeoFile = ioman->GetInFile()->GetName();
125  fGeoH = new PndHypGeoHandling(fGeoFile.Data());
126 
127  if ( ! fDigiPar )
128  {
129  std::cout << "-W- PndMvdStripClusterTask::Init: "
130  << "No fDigiParTrap!" << std::endl;
131  return kERROR;
132  }
135 
136  std::cout << "-I- PndHypStripClusterTask: Initialisation successfull" << std::endl;
137  return kSUCCESS;
138 }
PndHypCalcStrip * fstripcalcTOP
Digitization Parameters.
Class to access the naming information of the MVD.
PndHypStripDigiPar * fDigiPar
PndHypCalcStrip * fstripcalcBOT
void PndHypStripClusterTask::ProduceHits ( )
private
void PndHypStripClusterTask::Register ( )
private
InitStatus PndHypStripClusterTask::ReInit ( )
virtual

Definition at line 73 of file PndHypStripClusterTask.cxx.

74 {
75 
76  InitStatus stat=kERROR;
77  return stat;
78 
79 
80  /*FairRunAna* ana = FairRunAna::Instance();
81  FairRuntimeDb* rtdb=ana->GetRuntimeDb();
82  fGeoPar=(PndGeoHypPar*)(rtdb->getContainer("PndGeoHypPar"));
83  return kSUCCESS;*/
84 
85  /*
86  return kSUCCESS;
87  */
88 }
void PndHypStripClusterTask::Reset ( )
private
void PndHypStripClusterTask::SetParContainers ( )
virtual

Virtual method Init

Definition at line 63 of file PndHypStripClusterTask.cxx.

References fDigiPar, and rtdb.

Referenced by Init().

64 {
65  // Get Base Container
66 
67  FairRunAna* ana = FairRunAna::Instance();
68  FairRuntimeDb* rtdb=ana->GetRuntimeDb();
69  //fGeoPar = (PndGeoHypPar*)(rtdb->getContainer("PndGeoHypPar"));
70  fDigiPar = (PndHypStripDigiPar*)(rtdb->getContainer("PndHypStripDigiPar"));
71 }
PndHypStripDigiPar * fDigiPar
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66

Member Data Documentation

Double_t PndHypStripClusterTask::fChargeCut
private

Definition at line 71 of file PndHypStripClusterTask.h.

Referenced by Exec(), and PndHypStripClusterTask().

TClonesArray* PndHypStripClusterTask::fClusterArray
private

Definition at line 60 of file PndHypStripClusterTask.h.

Referenced by Exec(), and Init().

TClonesArray* PndHypStripClusterTask::fDigiArray
private

Definition at line 59 of file PndHypStripClusterTask.h.

Referenced by Exec(), and Init().

PndHypStripDigiPar* PndHypStripClusterTask::fDigiPar
private

Definition at line 73 of file PndHypStripClusterTask.h.

Referenced by Exec(), Init(), and SetParContainers().

Int_t PndHypStripClusterTask::fFEcolumns
private

Definition at line 68 of file PndHypStripClusterTask.h.

Int_t PndHypStripClusterTask::fFErows
private

Definition at line 69 of file PndHypStripClusterTask.h.

TString PndHypStripClusterTask::fGeoFile
private

Definition at line 70 of file PndHypStripClusterTask.h.

Referenced by Init(), and PndHypStripClusterTask().

PndHypGeoHandling* PndHypStripClusterTask::fGeoH
private

Definition at line 76 of file PndHypStripClusterTask.h.

Referenced by Exec(), Init(), and ~PndHypStripClusterTask().

PndGeoHypPar* PndHypStripClusterTask::fGeoPar
private

Geometry name handling.

Definition at line 77 of file PndHypStripClusterTask.h.

TClonesArray* PndHypStripClusterTask::fHitArray
private

Definition at line 61 of file PndHypStripClusterTask.h.

Referenced by Exec(), and Init().

Double_t PndHypStripClusterTask::fRadius
private

Definition at line 67 of file PndHypStripClusterTask.h.

PndHypCalcStrip* PndHypStripClusterTask::fstripcalcBOT
private

Definition at line 75 of file PndHypStripClusterTask.h.

Referenced by Exec(), and Init().

PndHypCalcStrip* PndHypStripClusterTask::fstripcalcTOP
private

Digitization Parameters.

Definition at line 74 of file PndHypStripClusterTask.h.

Referenced by Exec(), and Init().


The documentation for this class was generated from the following files: