Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Guillaume Baulieu
agapro
Commits
239bb0df
Commit
239bb0df
authored
Mar 29, 2019
by
Jérémie Dudouet
Browse files
Add the possibility to use MFM Producer and MFMtoADF in femul
parent
f957b3ef
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
76 additions
and
1 deletion
+76
-1
WinCtest/FEMUL_Config.h.cmake
WinCtest/FEMUL_Config.h.cmake
+11
-0
WinCtest/FemulBasicMFMP.h
WinCtest/FemulBasicMFMP.h
+32
-0
WinCtest/femul.cpp
WinCtest/femul.cpp
+33
-1
No files found.
WinCtest/FEMUL_Config.h.cmake
0 → 100644
View file @
239bb0df
/** @file FEMUL_Config.h global header file defining conditional compilation flags - produced by cmake */
#ifndef FEMUL_CONFIG_H
#define FEMUL_CONFIG_H
#cmakedefine HAS_ROOT
#cmakedefine HAS_MFM
#cmakedefine HAS_VAMOS
#cmakedefine HAS_GANPRO
#endif
WinCtest/FemulBasicMFMP.h
0 → 100644
View file @
239bb0df
#ifndef FemulBasicMFMP_h
#define FemulBasicMFMP_h
// GANPRO includes
#include "GANPRO_BasicMFMP.h"
namespace
GANPRO
{
//! Base class a Basic MFM Producer
class
FemulBasicMFMP
:
public
BasicMFMP
{
public:
FemulBasicMFMP
(){;}
virtual
~
FemulBasicMFMP
(){;}
//! Produce one block of data
virtual
UInt_t
ProcessBlock
(
ADF
::
FrameBlock
&
oblock
){
BasicMFMP
::
ProcessBlock
(
oblock
);
// if producer has been finished, stop there
if
(
GetFrameIO
().
GetStatus
()
==
ADF
::
BaseFrameIO
::
kFinished
)
{
return
1u
;
}
}
};
}
// end namespace GANPRO
#endif // FemulBasicMFMP_h
WinCtest/femul.cpp
View file @
239bb0df
...
...
@@ -42,6 +42,8 @@
#include "ChainOfActors.h"
#include "ChainLocker.h" // WCT_THREADED is defined in ChainLocker.h
#include "FEMUL_Config.h"
//enum EActor { NONE, BUILDER, PRODUCER, FILTER, CONSUMER, DISPATCHER }; // THIS IS NOW DEFINED IN ChainOfActors.h
std
::
string
NActor
[]
=
{
"NONE "
,
"BUILDER "
,
"PRODUCER "
,
"FILTER "
,
"CONSUMER "
,
"DISPATCHER"
};
...
...
@@ -51,6 +53,7 @@ BUILDER EventBuilder (can be derived from NarvalInterface as a PROD
PRODUCER BasicAFP
PRODUCER CrystalProducerATCA
PRODUCER AncillaryProducerTCP
PRODUCER BasicMFMP
FILTER PreprocessingFilterPSA
FILTER PSAFilterGridSearch
FILTER PostPSAFilter
...
...
@@ -60,6 +63,7 @@ FILTER GlobalFilter
FILTER TrackingFilterOFT
FILTER TrackingFilterMGT
FILTER BasicATSB
FILTER MFMtoADF
CONSUMER BasicAFC
CONSUMER TreeBuilder
CONSUMER None pseudo-actor to close a chain without output
...
...
@@ -81,6 +85,10 @@ DISPATCHER BuilderName pseudo actor to connect the output of a chain to an i
#include "AncillaryProducerTCP.h" // 22 220 no mother-daughter model
#ifdef HAS_GANPRO
#include "FemulBasicMFMP.h" // 23 230
#endif
// 3 FILTER
#include "PreprocessingFilter.h" // 30 300
#include "PreprocessingFilterPSA.h" // 301
...
...
@@ -104,12 +112,16 @@ DISPATCHER BuilderName pseudo actor to connect the output of a chain to an i
#include "AGAPRO_BasicATSB.h" // 36 360
#ifdef HAS_GANPRO
#include "GANPRO_MFMtoADF.h" // 37 370
#endif
// 4 CONSUMER
// None // 40 400 fake, used as last of a chain
#include "BasicAFC.h" // 41 410 no mother-daughter model
#ifdef HAS_ROOT
#include "AGAPRO_TreeBuilder.h"
#include "AGAPRO_TreeBuilder.h"
// 42 420
#endif
// 5 DISPATCHER femul mechanism to connect to an EventBuilder
...
...
@@ -978,6 +990,16 @@ bool topologyConfNew()
pActor
->
nrvPointer
=
new
AncillaryProducerTCP
;
pActor
->
libItem
=
220
;
}
#ifdef HAS_GANPRO
// 23
else
if
(
pActor
->
libName
==
"BasicMFMP"
)
{
cout
<<
"FemulBasicMFMP ..."
<<
endl
;
GANPRO
::
FemulBasicMFMP
::
process_config
(
pActor
->
libConf
.
c_str
(),
&
error_config
);
IF_ERRORCONFIG
(
error_config
);
pActor
->
nrvPointer
=
new
GANPRO
::
FemulBasicMFMP
;
pActor
->
libItem
=
230
;
}
#endif
ELSE_UNKNOWNCLASS
(
nc
);
break
;
case
FILTER
:
//// 3
...
...
@@ -1097,6 +1119,16 @@ bool topologyConfNew()
}
ELSE_UNKNOWNCLASS
(
nc
);
}
#ifdef HAS_GANPRO
// 37
else
if
(
pActor
->
libName
==
"MFMtoADF"
)
{
cout
<<
"MFMtoADF ..."
<<
endl
;
GANPRO
::
MFMtoADF
::
process_config
(
pActor
->
libConf
.
c_str
(),
&
error_config
);
IF_ERRORCONFIG
(
error_config
);
pActor
->
nrvPointer
=
new
GANPRO
::
MFMtoADF
;
pActor
->
libItem
=
370
;
}
#endif
ELSE_UNKNOWNCLASS
(
nc
);
break
;
case
CONSUMER
:
//// 4
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment