Skip to content

Calo future track alg update

Mateusz Jakub Bala requested to merge CaloFutureTrackAlg_Update into master

About

For Calo upgrade it is necessary to deal with TrackAlg class - it is small class but used as mother class for 5 classes which inherits from this one.

Generally this class only provides few methods ( _setProperty, use, print ) which are used by child classes ( and classes which inherit from them use _setProperty method too ).

Because we want to all algorithms classes be defined in the new way ( for example: here as the Transformer) this has to be removed and whole methods from this class moved to child classes ( without useless methods )

Short changes description

  • removed TrackAlg class

  • replaced method _setProperty with setProperty

  • replaced use() method with explicit usage of TracUse object in each class

  • added const for tools and mutable for TrackUse object (because is used in const method and in my opinion the state of TrackUse changes during program working ).

Questions

I will be grateful for comment on the following topics:

  • As you can see on the picture above we have 5 classes (transformers) and each one has many structs which inherit from them. Generally each one struct represent specialization of mother class by setting different properties and sometimes additional information like template parameters TABLE and so on. I would like to know your opinion if is better to leave this as it is or somehow remove this structs and insert structs body in mother classes.

diagram_track_alg_update

  • The second problem is using of TrackUse ( in the LHCb project) class object as tool to analyze tracks - I am not sure if this is thread safe.
Edited by Marco Cattaneo

Merge request reports