LArbys / LArCV

Liquid Argon Computer Vision
11 stars 9 forks source link

virtual bool is(...) #42

Closed vgenty closed 8 years ago

vgenty commented 8 years ago

ThreadDatumFiller complains that there are two DatumFillers, when infact there is only one specified in apicaffe_cleanup

https://github.com/LArbys/LArCV/tree/apicaffe_cleanup

branch.

On line 50 of ProcessBase.h

virtual bool is(const std::string& question) const { return !(question.empty()); }

if we don't overload it then everything is a DatumFiller according to this statement, causing trouble for APICaffe

[NORMAL]  <TrainProcessDriver::configure> Instantiating Process ID=0 Type: ADCThreshold w/ Name: ADCThres
[NORMAL]  <TrainProcessDriver::configure> Instantiating Process ID=1 Type: SegFiller w/ Name: SegFiller

(ADCThreshold)
Is it datumfiller? 1
Is it an aho? 1

(SegFiller)
Is it datumfiller? 1
Is it an aho? 0

ADCThreshold is is both aho and DatumFiller since we sent a non-empty string.

Fix is to define virtual is(...) for ADCThreshold class and call it something else.

vgenty commented 8 years ago

fixed @ https://github.com/LArbys/LArCV/commit/519d100296d586807cf9ace723ae5087b7b50820