|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
    6 #ifndef RINGERSELECTORTOOLS_PROCEDURES_RINGERPREPROCESSORWRAPPER_H 
    7 #define RINGERSELECTORTOOLS_PROCEDURES_RINGERPREPROCESSORWRAPPER_H 
    9 #define RINGER_PROCEDURE_INCLUDE 
   11 #undef RINGER_PROCEDURE_INCLUDE 
   13 #include <type_traits> 
   28   virtual public IRedirectMsgStream,
 
   37 #ifndef RINGER_STANDALONE 
   49         const TrackPatternsHolder *trackPat,
 
   50         std::vector<float> &transformVec) 
const = 0;
 
   78         std::vector<float> &transformVec) 
const = 0;
 
   91         TDirectory *configDir);
 
   98         TDirectory *configDir,
 
  101     static constexpr 
const char* wrapName = 
"RingerPreProcessorWrapper";
 
  124 template < 
class procedure_t,
 
  137     public RedirectMsgStream
 
  141         "RingerProcedureWrapper procedure_t type must have IVariableDependecy inheritance.");
 
  150     typedef typename std::vector <
 
  152         std::vector < procedure_t* > >
 
  165       m_rsRawConfCol(nullptr),
 
  169       m_pp = m_ppCol[0][0][0];
 
  175 #ifndef RINGER_STANDALONE 
  187         const TrackPatternsHolder *trackPat,
 
  188         std::vector<float> &transformVec) 
const final override;
 
  200         std::vector<float> &transformVec) 
const final override;
 
  205 #ifndef RINGER_STANDALONE 
  212       m_rsRawConfCol = crRawConfCol;
 
  222       crRawConfCol = m_rsRawConfCol;
 
  239       return m_ppCol.empty();
 
  267     virtual 
void setMsgStream(MsgStream *
msg) 
const override final;
 
  272     static std::
string staticFullName();
 
  313 #ifndef RINGER_STANDALONE 
  326 #endif // RINGERSELECTORTOOLS_PROCEDURES_RINGERPREPROCESSORWRAPPER_H 
  328 #ifndef INCLUDE_HEADER_ONLY // Use to avoid circular includes 
  329 #ifndef RINGER_DISCRIMINATOR_WRAPPER_INCLUDE 
  331 #endif // RINGER_DISCRIMINATOR_WRAPPER_INCLUDE 
  332 #endif // INCLUDE_HEADER_ONLY 
  
IovVectorMap_t read(const Folder &theFolder, const SelectionCriterion &choice, const unsigned int limit=10)
virtual const char * name() const final override
Returns this wrapper name.
virtual void getRawConfCol(const xAOD::RingSetConf::RawConfCollection *&crRawConfCol) const final override
Get the holden CaloRings raw configuration collection.
RingerProcedureWrapper(const PPDepProcCollection &ppDepCol)
Ctors:
virtual void applyPreProcessing(const DepVarStruct &depVar, std::vector< float > &transformVec) const final override
Apply PP to transform input space into a new representation.
virtual ~IRingerProcedureWrapper()
Ensure virtual destructor.
unsigned m_nRings
contains the total number of rings in the vectorized representation
void releaseMemory() override final
Release all holden pointer memory.
std::vector< RawConf > RawConfCollection
typedef The raw configuration structure data holder
virtual SegmentationType getSegType() const =0
Get segmentation type for this pre-processing.
std::vector< std::vector< std::vector< procedure_t * > > > PPDepProcCollection
RingerProcedureWrapper for Threshold procedures typedefs:
static void read(WrapperCollection &ppWrapperCol, TDirectory *configDir, unsigned version)
Read all pre-processing on configDir and append them to IPreProcWrapperCollection.
virtual void applyPreProcessing(const DepVarStruct &depVar, const xAOD::CaloRings *clrings, const TrackPatternsHolder *trackPat, std::vector< float > &transformVec) const =0
Apply PP to transform input space into a new representation.
virtual bool empty() const final override
Returns whether holden interface collection is empty.
bool const RAWDATA *ch2 const
SegmentationType
the possible procedure longitudinal segmentation types.
IPreProcWrapper::WrapperCollection IPreProcWrapperCollection
Facilitate access into Threshold Wrappers collection.
virtual void applyPreProcessing(const DepVarStruct &depVar, std::vector< float > &transformVec) const =0
Apply PP to transform input space into a new representation.
EtDependency
Specify et position dependency.
Class summarizing the particle interaction throughout the Calorimeter (its shower shape).
EtDependency etDep() const override final
Returns et dependecy for this wrapper.
void print(char *figname, TCanvas *c1)
EtaDependency
Specify eta position dependency.
IRingerProcedureWrapper< PreProcessing::IPreProcessor > IPreProcWrapper
Facilitate access into Threshold Wrappers.
EtaDependency etaDep() const override final
Returns eta dependecy for this wrapper.
IRingerProcedureWrapper()
virtual void applyPreProcessing(const DepVarStruct &depVar, const xAOD::CaloRings *clrings, const TrackPatternsHolder *trackPat, std::vector< float > &transformVec) const final override
Main Methods:
virtual void getRawConfCol(const xAOD::RingSetConf::RawConfCollection *&crRawConfCol) const =0
Get the holden CaloRings raw configuration collection.
virtual void setRawConfCol(const xAOD::RingSetConf::RawConfCollection *crRawConfCol)=0
Set the holden CaloRings raw configuration collection.
Used as base for all IRingerProcedureWrapper template specializations.
virtual void setRawConfCol(const xAOD::RingSetConf::RawConfCollection *crRawConfCol) final override
Other utilities.
std::vector< IRingerProcedureWrapper * > WrapperCollection
Collection type of PreProcessor Wrappers.
Specialization for Discriminator procedure.
virtual SegmentationType getSegType() const final override
Get segmentation type for this pre-processor.
static unsigned totalNumberOfRings(const RawConfCollection &clRingsConf)
Get the totalNumber of Rings contained in this configuration:
static void writeCol(const WrapperCollection &ppWrapperCol, TDirectory *configDir)
Write all wrappers on ppWrapperCol to TDirectory.
Specialization for Discriminator procedure.
Namespace dedicated for Ringer utilities.