From 9dcdaaec1599261414705acb69a323b81a9a59d9 Mon Sep 17 00:00:00 2001 From: Anton Alkin Date: Mon, 3 Feb 2025 10:27:56 +0100 Subject: [PATCH 1/4] DPL Analysis: improve error message on wrong index dereference (#13920) --- Framework/Core/include/Framework/ASoA.h | 20 ++++++++++---------- Framework/Core/src/ASoA.cxx | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Framework/Core/include/Framework/ASoA.h b/Framework/Core/include/Framework/ASoA.h index 8af872a64176d..be6329b48b7eb 100644 --- a/Framework/Core/include/Framework/ASoA.h +++ b/Framework/Core/include/Framework/ASoA.h @@ -46,7 +46,7 @@ std::string strToUpper(std::string&& str); namespace o2::soa { void accessingInvalidIndexFor(const char* getter); -void dereferenceWithWrongType(); +void dereferenceWithWrongType(const char* getter, const char* target); void missingFilterDeclaration(int hash, int ai); void notBoundTable(const char* tableName); } // namespace o2::soa @@ -2473,7 +2473,7 @@ consteval auto getIndexTargets() } \ auto t = mBinding.get(); \ if (O2_BUILTIN_UNLIKELY(t == nullptr)) { \ - o2::soa::dereferenceWithWrongType(); \ + o2::soa::dereferenceWithWrongType(#_Getter_, #_Table_); \ } \ if (O2_BUILTIN_UNLIKELY(!has_##_Getter_())) { \ return t->emptySlice(); \ @@ -2558,7 +2558,7 @@ consteval auto getIndexTargets() } \ auto t = mBinding.get(); \ if (O2_BUILTIN_UNLIKELY(t == nullptr)) { \ - o2::soa::dereferenceWithWrongType(); \ + o2::soa::dereferenceWithWrongType(#_Getter_, #_Table_); \ } \ return getIterators(); \ } \ @@ -2571,7 +2571,7 @@ consteval auto getIndexTargets() } \ auto t = mBinding.get(); \ if (O2_BUILTIN_UNLIKELY(t == nullptr)) { \ - o2::soa::dereferenceWithWrongType(); \ + o2::soa::dereferenceWithWrongType(#_Getter_, #_Table_); \ } \ return getFilteredIterators(); \ } \ @@ -2617,7 +2617,7 @@ consteval auto getIndexTargets() } \ auto t = mBinding.get(); \ if (O2_BUILTIN_UNLIKELY(t == nullptr)) { \ - o2::soa::dereferenceWithWrongType(); \ + o2::soa::dereferenceWithWrongType(#_Getter_, #_Table_); \ } \ return t->rawIteratorAt((*mColumnIterator)[0]); \ } \ @@ -2630,7 +2630,7 @@ consteval auto getIndexTargets() } \ auto t = mBinding.get(); \ if (O2_BUILTIN_UNLIKELY(t == nullptr)) { \ - o2::soa::dereferenceWithWrongType(); \ + o2::soa::dereferenceWithWrongType(#_Getter_, #_Table_); \ } \ return t->rawIteratorAt((*mColumnIterator).back()); \ } \ @@ -2715,7 +2715,7 @@ consteval auto getIndexTargets() } \ auto t = mBinding.get(); \ if (O2_BUILTIN_UNLIKELY(t == nullptr)) { \ - o2::soa::dereferenceWithWrongType(); \ + o2::soa::dereferenceWithWrongType(#_Getter_, #_Table_); \ } \ return t->rawIteratorAt(*mColumnIterator); \ } \ @@ -2793,7 +2793,7 @@ consteval auto getIndexTargets() } \ auto t = mBinding.get(); \ if (O2_BUILTIN_UNLIKELY(t == nullptr)) { \ - o2::soa::dereferenceWithWrongType(); \ + o2::soa::dereferenceWithWrongType(#_Getter_, "self"); \ } \ return t->rawIteratorAt(*mColumnIterator); \ } \ @@ -2851,7 +2851,7 @@ consteval auto getIndexTargets() { \ auto t = mBinding.get(); \ if (O2_BUILTIN_UNLIKELY(t == nullptr)) { \ - o2::soa::dereferenceWithWrongType(); \ + o2::soa::dereferenceWithWrongType(#_Getter_, "self"); \ } \ if (O2_BUILTIN_UNLIKELY(!has_##_Getter_())) { \ return t->emptySlice(); \ @@ -2912,7 +2912,7 @@ consteval auto getIndexTargets() { \ auto t = mBinding.get(); \ if (O2_BUILTIN_UNLIKELY(t == nullptr)) { \ - o2::soa::dereferenceWithWrongType(); \ + o2::soa::dereferenceWithWrongType(#_Getter_, "self"); \ } \ return getIterators(); \ } \ diff --git a/Framework/Core/src/ASoA.cxx b/Framework/Core/src/ASoA.cxx index a37d0f33891e7..8f509ea17d2ba 100644 --- a/Framework/Core/src/ASoA.cxx +++ b/Framework/Core/src/ASoA.cxx @@ -21,9 +21,9 @@ void accessingInvalidIndexFor(const char* getter) { throw o2::framework::runtime_error_f("Accessing invalid index for %s", getter); } -void dereferenceWithWrongType() +void dereferenceWithWrongType(const char* getter, const char* target) { - throw o2::framework::runtime_error_f("Trying to dereference index with a wrong type in _as<>. Note that if you have several compatible index targets in your process() signature, the last one will be the one actually bound to the getter."); + throw o2::framework::runtime_error_f("Trying to dereference index with a wrong type in %s_as for base target \"%s\". Note that if you have several compatible index targets in your process() signature, the last one will be the one actually bound.", getter, target); } void missingFilterDeclaration(int hash, int ai) { From ff8ba8164bc6a23c4fbf2ab3bdcc5608dd3a6e69 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Mon, 3 Feb 2025 15:59:44 +0100 Subject: [PATCH 2/4] DPL Analysis: move ownership of payloads to the fragment (#13931) This makes sure the FileFragment is the entity which owns the TTree / RNtuple, so that its caching and memory management have the correct life-cycle and we do not end up with memory churn or having to reconfigure the caches. --- .../AnalysisSupport/src/RNTuplePlugin.cxx | 60 +++--- Framework/AnalysisSupport/src/TTreePlugin.cxx | 172 ++++++++++-------- .../include/Framework/RootArrowFilesystem.h | 45 ++++- Framework/Core/src/Plugin.cxx | 26 ++- Framework/Core/src/RootArrowFilesystem.cxx | 71 +++++++- Framework/Core/test/test_Root2ArrowTable.cxx | 22 ++- 6 files changed, 265 insertions(+), 131 deletions(-) diff --git a/Framework/AnalysisSupport/src/RNTuplePlugin.cxx b/Framework/AnalysisSupport/src/RNTuplePlugin.cxx index f66723419c24e..51b585d0714bb 100644 --- a/Framework/AnalysisSupport/src/RNTuplePlugin.cxx +++ b/Framework/AnalysisSupport/src/RNTuplePlugin.cxx @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -51,10 +52,6 @@ class RNTupleFileSystem : public VirtualRootFileSystemBase public: ~RNTupleFileSystem() override; - std::shared_ptr GetSubFilesystem(arrow::dataset::FileSource source) override - { - return std::dynamic_pointer_cast(shared_from_this()); - }; virtual ROOT::Experimental::RNTuple* GetRNTuple(arrow::dataset::FileSource source) = 0; }; @@ -100,9 +97,28 @@ class RNTupleFileFragment : public arrow::dataset::FileFragment std::shared_ptr format, arrow::compute::Expression partition_expression, std::shared_ptr physical_schema) - : FileFragment(std::move(source), std::move(format), std::move(partition_expression), std::move(physical_schema)) + : FileFragment(source, format, partition_expression, physical_schema) { + auto fs = std::dynamic_pointer_cast(source.filesystem()); + if (!fs.get()) { + throw runtime_error_f("Do not know how to extract %s from %s", source.path().c_str(), fs->type_name().c_str()); + } + auto handler = fs->GetObjectHandler(source); + if (!handler->format->Equals(*format)) { + throw runtime_error_f("Format for %s does not match. Found %s, expected %s.", source.path().c_str(), + handler->format->type_name().c_str(), + format->type_name().c_str()); + } + mNTuple = handler->GetObjectAsOwner(); } + + ROOT::Experimental::RNTuple* GetRNTuple() + { + return mNTuple.get(); + } + + private: + std::unique_ptr mNTuple; }; class RNTupleFileFormat : public arrow::dataset::FileFormat @@ -133,11 +149,10 @@ class RNTupleFileFormat : public arrow::dataset::FileFormat arrow::Result IsSupported(const arrow::dataset::FileSource& source) const override { auto fs = std::dynamic_pointer_cast(source.filesystem()); - auto subFs = fs->GetSubFilesystem(source); - if (std::dynamic_pointer_cast(subFs)) { - return true; + if (!fs) { + return false; } - return false; + return fs->CheckSupport(source); } arrow::Result> Inspect(const arrow::dataset::FileSource& source) const override; @@ -493,11 +508,12 @@ arrow::Result> RNTupleFileFormat::Inspect(const a auto fs = std::dynamic_pointer_cast(source.filesystem()); // Actually get the TTree from the ROOT file. - auto ntupleFs = std::dynamic_pointer_cast(fs->GetSubFilesystem(source)); - if (!ntupleFs.get()) { - throw runtime_error_f("Unknown filesystem %s\n", source.filesystem()->type_name().c_str()); + auto objectHandler = fs->GetObjectHandler(source); + if (objectHandler->format->type_name() != this->type_name()) { + throw runtime_error_f("Unexpected kind of filesystem %s to handle payload %s.\n", source.filesystem()->type_name().c_str(), source.path().c_str()); } - ROOT::Experimental::RNTuple* rntuple = ntupleFs->GetRNTuple(source); + // We know this is a RNTuple, so we can continue with the inspection. + auto rntuple = objectHandler->GetObjectAsOwner().release(); auto inspector = ROOT::Experimental::RNTupleInspector::Create(rntuple); @@ -526,11 +542,8 @@ arrow::Result RNTupleFileFormat::ScanBatchesAsync( std::vector> columns; std::vector> fields = dataset_schema->fields(); - auto containerFS = std::dynamic_pointer_cast(ntupleFragment->source().filesystem()); - auto fs = std::dynamic_pointer_cast(containerFS->GetSubFilesystem(ntupleFragment->source())); - int64_t rows = -1; - ROOT::Experimental::RNTuple* rntuple = fs->GetRNTuple(ntupleFragment->source()); + ROOT::Experimental::RNTuple* rntuple = ntupleFragment->GetRNTuple(); auto reader = ROOT::Experimental::RNTupleReader::Open(rntuple); auto& model = reader->GetModel(); for (auto& physicalField : fields) { @@ -670,7 +683,7 @@ arrow::Result RNTupleFileFormat::ScanBatchesAsync( if (!result.ok()) { throw runtime_error("Cannot allocate offset buffer"); } - arrowOffsetBuffer = std::move(result).ValueUnsafe(); + arrowOffsetBuffer = result.MoveValueUnsafe(); // Offset bulk auto offsetBulk = model.CreateBulk(physicalField->name()); @@ -692,7 +705,7 @@ arrow::Result RNTupleFileFormat::ScanBatchesAsync( if (!result.ok()) { throw runtime_error("Cannot allocate values buffer"); } - arrowValuesBuffer = std::move(result).ValueUnsafe(); + arrowValuesBuffer = result.MoveValueUnsafe(); ptr = (uint8_t*)(arrowValuesBuffer->mutable_data()); // Calculate the size of the buffer here. for (size_t i = 0; i < total; i++) { @@ -811,9 +824,9 @@ arrow::Result> RNTupleFileFormat:: { std::shared_ptr format = std::make_shared(mTotCompressedSize, mTotUncompressedSize); - auto fragment = std::make_shared(std::move(source), std::move(format), - std::move(partition_expression), - std::move(physical_schema)); + auto fragment = std::make_shared(source, format, + partition_expression, + physical_schema); return std::dynamic_pointer_cast(fragment); } @@ -839,9 +852,6 @@ struct RNTupleObjectReadingImplementation : public RootArrowFactoryPlugin { return new RootArrowFactory{ .options = [context]() { return context->format->DefaultWriteOptions(); }, .format = [context]() { return context->format; }, - .getSubFilesystem = [](void* handle) { - auto rntuple = (ROOT::Experimental::RNTuple*)handle; - return std::shared_ptr(new SingleRNTupleFileSystem(rntuple)); }, }; } }; diff --git a/Framework/AnalysisSupport/src/TTreePlugin.cxx b/Framework/AnalysisSupport/src/TTreePlugin.cxx index abc08526815cc..4b130a2144253 100644 --- a/Framework/AnalysisSupport/src/TTreePlugin.cxx +++ b/Framework/AnalysisSupport/src/TTreePlugin.cxx @@ -15,6 +15,7 @@ #include "Framework/Endian.h" #include #include +#include #include #include #include @@ -26,7 +27,6 @@ #include #include #include -#include O2_DECLARE_DYNAMIC_LOG(root_arrow_fs); @@ -48,11 +48,6 @@ class TTreeFileSystem : public VirtualRootFileSystemBase public: ~TTreeFileSystem() override; - std::shared_ptr GetSubFilesystem(arrow::dataset::FileSource source) override - { - return std::dynamic_pointer_cast(shared_from_this()); - }; - arrow::Result> OpenOutputStream( const std::string& path, const std::shared_ptr& metadata) override; @@ -60,6 +55,55 @@ class TTreeFileSystem : public VirtualRootFileSystemBase virtual std::unique_ptr& GetTree(arrow::dataset::FileSource source) = 0; }; +class TTreeFileFormat : public arrow::dataset::FileFormat +{ + size_t& mTotCompressedSize; + size_t& mTotUncompressedSize; + + public: + TTreeFileFormat(size_t& totalCompressedSize, size_t& totalUncompressedSize) + : FileFormat({}), + mTotCompressedSize(totalCompressedSize), + mTotUncompressedSize(totalUncompressedSize) + { + } + + ~TTreeFileFormat() override = default; + + std::string type_name() const override + { + return "ttree"; + } + + bool Equals(const FileFormat& other) const override + { + return other.type_name() == this->type_name(); + } + + arrow::Result IsSupported(const arrow::dataset::FileSource& source) const override + { + auto fs = std::dynamic_pointer_cast(source.filesystem()); + if (!fs) { + return false; + } + return fs->CheckSupport(source); + } + + arrow::Result> Inspect(const arrow::dataset::FileSource& source) const override; + /// \brief Create a FileFragment for a FileSource. + arrow::Result> MakeFragment( + arrow::dataset::FileSource source, arrow::compute::Expression partition_expression, + std::shared_ptr physical_schema) override; + + arrow::Result> MakeWriter(std::shared_ptr destination, std::shared_ptr schema, std::shared_ptr options, arrow::fs::FileLocator destination_locator) const override; + + std::shared_ptr DefaultWriteOptions() override; + + arrow::Result ScanBatchesAsync( + const std::shared_ptr& options, + const std::shared_ptr& fragment) const override; +}; + class SingleTreeFileSystem : public TTreeFileSystem { public: @@ -76,6 +120,11 @@ class SingleTreeFileSystem : public TTreeFileSystem return "ttree"; } + std::shared_ptr GetObjectHandler(arrow::dataset::FileSource source) override + { + return std::make_shared((void*)mTree.get(), std::make_shared(mTotCompressedSize, mTotUncompressedSize)); + } + std::unique_ptr& GetTree(arrow::dataset::FileSource) override { // Simply return the only TTree we have @@ -83,6 +132,8 @@ class SingleTreeFileSystem : public TTreeFileSystem } private: + size_t mTotUncompressedSize; + size_t mTotCompressedSize; std::unique_ptr mTree; }; @@ -103,66 +154,28 @@ class TTreeFileFragment : public arrow::dataset::FileFragment std::shared_ptr format, arrow::compute::Expression partition_expression, std::shared_ptr physical_schema) - : FileFragment(std::move(source), std::move(format), std::move(partition_expression), std::move(physical_schema)) - { - } - - std::unique_ptr& GetTree() + : FileFragment(source, format, std::move(partition_expression), physical_schema) { - auto topFs = std::dynamic_pointer_cast(source().filesystem()); - auto treeFs = std::dynamic_pointer_cast(topFs->GetSubFilesystem(source())); - return treeFs->GetTree(source()); - } -}; - -class TTreeFileFormat : public arrow::dataset::FileFormat -{ - size_t& mTotCompressedSize; - size_t& mTotUncompressedSize; - - public: - TTreeFileFormat(size_t& totalCompressedSize, size_t& totalUncompressedSize) - : FileFormat({}), - mTotCompressedSize(totalCompressedSize), - mTotUncompressedSize(totalUncompressedSize) - { - } - - ~TTreeFileFormat() override = default; - - std::string type_name() const override - { - return "ttree"; - } - - bool Equals(const FileFormat& other) const override - { - return other.type_name() == this->type_name(); + auto rootFS = std::dynamic_pointer_cast(this->source().filesystem()); + if (rootFS.get() == nullptr) { + throw runtime_error_f("Unknown filesystem %s when reading %s.", + source.filesystem()->type_name().c_str(), source.path().c_str()); + } + auto objectHandler = rootFS->GetObjectHandler(source); + if (!objectHandler->format->Equals(*format)) { + throw runtime_error_f("Cannot read source %s with format %s to pupulate a TTreeFileFragment.", + source.path().c_str(), objectHandler->format->type_name().c_str()); + }; + mTree = objectHandler->GetObjectAsOwner(); } - arrow::Result IsSupported(const arrow::dataset::FileSource& source) const override + TTree* GetTree() { - auto fs = std::dynamic_pointer_cast(source.filesystem()); - auto subFs = fs->GetSubFilesystem(source); - if (std::dynamic_pointer_cast(subFs)) { - return true; - } - return false; + return mTree.get(); } - arrow::Result> Inspect(const arrow::dataset::FileSource& source) const override; - /// \brief Create a FileFragment for a FileSource. - arrow::Result> MakeFragment( - arrow::dataset::FileSource source, arrow::compute::Expression partition_expression, - std::shared_ptr physical_schema) override; - - arrow::Result> MakeWriter(std::shared_ptr destination, std::shared_ptr schema, std::shared_ptr options, arrow::fs::FileLocator destination_locator) const override; - - std::shared_ptr DefaultWriteOptions() override; - - arrow::Result ScanBatchesAsync( - const std::shared_ptr& options, - const std::shared_ptr& fragment) const override; + private: + std::unique_ptr mTree; }; // An arrow outputstream which allows to write to a TTree. Eventually @@ -250,9 +263,6 @@ struct TTreeObjectReadingImplementation : public RootArrowFactoryPlugin { return new RootArrowFactory{ .options = [context]() { return context->format->DefaultWriteOptions(); }, .format = [context]() { return context->format; }, - .getSubFilesystem = [](void* handle) { - auto tree = (TTree*)handle; - return std::shared_ptr(new SingleTreeFileSystem(tree)); }, }; } }; @@ -269,16 +279,16 @@ arrow::Result TTreeFileFormat::ScanBatchesAsync( { // This is the schema we want to read auto dataset_schema = options->dataset_schema; + auto treeFragment = std::dynamic_pointer_cast(fragment); + if (treeFragment.get() == nullptr) { + return {arrow::Status::NotImplemented("Not a ttree fragment")}; + } - auto generator = [pool = options->pool, fragment, dataset_schema, &totalCompressedSize = mTotCompressedSize, + auto generator = [pool = options->pool, treeFragment, dataset_schema, &totalCompressedSize = mTotCompressedSize, &totalUncompressedSize = mTotUncompressedSize]() -> arrow::Future> { std::vector> columns; std::vector> fields = dataset_schema->fields(); - auto physical_schema = *fragment->ReadPhysicalSchema(); - - auto fs = std::dynamic_pointer_cast(fragment->source().filesystem()); - // Actually get the TTree from the ROOT file. - auto treeFs = std::dynamic_pointer_cast(fs->GetSubFilesystem(fragment->source())); + auto physical_schema = *treeFragment->ReadPhysicalSchema(); if (dataset_schema->num_fields() > physical_schema->num_fields()) { throw runtime_error_f("One TTree must have all the fields requested in a table"); @@ -301,7 +311,7 @@ arrow::Result TTreeFileFormat::ScanBatchesAsync( } } - auto& tree = treeFs->GetTree(fragment->source()); + auto* tree = treeFragment->GetTree(); tree->SetCacheSize(25000000); auto branches = tree->GetListOfBranches(); for (auto& mapping : mappings) { @@ -586,12 +596,19 @@ struct RootTransientIndexType : arrow::ExtensionType { arrow::Result> TTreeFileFormat::Inspect(const arrow::dataset::FileSource& source) const { auto fs = std::dynamic_pointer_cast(source.filesystem()); - // Actually get the TTree from the ROOT file. - auto treeFs = std::dynamic_pointer_cast(fs->GetSubFilesystem(source)); - if (!treeFs.get()) { + + if (!fs.get()) { + throw runtime_error_f("Unknown filesystem %s\n", source.filesystem()->type_name().c_str()); + } + auto objectHandler = fs->GetObjectHandler(source); + + if (!objectHandler->format->Equals(*this)) { throw runtime_error_f("Unknown filesystem %s\n", source.filesystem()->type_name().c_str()); } - auto& tree = treeFs->GetTree(source); + + // Notice that we abuse of the API here and do not release the TTree, + // so that it's still managed by ROOT. + auto tree = objectHandler->GetObjectAsOwner().release(); auto branches = tree->GetListOfBranches(); auto n = branches->GetEntries(); @@ -636,10 +653,9 @@ arrow::Result> TTreeFileFormat::Ma std::shared_ptr physical_schema) { - auto fragment = std::make_shared(std::move(source), std::dynamic_pointer_cast(shared_from_this()), - std::move(partition_expression), - std::move(physical_schema)); - return std::dynamic_pointer_cast(fragment); + return std::make_shared(source, std::dynamic_pointer_cast(shared_from_this()), + std::move(partition_expression), + physical_schema); } class TTreeFileWriter : public arrow::dataset::FileWriter diff --git a/Framework/Core/include/Framework/RootArrowFilesystem.h b/Framework/Core/include/Framework/RootArrowFilesystem.h index feab713b445fe..441b43aeca331 100644 --- a/Framework/Core/include/Framework/RootArrowFilesystem.h +++ b/Framework/Core/include/Framework/RootArrowFilesystem.h @@ -12,11 +12,13 @@ #define O2_FRAMEWORK_ROOT_ARROW_FILESYSTEM_H_ #include +#include #include #include #include #include #include +#include class TFile; class TBufferFile; @@ -25,6 +27,27 @@ class TDirectoryFile; namespace o2::framework { +struct RootObjectHandler { + RootObjectHandler(void* p, std::shared_ptr f) + : payload(p), format(std::move(f)) + { + } + + ~RootObjectHandler() noexcept(false); + + template + std::unique_ptr GetObjectAsOwner() + { + auto* p = payload; + payload = nullptr; + return std::unique_ptr((T*)p); + } + std::shared_ptr format; + + private: + void* payload = nullptr; +}; + // This is to avoid having to implement a bunch of unimplemented methods // for all the possible virtual filesystem we can invent on top of ROOT // data structures. @@ -40,7 +63,8 @@ class VirtualRootFileSystemBase : public arrow::fs::FileSystem return this->type_name() == other.type_name(); } - virtual std::shared_ptr GetSubFilesystem(arrow::dataset::FileSource source) = 0; + virtual std::shared_ptr GetObjectHandler(arrow::dataset::FileSource source) = 0; + virtual bool CheckSupport(arrow::dataset::FileSource source) = 0; arrow::Status CreateDir(const std::string& path, bool recursive) override; @@ -72,7 +96,6 @@ class VirtualRootFileSystemBase : public arrow::fs::FileSystem struct RootArrowFactory final { std::function()> options = nullptr; std::function()> format = nullptr; - std::function(void*)> getSubFilesystem = nullptr; }; struct RootArrowFactoryPlugin { @@ -92,9 +115,10 @@ struct RootObjectReadingCapability { // Use a void * in order not to expose the kind of object to the // generic reading code. This is also where we load the plugin // which will be used for the actual creation. - std::function getHandle; - // Same as the above, but uses a TBufferFile as storage - std::function getBufferHandle; + std::function fs, std::string const& path)> getHandle; + // Wether or not this actually supports reading an object of the following class + std::function checkSupport; + // This must be implemented to load the actual RootArrowFactory plugin which // implements this capability. This way the detection of the file format // (via get handle) does not need to know about the actual code which performs @@ -125,7 +149,9 @@ class TFileFileSystem : public VirtualRootFileSystemBase return "TDirectoryFile"; } - std::shared_ptr GetSubFilesystem(arrow::dataset::FileSource source) override; + std::shared_ptr GetObjectHandler(arrow::dataset::FileSource source) override; + bool CheckSupport(arrow::dataset::FileSource source) override; + virtual std::shared_ptr GetSubFilesystem(arrow::dataset::FileSource source); arrow::Result> OpenOutputStream( const std::string& path, @@ -153,7 +179,12 @@ class TBufferFileFS : public VirtualRootFileSystemBase return "tbufferfile"; } - std::shared_ptr GetSubFilesystem(arrow::dataset::FileSource source) override; + bool CheckSupport(arrow::dataset::FileSource source) override; + std::shared_ptr GetObjectHandler(arrow::dataset::FileSource source) override; + TBufferFile* GetBuffer() + { + return mBuffer; + } private: TBufferFile* mBuffer; diff --git a/Framework/Core/src/Plugin.cxx b/Framework/Core/src/Plugin.cxx index 568908426c143..13b67e2a781ba 100644 --- a/Framework/Core/src/Plugin.cxx +++ b/Framework/Core/src/Plugin.cxx @@ -17,10 +17,14 @@ #include "Framework/Signpost.h" #include "Framework/VariantJSONHelpers.h" #include "Framework/PluginManager.h" +#include #include #include #include +#include +#include #include +#include #include O2_DECLARE_DYNAMIC_LOG(capabilities); @@ -177,14 +181,24 @@ struct ImplementationContext { std::vector implementations; }; -std::function getHandleByClass(char const* classname) +std::function, std::string const&)> getHandleByClass(char const* classname) { - return [c = TClass::GetClass(classname)](TDirectoryFile* file, std::string const& path) { return file->GetObjectChecked(path.c_str(), c); }; + return [c = TClass::GetClass(classname)](std::shared_ptr fs, std::string const& path) -> void* { + if (auto tfileFS = std::dynamic_pointer_cast(fs)) { + return tfileFS->GetFile()->GetObjectChecked(path.c_str(), c); + } else if (auto tbufferFS = std::dynamic_pointer_cast(fs)) { + tbufferFS->GetBuffer()->Reset(); + return tbufferFS->GetBuffer()->ReadObjectAny(c); + } + return nullptr; + }; } -std::function getBufferHandleByClass(char const* classname) +std::function matchClassByName(std::string_view classname) { - return [c = TClass::GetClass(classname)](TBufferFile* buffer, std::string const& path) { buffer->Reset(); return buffer->ReadObjectAny(c); }; + return [c = classname](char const* attempt) -> bool { + return c == attempt; + }; } void lazyLoadFactory(std::vector& implementations, char const* specs) @@ -218,7 +232,7 @@ struct RNTupleObjectReadingCapability : o2::framework::RootObjectReadingCapabili return "/" + s; } }, .getHandle = getHandleByClass("ROOT::Experimental::RNTuple"), - .getBufferHandle = getBufferHandleByClass("ROOT::Experimental::RNTuple"), + .checkSupport = matchClassByName("ROOT::Experimental::RNTuple"), .factory = [context]() -> RootArrowFactory& { lazyLoadFactory(context->implementations, "O2FrameworkAnalysisRNTupleSupport:RNTupleObjectReadingImplementation"); return context->implementations.back(); @@ -235,7 +249,7 @@ struct TTreeObjectReadingCapability : o2::framework::RootObjectReadingCapability .name = "ttree", .lfn2objectPath = [](std::string s) { return s; }, .getHandle = getHandleByClass("TTree"), - .getBufferHandle = getBufferHandleByClass("TTree"), + .checkSupport = matchClassByName("TTree"), .factory = [context]() -> RootArrowFactory& { lazyLoadFactory(context->implementations, "O2FrameworkAnalysisTTreeSupport:TTreeObjectReadingImplementation"); return context->implementations.back(); diff --git a/Framework/Core/src/RootArrowFilesystem.cxx b/Framework/Core/src/RootArrowFilesystem.cxx index 4a1286515508c..c563866e802bb 100644 --- a/Framework/Core/src/RootArrowFilesystem.cxx +++ b/Framework/Core/src/RootArrowFilesystem.cxx @@ -25,6 +25,7 @@ #include #include #include +#include template class std::shared_ptr; @@ -41,22 +42,40 @@ TFileFileSystem::TFileFileSystem(TDirectoryFile* f, size_t readahead, RootObject ((TFile*)mFile)->SetReadaheadSize(50 * 1024 * 1024); } -std::shared_ptr TFileFileSystem::GetSubFilesystem(arrow::dataset::FileSource source) +std::shared_ptr TFileFileSystem::GetObjectHandler(arrow::dataset::FileSource source) { // We use a plugin to create the actual objects inside the // file, so that we can support TTree and RNTuple at the same time // without having to depend on both. for (auto& capability : mObjectFactory.capabilities) { auto objectPath = capability.lfn2objectPath(source.path()); - void* handle = capability.getHandle(mFile, objectPath); + void* handle = capability.getHandle(shared_from_this(), objectPath); if (!handle) { continue; } + return std::make_shared(handle, capability.factory().format()); + } + throw runtime_error_f("Unable to get handler for object %s", source.path().c_str()); +} + +bool TFileFileSystem::CheckSupport(arrow::dataset::FileSource source) +{ + // We use a plugin to create the actual objects inside the + // file, so that we can support TTree and RNTuple at the same time + // without having to depend on both. + for (auto& capability : mObjectFactory.capabilities) { + auto objectPath = capability.lfn2objectPath(source.path()); + + void* handle = capability.getHandle(shared_from_this(), objectPath); if (handle) { - return capability.factory().getSubFilesystem(handle); + return true; } } + return false; +} +std::shared_ptr TFileFileSystem::GetSubFilesystem(arrow::dataset::FileSource source) +{ auto directory = (TDirectoryFile*)mFile->GetObjectChecked(source.path().c_str(), TClass::GetClass()); if (directory) { return std::shared_ptr(new TFileFileSystem(directory, 50 * 1024 * 1024, mObjectFactory)); @@ -233,19 +252,53 @@ arrow::Result TBufferFileFS::GetFileInfo(const std::string& return result; } -std::shared_ptr TBufferFileFS::GetSubFilesystem(arrow::dataset::FileSource source) +bool TBufferFileFS::CheckSupport(arrow::dataset::FileSource source) { // We use a plugin to create the actual objects inside the // file, so that we can support TTree and RNTuple at the same time // without having to depend on both. for (auto& capability : mObjectFactory.capabilities) { + auto objectPath = capability.lfn2objectPath(source.path()); - void* handle = capability.getBufferHandle(mBuffer, source.path()); - if (handle) { - mFilesystem = capability.factory().getSubFilesystem(handle); - break; + mBuffer->SetBufferOffset(0); + mBuffer->InitMap(); + TClass* serializedClass = mBuffer->ReadClass(); + mBuffer->SetBufferOffset(0); + mBuffer->ResetMap(); + mBuffer->Reset(); + if (!serializedClass) { + continue; + } + + bool supports = capability.checkSupport(serializedClass->GetName()); + if (supports) { + return true; + } + } + return false; +} + +std::shared_ptr TBufferFileFS::GetObjectHandler(arrow::dataset::FileSource source) +{ + // We use a plugin to create the actual objects inside the + // file, so that we can support TTree and RNTuple at the same time + // without having to depend on both. + for (auto& capability : mObjectFactory.capabilities) { + auto objectPath = capability.lfn2objectPath(source.path()); + void* handle = capability.getHandle(shared_from_this(), objectPath); + if (!handle) { + continue; } + return std::make_shared(handle, capability.factory().format()); } - return mFilesystem; + throw runtime_error_f("Unable to get handler for object %s", source.path().c_str()); } + +RootObjectHandler::~RootObjectHandler() noexcept(false) +{ + if (payload) { + throw runtime_error_f("Payload not owned"); + } +} + } // namespace o2::framework diff --git a/Framework/Core/test/test_Root2ArrowTable.cxx b/Framework/Core/test/test_Root2ArrowTable.cxx index ebc854d1d6dc0..438f388ec86b5 100644 --- a/Framework/Core/test/test_Root2ArrowTable.cxx +++ b/Framework/Core/test/test_Root2ArrowTable.cxx @@ -565,12 +565,23 @@ TEST_CASE("RootTree2Dataset") { REQUIRE(success.ok()); // Let's read it back... + auto tfileFs = std::dynamic_pointer_cast(outFs); + REQUIRE(tfileFs.get()); + REQUIRE(tfileFs->GetFile()); + REQUIRE(tfileFs->GetFile()->GetObjectChecked("/DF_3", TClass::GetClass("TTree"))); arrow::dataset::FileSource source2("/DF_3", outFs); - auto newTreeFS = outFs->GetSubFilesystem(source2); - REQUIRE(format->IsSupported(source) == true); - - auto schemaOptWritten = format->Inspect(source); + REQUIRE(format->IsSupported(source2) == true); + tfileFs = std::dynamic_pointer_cast(source2.filesystem()); + REQUIRE(tfileFs.get()); + REQUIRE(tfileFs->GetFile()); + REQUIRE(tfileFs->GetFile()->GetObjectChecked("/DF_3", TClass::GetClass("TTree"))); + + auto schemaOptWritten = format->Inspect(source2); + tfileFs = std::dynamic_pointer_cast(source2.filesystem()); + REQUIRE(tfileFs.get()); + REQUIRE(tfileFs->GetFile()); + REQUIRE(tfileFs->GetFile()->GetObjectChecked("/DF_3", TClass::GetClass("TTree"))); REQUIRE(schemaOptWritten.ok()); auto schemaWritten = *schemaOptWritten; @@ -585,7 +596,7 @@ TEST_CASE("RootTree2Dataset") std::shared_ptr schema = std::make_shared(fields); REQUIRE(validateSchema(schema)); - auto fragmentWritten = format->MakeFragment(source, {}, *physicalSchema); + auto fragmentWritten = format->MakeFragment(source2, {}, *physicalSchema); REQUIRE(fragmentWritten.ok()); auto optionsWritten = std::make_shared(); options->dataset_schema = schema; @@ -610,7 +621,6 @@ TEST_CASE("RootTree2Dataset") // And now we can read back the RNTuple into a RecordBatch arrow::dataset::FileSource writtenRntupleSource("/rntuple", outFs); - auto newRNTupleFS = outFs->GetSubFilesystem(writtenRntupleSource); REQUIRE(rNtupleFormat->IsSupported(writtenRntupleSource) == true); From 94abc6d3f36e23d2c3fb3461689dedd0c66a5913 Mon Sep 17 00:00:00 2001 From: shahoian Date: Sun, 2 Feb 2025 21:03:44 +0100 Subject: [PATCH 3/4] Enhance DCAFitterN::print, allow resetting log throttlers --- Common/DCAFitter/include/DCAFitter/DCAFitterN.h | 17 +++++++++++++++-- Common/DCAFitter/test/testDCAFitterN.cxx | 6 +++++- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/Common/DCAFitter/include/DCAFitter/DCAFitterN.h b/Common/DCAFitter/include/DCAFitter/DCAFitterN.h index 6bd143eae44d6..97ea6d206247b 100644 --- a/Common/DCAFitter/include/DCAFitter/DCAFitterN.h +++ b/Common/DCAFitter/include/DCAFitter/DCAFitterN.h @@ -324,6 +324,13 @@ class DCAFitterN pnt[2] = tr.getZ(); } + GPUdi() void clearLogThrottlers() + { + mLoggerBadCov.clear(); + mLoggerBadInv.clear(); + mLoggerBadProp.clear(); + } + void setBadCovPolicy(BadCovPolicy v) { mBadCovPolicy = v; } BadCovPolicy getBadCovPolicy() const { return mBadCovPolicy; } @@ -1084,10 +1091,16 @@ template GPUd() void DCAFitterN::print() const { #ifndef GPUCA_GPUCODE_DEVICE - LOG(info) << N << "-prong vertex fitter in " << (mUseAbsDCA ? "abs." : "weighted") << " distance minimization mode"; - LOG(info) << "Bz: " << mBz << " MaxIter: " << mMaxIter << " MaxChi2: " << mMaxChi2; + LOG(info) << N << "-prong vertex fitter in " << (mUseAbsDCA ? "abs." : "weighted") << " distance minimization mode, collinear tracks mode: " << (mIsCollinear ? "ON" : "OFF"); + LOG(info) << "Bz: " << mBz << " MaxIter: " << mMaxIter << " MaxChi2: " << mMaxChi2 << " MatCorrType: " << int(mMatCorr); LOG(info) << "Stopping condition: Max.param change < " << mMinParamChange << " Rel.Chi2 change > " << mMinRelChi2Change; LOG(info) << "Discard candidates for : Rvtx > " << getMaxR() << " DZ between tracks > " << mMaxDZIni; + LOG(info) << "PropagateToPCA:" << mPropagateToPCA << " WeightedFinalPCA:" << mWeightedFinalPCA << " UsePropagator:" << mUsePropagator << " RefitWithMatCorr:" << mRefitWithMatCorr; + std::string rep{}; + for (int i = 0; i < mCrossings.nDCA; i++) { + rep += fmt::format("seed{}:{}/{} ", i, mTrPropDone[i], mPropFailed[i]); + } + LOG(info) << "Last call: NCand:" << mCurHyp << " from " << mCrossings.nDCA << " seeds, prop.done/failed: " << rep; #else if (mUseAbsDCA) { printf("%d-prong vertex fitter in abs. distance minimization mode\n", N); diff --git a/Common/DCAFitter/test/testDCAFitterN.cxx b/Common/DCAFitter/test/testDCAFitterN.cxx index 2f9c4d455376e..a102a0a4253e3 100644 --- a/Common/DCAFitter/test/testDCAFitterN.cxx +++ b/Common/DCAFitter/test/testDCAFitterN.cxx @@ -238,6 +238,7 @@ BOOST_AUTO_TEST_CASE(DCAFitterNProngs) BOOST_CHECK(meanDA < 0.1); BOOST_CHECK(meanDAW < 0.1); BOOST_CHECK(meanDW < 0.1); + ft.print(); } // 2 prongs vertices with collinear tracks (gamma conversion) @@ -316,6 +317,7 @@ BOOST_AUTO_TEST_CASE(DCAFitterNProngs) BOOST_CHECK(meanDA < 2.1); BOOST_CHECK(meanDAW < 2.1); BOOST_CHECK(meanDW < 2.1); + ft.print(); } // 2 prongs vertices with one of charges set to 0: Helix : Line @@ -394,6 +396,7 @@ BOOST_AUTO_TEST_CASE(DCAFitterNProngs) BOOST_CHECK(meanDA < 0.1); BOOST_CHECK(meanDAW < 0.1); BOOST_CHECK(meanDW < 0.1); + ft.print(); } // 2 prongs vertices with both of charges set to 0: Line : Line @@ -471,6 +474,7 @@ BOOST_AUTO_TEST_CASE(DCAFitterNProngs) BOOST_CHECK(meanDA < 0.1); BOOST_CHECK(meanDAW < 0.1); BOOST_CHECK(meanDW < 0.1); + ft.print(); } // 3 prongs vertices @@ -547,8 +551,8 @@ BOOST_AUTO_TEST_CASE(DCAFitterNProngs) BOOST_CHECK(meanDA < 0.1); BOOST_CHECK(meanDAW < 0.1); BOOST_CHECK(meanDW < 0.1); + ft.print(); } - outStream.Close(); } From 2b593a24c48ecadacaf4376cdd1c411e0ebc5ecd Mon Sep 17 00:00:00 2001 From: aferrero2707 Date: Mon, 3 Feb 2025 08:31:24 +0100 Subject: [PATCH 4/4] [MCH] improved formatting of MCH mapping code The code formatting is uniformized among the different source files. This will also make future commits to the mapping code more readable. --- ...nCathodeSegmentationCreatorForSegType0.cxx | 26 +- ...nCathodeSegmentationCreatorForSegType1.cxx | 644 +++++++++++++++--- ...CathodeSegmentationCreatorForSegType10.cxx | 71 +- ...CathodeSegmentationCreatorForSegType11.cxx | 79 ++- ...CathodeSegmentationCreatorForSegType12.cxx | 86 ++- ...CathodeSegmentationCreatorForSegType13.cxx | 59 +- ...CathodeSegmentationCreatorForSegType14.cxx | 49 +- ...CathodeSegmentationCreatorForSegType15.cxx | 3 +- ...CathodeSegmentationCreatorForSegType16.cxx | 3 +- ...CathodeSegmentationCreatorForSegType17.cxx | 91 ++- ...CathodeSegmentationCreatorForSegType18.cxx | 64 +- ...CathodeSegmentationCreatorForSegType19.cxx | 54 +- ...nCathodeSegmentationCreatorForSegType2.cxx | 68 +- ...CathodeSegmentationCreatorForSegType20.cxx | 24 +- ...nCathodeSegmentationCreatorForSegType3.cxx | 78 ++- ...nCathodeSegmentationCreatorForSegType4.cxx | 68 +- ...nCathodeSegmentationCreatorForSegType5.cxx | 43 +- ...nCathodeSegmentationCreatorForSegType6.cxx | 33 +- ...nCathodeSegmentationCreatorForSegType7.cxx | 69 +- ...nCathodeSegmentationCreatorForSegType8.cxx | 79 ++- ...nCathodeSegmentationCreatorForSegType9.cxx | 69 +- 21 files changed, 1424 insertions(+), 336 deletions(-) diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType0.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType0.cxx index 58e2eaf5477b6..0e4f0bc6c5db1 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType0.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType0.cxx @@ -272,12 +272,12 @@ CathodeSegmentation* createSegType0(bool isBendingPlane) /* 1BG */ {3, 16, {61, 9, 63, 14, 7, 8, 58, 62, 21, 54, 19, 60, 5, 12, 56, 2, 6, 55, 44, 51, 0, 11, 4, 46, 35, 36, 42, 17, 33, 15, 23, 32, 20, 24, 43, 22, 49, 25, 45, 27, 28, 47, 53, 41, 29, 30, 31, 40}}, /* 1BH */ {3, 16, {7, 9, 63, 61, 62, 60, 19, 21, 16, 58, 56, 57, 12, 6, 55, 54, 52, 0, 51, 48, 46, 2, 4, 42, 44, 13, 35, 11, 34, 33, 17, 32, 20, 23, 22, 43, 25, 47, 45, 49, 50, 27, 31, 29, -1, 40, 30, -1}}, /* 1BI */ {2, 16, {7, 9, 61, 62, 19, 21, 58, 56, 12, 6, 54, 52, 51, 48, 2, 4, 44, 13, 11, 34, 17, 32, 23, 22, 25, 47, 49, 50, 31, 29, 40, 30}}, - /* 1BG */ - {1, - 16, - {59, 16, 57, 10, 52, 1, 48, 3, 13, 34, 18, 37, 38, 26, 50, 39}}}, + /* 1BG */ {1, 16, {59, 16, 57, 10, 52, 1, 48, 3, 13, 34, 18, 37, 38, 26, 50, 39}}}, /* PS */ - {{0.63, 0.42}, {0.84, 0.42}, {1.26, 0.42}, {2.52, 0.42}}}; + {{0.63, 0.42}, + {0.84, 0.42}, + {1.26, 0.42}, + {2.52, 0.42}}}; } else { return new CathodeSegmentation{ 0, @@ -515,8 +515,7 @@ CathodeSegmentation* createSegType0(bool isBendingPlane) {1267, 14, 3, -0.3149999976, 85.88999939}}, /* PGT */ {/* 1NA */ {4, 16, {59, 63, 9, 61, 16, 8, 7, 14, 57, 21, 62, 58, 10, 60, 19, 54, 0, 56, 12, 5, 52, 55, 6, 51, 3, 1, 2, 11, 48, 4, 46, 44, 42, 13, 15, 17, 18, 36, 20, 35, 34, 33, 23, 32, 22, 37, 25, 38, 24, 26, 43, 28, 45, 27, 49, 47, 29, 50, 31, 30, 41, 40, 39, 53}}, - /* 1NB */ - {13, 6, {-1, -1, -1, -1, -1, 1, 6, -1, -1, -1, -1, -1, -1, -1, -1, 15, 4, 51, 42, 48, 3, 10, 56, 60, 8, 62, -1, 18, 34, 20, 22, 33, 44, 13, 52, 55, 16, 21, 63, 26, 38, 40, 41, 53, 45, 37, 36, 46, 0, 57, 59, 9, 29, 50, 30, 39, 31, 47, 24, 35, 11, 2, 12, 19, 7, 49, 27, 28, 25, 43, 23, 32, 17, 5, 54, 14, 58, 61}}, + /* 1NB */ {13, 6, {-1, -1, -1, -1, -1, 1, 6, -1, -1, -1, -1, -1, -1, -1, -1, 15, 4, 51, 42, 48, 3, 10, 56, 60, 8, 62, -1, 18, 34, 20, 22, 33, 44, 13, 52, 55, 16, 21, 63, 26, 38, 40, 41, 53, 45, 37, 36, 46, 0, 57, 59, 9, 29, 50, 30, 39, 31, 47, 24, 35, 11, 2, 12, 19, 7, 49, 27, 28, 25, 43, 23, 32, 17, 5, 54, 14, 58, 61}}, /* 1NC */ {10, 14, {-1, -1, -1, -1, -1, -1, -1, -1, 9, -1, -1, -1, -1, -1, -1, -1, -1, 63, 7, -1, -1, -1, -1, -1, -1, -1, 8, 62, 60, -1, -1, -1, -1, -1, -1, 21, 61, 59, 19, -1, -1, -1, -1, -1, 16, 56, 14, 58, 12, -1, -1, -1, -1, 57, 55, 6, 54, 1, 0, -1, -1, 10, 5, 3, 52, 2, 51, 4, 48, -1, 11, 46, 13, 44, 36, 18, 17, 42, 15, -1, 20, 23, 22, 24, 37, 38, 33, 34, 35, -1, -1, -1, -1, -1, -1, -1, 26, 25, 32, -1, -1, -1, -1, -1, -1, -1, 45, 27, 43, -1, -1, -1, -1, -1, -1, -1, 29, 47, 28, -1, -1, -1, -1, -1, -1, -1, 49, 30, 50, 31, -1, -1, -1, -1, -1, -1, 53, 41, 40, 39}}, /* 1ND */ {9, 21, {-1, -1, -1, -1, -1, -1, -1, -1, 9, -1, -1, -1, -1, -1, -1, -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, 63, 62, -1, -1, -1, -1, -1, -1, -1, 8, 61, -1, -1, -1, -1, -1, -1, -1, 21, 19, -1, -1, -1, -1, -1, -1, 60, 14, 58, -1, -1, -1, -1, -1, -1, 10, 6, 54, -1, -1, -1, -1, -1, 16, 1, 2, 51, -1, -1, -1, -1, -1, 12, 48, 13, -1, -1, -1, -1, -1, 59, 5, 11, 18, -1, -1, -1, -1, -1, 55, 46, 36, 20, -1, -1, -1, -1, 56, 52, 44, 22, 24, -1, -1, -1, -1, 0, 15, 33, 26, 43, -1, -1, -1, 57, 17, 23, 45, 28, 30, -1, -1, -1, 34, 37, 27, 49, 39, 40, -1, -1, 4, 35, 38, 29, -1, -1, -1, -1, 3, 42, 32, 25, 31, -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, 47, -1, -1, -1, -1}}, /* 1NE */ {8, 8, {8, 62, 63, 9, 7, 21, 19, 14, 56, 16, 59, 60, 61, 58, 57, 12, 3, 1, 55, 10, 6, 54, 0, 5, 13, 46, 48, 4, 2, 52, 51, 11, 20, 18, 36, 42, 44, 15, 17, 35, 37, 22, 33, 34, 23, 32, 24, 25, 38, 26, 45, 27, 43, 28, 47, 49, 29, 30, 50, 41, 31, 53, 39, 40}}, @@ -529,14 +528,13 @@ CathodeSegmentation* createSegType0(bool isBendingPlane) /* 1NL */ {5, 18, {-1, -1, 9, 62, 7, -1, -1, 63, 60, 61, -1, -1, 8, 21, 19, -1, -1, 16, 59, 14, -1, -1, 56, 58, 57, -1, -1, 10, 12, 6, -1, -1, 55, 54, 5, -1, -1, 1, 2, 0, -1, -1, 3, 51, 52, -1, 4, 48, 46, 11, -1, 13, 42, 15, 44, -1, 18, 34, 20, 17, -1, 36, 33, 32, 35, -1, 22, 38, 25, 23, -1, 26, 29, 27, 24, 37, 47, 30, 49, 43, 45, 50, 41, 39, 28, -1, -1, 53, 40, 31}}, /* 1NM */ {5, 15, {-1, 8, -1, -1, -1, -1, 60, 63, 9, 7, -1, 56, 16, 62, 61, -1, 10, 14, 19, 21, -1, 6, 57, 58, 59, -1, 1, 55, 54, 12, -1, 3, 52, 0, 5, -1, 4, 48, 51, 2, 46, 13, 15, 44, 11, 42, 18, 34, 36, 17, 37, 24, 22, 20, 35, 45, 27, 26, 32, 23, 30, 49, 29, 38, 33, 53, 31, 50, 28, 25, 41, 39, 40, 47, 43}}, /* 1NN */ {5, 14, {8, 62, 63, 9, -1, 60, 21, 61, 7, -1, 58, 16, 59, 19, -1, 14, 57, 56, 12, -1, 10, 54, 6, 0, 5, 55, 1, 52, 2, 51, 3, 4, 48, 11, 46, 13, 15, 42, 44, 17, 36, 18, 20, 35, 23, 34, 33, 22, 32, 24, 37, 38, 26, 25, 43, 27, 45, 47, 28, 49, -1, 29, 30, 31, 53, -1, 50, 41, 40, 39}}, - /* 1NG */ - {16, - 1, - {41, 50, 38, 26, 45, 47, 29, 30, 53, 27, 43, 28, 49, 31, 39, 40}}, - /* 1NH */ - {12, 1, {41, 50, 38, 26, 45, 47, 29, 30, 53, 27, 43, 28}}}, + /* 1NG */ {16, 1, {41, 50, 38, 26, 45, 47, 29, 30, 53, 27, 43, 28, 49, 31, 39, 40}}, + /* 1NH */ {12, 1, {41, 50, 38, 26, 45, 47, 29, 30, 53, 27, 43, 28}}}, /* PS */ - {{0.63, 0.42}, {0.63, 0.84}, {0.63, 1.68}, {0.63, 3.36}}}; + {{0.63, 0.42}, + {0.63, 0.84}, + {0.63, 1.68}, + {0.63, 3.36}}}; } } class CathodeSegmentationCreatorRegisterCreateSegType0 diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType1.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType1.cxx index 30d597e0db552..48e7cf98469fa 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType1.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType1.cxx @@ -9,7 +9,8 @@ // granted to it by virtue of its status as an Intergovernmental Organization // or submit itself to any jurisdiction. // -// This file has been generated. Do not modify it by hand or your changes might be lost. +// This file has been generated. Do not modify it by hand or your changes might +// be lost. // #include "CathodeSegmentationCreator.h" @@ -24,107 +25,558 @@ namespace impl4 CathodeSegmentation* createSegType1(bool isBendingPlane) { if (isBendingPlane) { - return new CathodeSegmentation{1, true, - /* PG */ - {{1, 8, 2, 107, -0.75}, {2, 6, 2, 95, -0.75}, {3, 4, 1, 89, -0.75}, {4, 4, 1, 83, -0.75}, {5, 4, 1, 77, -0.75}, {6, 4, 1, 71, -0.75}, {7, 4, 1, 65, -0.75}, {8, 4, 1, 59, -0.75}, {9, 4, 1, 53, -0.75}, {10, 0, 0, 50, -0.75}, {11, 0, 0, 47, -0.75}, {12, 0, 0, 44, -0.75}, {13, 0, 0, 41, -0.75}, {14, 0, 0, 38, -0.75}, {15, 0, 0, 35, -0.75}, {16, 0, 0, 32, -0.75}, {17, 0, 0, 29, -0.75}, {18, 0, 0, 26, -0.75}, {19, 36, 0, 22.25, -0.75}, {27, 9, 2, 107, 7.25}, {28, 7, 2, 95, 7.25}, {29, 5, 1, 89, 7.25}, {30, 5, 1, 83, 7.25}, {31, 5, 1, 77, 7.25}, {32, 5, 1, 71, 7.25}, {33, 5, 1, 65, 7.25}, {34, 5, 1, 59, 7.25}, {35, 5, 1, 53, 7.25}, {36, 1, 0, 50, 7.25}, {37, 1, 0, 47, 7.25}, {38, 1, 0, 44, 7.25}, {39, 1, 0, 41, 7.25}, {40, 1, 0, 38, 7.25}, {41, 1, 0, 35, 7.25}, {42, 1, 0, 32, 7.25}, {43, 1, 0, 29, 7.25}, {44, 1, 0, 26, 7.25}, {45, 1, 0, 23, 7.25}, {46, 34, 0, 17.75, 7.25}, {53, 9, 2, 107, 15.25}, {54, 7, 2, 95, 15.25}, {55, 5, 1, 89, 15.25}, {56, 5, 1, 83, 15.25}, {57, 5, 1, 77, 15.25}, {58, 5, 1, 71, 15.25}, {59, 5, 1, 65, 15.25}, {60, 5, 1, 59, 15.25}, {61, 5, 1, 53, 15.25}, {62, 1, 0, 50, 15.25}, {63, 1, 0, 47, 15.25}, {64, 1, 0, 44, 15.25}, {65, 1, 0, 41, 15.25}, {66, 1, 0, 38, 15.25}, {67, 1, 0, 35, 15.25}, {68, 1, 0, 32, 15.25}, {69, 1, 0, 29, 15.25}, {70, 1, 0, 26, 15.25}, {71, 1, 0, 23, 15.25}, {72, 1, 0, 20, 15.25}, {73, 1, 0, 17, 15.25}, {74, 35, 0, 13.25, 15.75}, {75, 37, 0, 1.25, 19.25}, {79, 25, 2, 107, 23.25}, {80, 7, 2, 95, 23.25}, {81, 3, 2, 83, 23.25}, {82, 5, 1, 77, 23.25}, {83, 5, 1, 71, 23.25}, {84, 5, 1, 65, 23.25}, {85, 5, 1, 59, 23.25}, {86, 5, 1, 53, 23.25}, {87, 5, 1, 47, 23.25}, {88, 1, 0, 44, 23.25}, {89, 1, 0, 41, 23.25}, {90, 1, 0, 38, 23.25}, {91, 1, 0, 35, 23.25}, {92, 1, 0, 32, 23.25}, {93, 1, 0, 29, 23.25}, {94, 1, 0, 26, 23.25}, {95, 1, 0, 23, 23.25}, {96, 1, 0, 20, 23.25}, {97, 1, 0, 17, 23.25}, {98, 38, 0, 14, 23.75}, {99, 39, 0, 11, 23.25}, {100, 40, 0, 8, 23.25}, {101, 41, 0, 5, 23.25}, {102, 42, 0, 2, 23.25}, {103, 43, 0, -1, 23.25}, {105, 7, 2, 95, 31.25}, {106, 3, 2, 83, 31.25}, {107, 5, 1, 77, 31.25}, {108, 5, 1, 71, 31.25}, {109, 5, 1, 65, 31.25}, {110, 5, 1, 59, 31.25}, {111, 5, 1, 53, 31.25}, {112, 5, 1, 47, 31.25}, {113, 5, 1, 41, 31.25}, {114, 1, 0, 38, 31.25}, {115, 1, 0, 35, 31.25}, {116, 1, 0, 32, 31.25}, {117, 1, 0, 29, 31.25}, {118, 1, 0, 26, 31.25}, {119, 1, 0, 23, 31.25}, {120, 1, 0, 20, 31.25}, {121, 1, 0, 17, 31.25}, {122, 1, 0, 14, 31.25}, {123, 1, 0, 11, 31.25}, {124, 1, 0, 8, 31.25}, {125, 1, 0, 5, 31.25}, {126, 1, 0, 2, 31.25}, {127, 1, 0, -1, 31.25}, {131, 7, 2, 95, 39.25}, {132, 3, 2, 83, 39.25}, {133, 5, 1, 77, 39.25}, {134, 5, 1, 71, 39.25}, {135, 5, 1, 65, 39.25}, {136, 5, 1, 59, 39.25}, {137, 5, 1, 53, 39.25}, {138, 5, 1, 47, 39.25}, {139, 5, 1, 41, 39.25}, {140, 5, 1, 35, 39.25}, {141, 1, 0, 32, 39.25}, {142, 1, 0, 29, 39.25}, {143, 1, 0, 26, 39.25}, {144, 1, 0, 23, 39.25}, {145, 1, 0, 20, 39.25}, {146, 1, 0, 17, 39.25}, {147, 1, 0, 14, 39.25}, {148, 1, 0, 11, 39.25}, {149, 1, 0, 8, 39.25}, {150, 1, 0, 5, 39.25}, {151, 1, 0, 2, 39.25}, {152, 1, 0, -1, 39.25}, {157, 26, 2, 95, 47.25}, {158, 3, 2, 83, 47.25}, {159, 5, 1, 77, 47.25}, {160, 5, 1, 71, 47.25}, {161, 5, 1, 65, 47.25}, {162, 5, 1, 59, 47.25}, {163, 5, 1, 53, 47.25}, {164, 5, 1, 47, 47.25}, {165, 5, 1, 41, 47.25}, {166, 5, 1, 35, 47.25}, {167, 5, 1, 29, 47.25}, {168, 5, 1, 23, 47.25}, {169, 1, 0, 20, 47.25}, {170, 1, 0, 17, 47.25}, {171, 1, 0, 14, 47.25}, {172, 1, 0, 11, 47.25}, {173, 1, 0, 8, 47.25}, {174, 1, 0, 5, 47.25}, {175, 1, 0, 2, 47.25}, {176, 1, 0, -1, 47.25}, {183, 27, 2, 95, 55.25}, {184, 10, 2, 83, 55.25}, {185, 3, 2, 71, 55.25}, {186, 5, 1, 65, 55.25}, {187, 5, 1, 59, 55.25}, {188, 5, 1, 53, 55.25}, {189, 5, 1, 47, 55.25}, {190, 5, 1, 41, 55.25}, {191, 5, 1, 35, 55.25}, {192, 5, 1, 29, 55.25}, {193, 5, 1, 23, 55.25}, {194, 5, 1, 17, 55.25}, {195, 5, 1, 11, 55.25}, {196, 5, 1, 5, 55.25}, {197, 12, 1, -1, 55.25}, {201, 10, 2, 83, 63.25}, {202, 3, 2, 71, 63.25}, {203, 3, 2, 59, 63.25}, {204, 5, 1, 53, 63.25}, {205, 5, 1, 47, 63.25}, {206, 5, 1, 41, 63.25}, {207, 5, 1, 35, 63.25}, {208, 5, 1, 29, 63.25}, {209, 5, 1, 23, 63.25}, {210, 5, 1, 17, 63.25}, {211, 5, 1, 11, 63.25}, {212, 5, 1, 5, 63.25}, {213, 12, 1, -1, 63.25}, {214, 28, 2, 83, 71.25}, {215, 3, 2, 71, 71.25}, {216, 3, 2, 59, 71.25}, {217, 3, 2, 47, 71.25}, {218, 5, 1, 41, 71.25}, {219, 5, 1, 35, 71.25}, {220, 5, 1, 29, 71.25}, {221, 5, 1, 23, 71.25}, {222, 5, 1, 17, 71.25}, {223, 5, 1, 11, 71.25}, {224, 5, 1, 5, 71.25}, {225, 12, 1, -1, 71.25}, {226, 30, 2, 71, 79.25}, {227, 24, 2, 65, 79.25}, {228, 23, 2, 59, 79.25}, {229, 33, 2, 50, 95.25}, {230, 22, 2, 53, 79.25}, {231, 21, 2, 47, 79.25}, {232, 32, 2, 41, 95.25}, {233, 20, 2, 41, 79.25}, {234, 11, 2, 35, 79.25}, {235, 11, 2, 29, 79.25}, {236, 2, 1, 26, 79.25}, {237, 2, 1, 23, 79.25}, {238, 2, 1, 20, 79.25}, {239, 2, 1, 17, 79.25}, {240, 2, 1, 14, 79.25}, {241, 2, 1, 11, 79.25}, {242, 2, 1, 8, 79.25}, {243, 2, 1, 5, 79.25}, {244, 2, 1, 2, 79.25}, {245, 2, 1, -1, 79.25}, {246, 31, 2, 35, 95.25}, {247, 18, 2, 29, 95.25}, {248, 17, 2, 23, 95.25}, {249, 16, 2, 17, 95.25}, {250, 29, 2, 11, 111.25}, {251, 15, 2, 11, 95.25}, {252, 14, 2, 5, 95.25}, {253, 19, 2, -1, 111.25}, {254, 13, 2, -1, 95.25}}, - /* PGT */ - {/* 2BA */ {4, 16, {50, 29, 39, 27, 49, 40, 28, 26, 45, 53, 30, 47, 20, 25, 31, 22, 32, 43, 41, 38, 34, 18, 24, 37, 35, 33, 23, 15, 42, 13, 17, 11, 44, 3, 36, 4, 0, 1, 2, 46, 52, 6, 48, 5, 12, 10, 55, 51, 16, 56, 57, 54, 19, 60, 59, 58, 21, 7, 62, 8, 61, 9, 63, 14}}, - /* 2BB */ {4, 16, {53, 40, 30, 28, 25, 29, 39, 27, 43, 50, 31, 24, 38, 49, 41, 22, 32, 45, 26, 47, 17, 20, 23, 18, 13, 33, 37, 15, 34, 35, 36, 11, 2, 3, 4, 42, 44, 1, 5, 46, 48, 52, 55, 51, 0, 12, 58, 14, 6, 16, 8, 57, 10, 21, 63, 54, 56, 61, 7, 60, 19, 9, 62, 59}}, - /* 2BC */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 11, 34, 33, 17, 32, 37, 20, 23, 43, 47, 45, 49, 25, 28, 50, 26, 24, 22, 18, 38, 13, 15, 35, 36, 3, 4, 44, 46, 51, 6, 57, 54, 19, 58, 56, 60, 12, 16, 10, 14, 52, 55, 0, 5, 1, 48, 42, 2, 59, 8, 21, 62, 61, 63, 9, 7}}, - /* 2BD */ {4, 16, {29, 40, 39, 31, 50, 53, 30, 41, 25, 49, 28, 26, 43, 45, 27, 24, 20, 38, 47, 22, 33, 32, 23, 18, 13, 17, 37, 15, 34, 35, 36, 11, 2, 3, 4, 42, 44, 48, 46, 5, 1, 0, 55, 51, 52, 6, 57, 54, 10, 12, 59, 14, 56, 16, 60, 58, 19, 21, 63, 8, 61, 9, 7, 62}}, - /* 2BE */ {4, 16, {40, 29, 28, 49, 53, 30, 50, 47, 25, 39, 27, 22, 45, 31, 24, 18, 20, 41, 43, 17, 33, 26, 38, 15, 13, 23, 32, 11, 35, 37, 34, 2, 3, 36, 42, 46, 44, 4, 48, 0, 1, 5, 51, 6, 52, 55, 54, 12, 10, 58, 57, 14, 56, 8, 59, 16, 21, 63, 62, 19, 61, 9, 7, 60}}, - /* 2BF */ {4, 16, {40, 29, 30, 50, 53, 39, 28, 49, 25, 31, 27, 47, 45, 41, 24, 22, 20, 26, 43, 18, 33, 23, 38, 32, 13, 37, 17, 15, 35, 36, 11, 34, 3, 4, 42, 2, 44, 5, 48, 46, 1, 55, 6, 0, 52, 58, 14, 51, 10, 8, 16, 54, 56, 7, 19, 12, 21, 63, 60, 57, 61, 9, 62, 59}}, - /* 2BG */ {4, 16, {40, 29, 30, 49, 53, 31, 41, 43, 25, 39, 50, 38, 45, 28, 26, 18, 20, 27, 47, 17, 33, 24, 23, 15, 13, 22, 32, 36, 35, 37, 34, 2, 3, 11, 42, 48, 44, 4, 46, 51, 1, 0, 5, 6, 52, 55, 54, 12, 10, 57, 14, 16, 56, 19, 59, 58, 21, 62, 61, 8, 9, 63, 7, 60}}, - /* 2BH */ {4, 16, {40, 29, 28, 39, 53, 31, 27, 41, 25, 30, 24, 26, 45, 50, 43, 47, 20, 49, 38, 23, 33, 22, 32, 18, 13, 37, 15, 17, 35, 34, 36, 11, 3, 42, 2, 4, 44, 0, 48, 46, 1, 55, 51, 5, 52, 57, 54, 6, 12, 19, 14, 10, 56, 62, 58, 16, 21, 7, 60, 59, 9, 63, 61, 8}}, - /* 2BI */ {3, 16, {29, 30, 41, 31, 50, 26, 39, 49, 47, 28, 43, 23, 27, 38, 18, 24, 32, 17, 22, 15, 11, 37, 36, 4, 34, 2, 46, 42, 48, 5, 0, 51, 6, 55, 54, 12, 57, 14, 16, 19, 59, 58, 62, 61, 8, 63, 7, 60}}, - /* 2BJ */ {3, 16, {29, 28, 39, 31, 27, 41, 30, 24, 26, 50, 43, 47, 49, 38, 23, 22, 32, 18, 37, 15, 17, 34, 36, 11, 42, 2, 4, 0, 48, 46, 55, 51, 5, 57, 54, 6, 19, 14, 12, 62, 58, 16, 7, 60, 59, 63, 61, 8}}, - /* 2BK */ {4, 16, {40, 29, 28, 39, 53, 31, 27, 41, 25, 30, 24, 26, 45, 50, 43, 47, 20, 49, 38, 23, 33, 22, 32, 18, 13, 37, 15, 17, 35, 34, 36, 11, 3, 42, 2, 4, 44, 0, 48, 46, 1, 55, 51, 5, 52, 57, 54, 6, 12, 19, 14, 10, 56, 62, 58, 16, 21, 7, 60, 59, 9, 63, 61, 8}}, - /* 2BL */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 11, 34, 33, 17, 32, 37, 20, 23, 43, 47, 45, 49, 25, 28, 50, 26, 24, 22, 18, 38, 13, 15, 35, 36, 3, 4, 44, 46, 51, 6, 57, 54, 19, 58, 56, 60, 12, 16, 10, 14, 52, 55, 0, 5, 1, 48, 42, 2, 59, 8, 21, 62, 61, 63, 9, 7}}, - /* 2BM */ {4, 16, {29, 40, 39, 31, 50, 53, 30, 41, 25, 49, 28, 26, 43, 45, 27, 24, 20, 38, 47, 22, 33, 32, 23, 18, 13, 17, 37, 15, 34, 35, 36, 11, 2, 3, 4, 42, 44, 48, 46, 5, 1, 0, 55, 51, 52, 6, 57, 54, 10, 12, 59, 14, 56, 16, 60, 58, 19, 21, 63, 8, 61, 9, 7, 62}}, - /* 2BN */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 28, 11, 41, 33, 26, 32, 49, 20, 47, 43, 22, 45, 23, 25, 38, 50, 37, 24, 17, 18, 15, 13, 34, 35, 36, 3, 4, 44, 2, 51, 46, 57, 48, 19, 5, 56, 6, 12, 55, 10, 54, 52, 14, 0, 16, 1, 58, 42, 8, 59, 60, 21, 62, 61, 63, 9, 7}}, - /* 2BO */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 50, 34, 25, 17, 24, 37, 45, 23, 43, 47, 20, 49, 18, 28, 32, 26, 33, 22, 13, 38, 11, 15, 35, 36, 3, 4, 42, 46, 44, 6, 1, 54, 0, 58, 51, 60, 52, 16, 10, 14, 12, 55, 57, 5, 56, 48, 19, 2, 59, 8, 21, 62, 61, 63, 9, 7}}, - /* 2BP */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 28, 11, 41, 33, 26, 32, 49, 20, 47, 43, 22, 45, 23, 25, 38, 50, 37, 24, 17, 18, 15, 13, 34, 35, 36, 3, 4, 44, 2, 51, 46, 57, 48, 19, 5, 56, 6, 12, 55, 10, 54, 52, 14, 0, 16, 1, 58, 42, 8, 59, 60, 21, 62, 61, 63, 9, 7}}, - /* 2BQ */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 50, 34, 25, 17, 24, 37, 45, 23, 43, 47, 20, 49, 18, 28, 32, 26, 33, 22, 13, 38, 11, 15, 35, 36, 3, 4, 42, 46, 44, 6, 1, 54, 0, 58, 51, 60, 52, 16, 10, 14, 12, 55, 57, 5, 56, 48, 19, 2, 59, 8, 21, 62, 61, 63, 9, 7}}, - /* 2BR */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 11, 34, 33, 17, 32, 37, 20, 23, 43, 47, 45, 49, 25, 28, 50, 26, 24, 22, 18, 38, 13, 15, 35, 36, 3, 4, 44, 46, 51, 6, 57, 54, 19, 58, 56, 60, 12, 16, 10, 14, 52, 55, 0, 5, 1, 48, 42, 2, 59, 8, 21, 62, 61, 63, 9, 7}}, - /* 2BS */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 11, 34, 33, 17, 32, 37, 20, 23, 43, 47, 45, 49, 25, 28, 50, 26, 24, 22, 18, 38, 13, 15, 35, 36, 3, 4, 44, 46, 51, 6, 57, 54, 19, 58, 56, 60, 12, 16, 10, 14, 52, 55, 0, 5, 1, 48, 42, 2, 59, 8, 21, 62, 61, -1, 9, -1}}, - /* 2BT */ {4, 12, {24, 45, 47, 49, 43, 20, 23, 22, 18, 32, 37, 38, 33, 13, 15, 17, 11, 35, 36, 34, 3, 42, 2, 4, 44, 1, 48, 46, 0, 51, 6, 5, 52, 10, 54, 55, 12, 57, 16, 14, 56, 19, 8, 58, 59, 21, 62, 60}}, - /* 2BU */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 28, 11, 41, 33, 26, 32, 49, 20, 47, 43, 22, 45, 23, 25, 38, 50, 37, 24, 17, 18, 15, 13, 34, 35, 36, 3, 4, 44, 2, 51, 46, 57, 48, 19, 5, 56, 6, 12, 55, 10, 54, 52, 14, 0, 16, 1, 58, 42, 8, 59, 60, 21, 62, 61, 63, 9, 7}}, - /* 2BV */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 50, 34, 25, 17, 24, 37, 45, 23, 43, 47, 20, 49, 18, 28, 32, 26, 33, 22, 13, 38, 11, 15, 35, 36, 3, 4, 42, 46, 44, 6, 1, 54, 0, 58, 51, 60, 52, 16, 10, 14, 12, 55, 57, 5, 56, 48, 19, 2, 59, 8, 21, 62, 61, 63, 9, 7}}, - /* 2BW */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 28, 11, 41, 33, 26, 32, 49, 20, 47, 43, 22, 45, 23, 25, 38, 50, 37, 24, 17, 18, 15, 13, 34, 35, 36, 3, 4, 44, 2, 51, 46, 57, 48, 19, 5, 56, 6, 12, 55, 10, 54, 52, 14, 0, 16, 1, 58, 42, 8, 59, 60, 21, 62, 61, 63, 9, 7}}, - /* 2BX */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 50, 34, 25, 17, 24, 37, 45, 23, 43, 47, 20, 49, 18, 28, 32, 26, 33, 22, 13, 38, 11, 15, 35, 36, 3, 4, 42, 46, 44, 6, 1, 54, 0, 58, 51, 60, 52, 16, 10, 14, 12, 55, 57, 5, 56, 48, 19, 2, 59, 8, 21, 62, 61, 63, 9, 7}}, - /* 2BY */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 11, 34, 33, 17, 32, 37, 20, 23, 43, 47, 45, 49, 25, 28, 50, 26, 24, 22, 18, 38, 13, 15, 35, 36, 3, 4, 44, 46, 51, 6, 57, 54, 19, 58, 56, 60, 12, 16, 10, 14, 52, 55, 0, 5, 1, 48, 42, 2, 59, 8, 21, 62, 61, -1, 9, -1}}, - /* 2Ba1 */ {3, 34, {31, 39, 28, 30, 41, 26, 27, 49, 47, 24, 22, 18, 23, 38, 34, 37, 17, 4, 15, 11, 46, 36, 2, 5, 42, 51, -1, 48, 55, -1, 6, 14, -1, 54, 57, -1, 16, 58, -1, 59, 8, -1, 62, 60, -1, 63, 7, -1, 19, 9, -1, 12, 61, -1, 52, 21, -1, 1, 56, -1, 44, -1, -1, 3, -1, -1, 35, -1, -1, 13, -1, -1, 33, -1, -1, 32, -1, -1, 20, -1, -1, 43, -1, -1, 45, -1, -1, 25, -1, -1, 50, -1, -1, 53, -1, -1, 29, -1, -1, 40, -1, -1}}, - /* 2Bb1 */ {4, 16, {40, 39, 28, 41, 53, 31, 27, -1, 25, 30, 24, -1, 45, 50, 22, -1, 20, 49, 38, -1, 33, 23, 17, -1, 13, 37, 15, -1, 35, 34, 36, -1, 3, 4, 2, -1, 44, 5, 46, -1, 1, 55, 51, -1, 52, 57, 54, -1, 12, 59, 14, -1, 56, 62, 58, -1, 21, 7, 8, -1, 9, 63, 60, -1}}, - /* 2Bc1 */ {2, 25, {31, 39, 30, 28, 27, 26, 24, 47, 23, 38, 37, 18, 15, 17, 36, 34, 4, 2, 48, 46, 6, 5, 54, 55, 16, 14, 59, 58, 60, -1, 63, -1, 9, -1, 61, -1, 21, -1, 19, -1, 56, -1, 12, -1, 10, -1, 52, -1, 0, -1}}, - /* 2Bd1 */ {3, 16, {29, 28, 39, 31, 27, 41, 30, 24, 26, 50, 43, 47, 49, 38, 23, 22, 17, -1, 37, 15, -1, 34, 36, -1, 2, 46, -1, 5, 48, -1, 55, 6, -1, 57, -1, -1, 59, -1, -1, 8, -1, -1, 62, -1, -1, 63, -1, -1}}, - /* 2Be1 */ {6, 12, {24, 45, 41, 28, 30, 47, 43, 20, 49, 26, 27, 17, 18, 32, 38, 23, 37, 34, 33, 13, 36, 15, 4, -1, 11, 35, 48, 2, 5, -1, 3, 42, 6, 55, -1, -1, 44, 1, 14, 16, -1, -1, 0, 51, 8, 58, -1, -1, 52, 10, 62, -1, -1, -1, 12, 57, 63, -1, -1, -1, 56, 19, -1, -1, -1, -1, 59, 21, -1, -1, -1, -1}}, - /* 2Bf1 */ {5, 24, {40, 31, 39, 28, 26, 29, 30, 41, 47, -1, 53, 27, 49, 38, -1, 50, 24, 22, 17, -1, 25, 23, 37, 34, -1, 45, 18, 15, 2, -1, 43, 11, 36, 48, -1, 20, 4, 42, -1, -1, 32, 46, 51, -1, -1, 33, 5, 6, -1, -1, 13, 54, 55, -1, -1, 35, 58, 14, -1, -1, 3, 16, 57, -1, -1, 44, 59, -1, -1, -1, 1, 8, -1, -1, -1, 0, 60, -1, -1, -1, 52, 62, -1, -1, -1, 10, 7, -1, -1, -1, 12, 63, -1, -1, -1, 56, -1, -1, -1, -1, 19, -1, -1, -1, -1, 21, -1, -1, -1, -1, 61, -1, -1, -1, -1, 9, -1, -1, -1, -1}}, - /* 2Bg1 */ {3, 28, {40, 31, -1, 29, 39, -1, 53, 30, -1, 27, 28, -1, 50, 41, -1, 25, 49, -1, 24, 26, -1, 45, 47, -1, 43, 22, -1, 20, 23, -1, 18, 38, -1, 32, 37, 17, 33, 15, 34, 13, 36, 4, 11, 42, 2, 35, 46, 48, 3, 51, 5, 44, 6, 55, 1, 54, 14, 0, 57, 16, 52, 58, 59, 10, 8, 60, 12, 62, -1, 56, 7, -1, 19, 63, -1, 21, -1, -1, 61, -1, -1, 9, -1, -1}}, - /* 2Bh1 */ {4, 20, {29, 53, 30, -1, 50, 25, 41, -1, 24, 45, 26, -1, 43, 20, 49, -1, 18, 32, 47, -1, 33, 13, 22, -1, 11, 35, 38, 23, 3, 42, 17, 37, 44, 1, 34, 15, 0, 51, 4, 36, 52, 10, 46, 2, -1, 12, 5, 48, -1, 57, 55, 6, -1, 56, 14, 54, -1, 19, 58, 16, -1, 59, 60, -1, -1, 21, 62, -1, -1, 61, -1, -1, -1, 9, -1, -1, -1, 7, -1, -1}}, - /* 2Bi1 */ {6, 12, {53, 50, 25, 55, 2, 46, 24, 45, 43, 54, 48, 5, 20, 18, 32, 14, 6, -1, 33, 13, 11, 58, -1, -1, 35, 3, 42, 8, -1, -1, 44, 1, 0, 63, -1, -1, -1, 51, 52, 62, -1, -1, -1, 10, 12, -1, -1, -1, -1, 57, 56, -1, -1, -1, -1, 19, 21, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, 61, -1, -1, -1, -1}}, - /* 2Bm1 */ {7, 16, {-1, -1, -1, -1, -1, 40, 27, -1, -1, -1, -1, -1, 28, 49, -1, -1, -1, -1, -1, 39, 24, -1, -1, -1, -1, 29, 30, 47, -1, -1, -1, -1, 53, 31, 22, -1, -1, -1, -1, 50, 41, 38, -1, -1, -1, -1, 25, 26, 18, -1, -1, -1, 45, 43, 23, 17, -1, -1, -1, 20, 32, 37, 15, -1, -1, -1, 33, 13, 36, 34, -1, -1, -1, 35, 3, 4, 11, -1, -1, 44, 48, 1, 5, 42, -1, -1, 0, 51, 52, 55, 2, -1, 6, 10, 54, 12, 58, 46, 59, 57, 56, 16, 19, 8, 14, 21, 60, 61, 7, 9, 63, 62}}, - /* 2Bn1 */ {5, 16, {-1, -1, -1, -1, 27, -1, -1, -1, 31, 39, -1, -1, -1, 53, 28, -1, -1, 50, 40, 38, -1, 32, 25, 29, 26, -1, 33, 45, 30, 24, 52, 13, 43, 41, 22, 12, 44, 20, 47, 37, 19, 48, 18, 23, 17, -1, 54, 35, 15, 34, -1, 10, 3, 36, 11, -1, 21, 1, 46, 6, -1, 59, 0, 5, 55, -1, -1, 57, 14, 16, -1, 60, 56, 58, 8, -1, 9, 61, 62, 7}}, - /* 2Bp1 */ {5, 16, {-1, -1, -1, 28, 27, -1, -1, 40, 30, 26, -1, 53, 29, 39, 47, -1, 49, 50, 31, 22, -1, 45, 25, 41, 38, -1, 20, 43, 24, 37, -1, 32, 18, 23, 15, -1, 34, 33, 17, 11, -1, 13, 35, 36, 4, -1, 3, 42, 2, 46, -1, 44, 1, 48, 5, -1, 0, 6, 55, 51, -1, 52, 12, 57, 54, 10, 16, 19, 8, 14, 56, 60, 21, 62, 58, 7, 61, 9, 63, 59}}, - /* 2Bt1 */ {18, 8, {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, 22, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 42, 11, 17, 43, 50, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 51, 1, 35, 33, 38, 49, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, 0, 3, 34, 18, 24, 28, -1, -1, -1, -1, -1, -1, -1, -1, 10, 12, 61, 56, 52, 44, 13, 20, 25, 29, -1, -1, -1, -1, -1, -1, -1, 8, 63, 7, 62, 58, 55, 46, 15, 23, 26, 30, 31, 16, 19, 21, 9, 60, 59, 57, 14, 5, 54, 48, 2, 4, 36, 37, 47, 41, -1}}, - /* 2Bu1 */ {4, 15, {20, 40, 28, 47, 32, 50, 30, 22, 33, 53, 39, 15, 13, 25, 31, 38, 35, 49, 41, 37, 0, 45, 24, 4, 42, 18, 23, 11, 1, 34, 17, 46, 6, 3, 36, 5, 10, 44, 2, 51, 16, 52, 48, 54, 19, 12, 55, 14, 60, 56, 57, 58, 61, 21, 8, 59, 9, 63, 62, 7}}, - /* 2Bv1 */ {4, 16, {26, 27, 29, 43, 47, 28, 40, 20, 22, 30, 50, 32, 15, 39, 53, 33, 38, 31, 25, 13, 37, 41, 49, 35, 4, 24, 45, 0, 11, 23, 18, 42, 46, 17, 34, 1, 5, 36, 3, 6, 51, 2, 44, 10, 54, 48, 52, 16, 14, 55, 12, 19, 58, 57, 56, 60, 59, 8, 21, 61, 7, 62, 63, 9}}, - /* 2Bv2 */ {4, 16, {26, 27, 29, 43, 47, 28, 40, 20, 22, 30, 50, 32, 15, 39, 53, 33, 38, 31, 25, 13, 37, 41, 49, 35, 4, 24, 45, 0, 11, 23, 18, 42, 46, 17, 34, 1, 5, 36, 3, 6, 51, 2, 44, 10, 54, 48, 52, 16, 14, 55, 12, 19, 58, 57, 56, 60, 59, 8, 21, 61, 7, 62, 63, 9}}, - /* 2Bv3 */ {4, 16, {26, 27, 29, 43, 47, 28, 40, 20, 22, 30, 50, 32, 15, 39, 53, 33, 38, 31, 25, 13, 37, 41, 49, 35, 4, 24, 45, 0, 11, 23, 18, 42, 46, 17, 34, 1, 5, 36, 3, 6, 51, 2, 44, 10, 54, 48, 52, 16, 14, 55, 12, 19, 58, 57, 56, 60, 59, 8, 21, 61, 7, 62, 63, 9}}, - /* 2Bv4 */ {4, 16, {26, 27, 29, 43, 47, 28, 40, 20, 22, 30, 50, 32, 15, 39, 53, 33, 38, 31, 25, 13, 37, 41, 49, 35, 4, 24, 45, 0, 11, 23, 18, 42, 46, 17, 34, 1, 5, 36, 3, 6, 51, 2, 44, 10, 54, 48, 52, 16, 14, 55, 12, 19, 58, 57, 56, 60, 59, 8, 21, 61, 7, 62, 63, 9}}, - /* 2Bv5 */ {4, 16, {26, 27, 29, 43, 47, 28, 40, 20, 22, 30, 50, 32, 15, 39, 53, 33, 38, 31, 25, 13, 37, 41, 49, 35, 4, 24, 45, 0, 11, 23, 18, 42, 46, 17, 34, 1, 5, 36, 3, 6, 51, 2, 44, 10, 54, 48, 52, 16, 14, 55, 12, 19, 58, 57, 56, 60, 59, 8, 21, 61, 7, 62, 63, 9}}}, - /* PS */ - {{0.75, 0.5}, {1.5, 0.5}, {3, 0.5}}}; + return new CathodeSegmentation{ + 1, + true, + /* PG */ + {{1, 8, 2, 107, -0.75}, + {2, 6, 2, 95, -0.75}, + {3, 4, 1, 89, -0.75}, + {4, 4, 1, 83, -0.75}, + {5, 4, 1, 77, -0.75}, + {6, 4, 1, 71, -0.75}, + {7, 4, 1, 65, -0.75}, + {8, 4, 1, 59, -0.75}, + {9, 4, 1, 53, -0.75}, + {10, 0, 0, 50, -0.75}, + {11, 0, 0, 47, -0.75}, + {12, 0, 0, 44, -0.75}, + {13, 0, 0, 41, -0.75}, + {14, 0, 0, 38, -0.75}, + {15, 0, 0, 35, -0.75}, + {16, 0, 0, 32, -0.75}, + {17, 0, 0, 29, -0.75}, + {18, 0, 0, 26, -0.75}, + {19, 36, 0, 22.25, -0.75}, + {27, 9, 2, 107, 7.25}, + {28, 7, 2, 95, 7.25}, + {29, 5, 1, 89, 7.25}, + {30, 5, 1, 83, 7.25}, + {31, 5, 1, 77, 7.25}, + {32, 5, 1, 71, 7.25}, + {33, 5, 1, 65, 7.25}, + {34, 5, 1, 59, 7.25}, + {35, 5, 1, 53, 7.25}, + {36, 1, 0, 50, 7.25}, + {37, 1, 0, 47, 7.25}, + {38, 1, 0, 44, 7.25}, + {39, 1, 0, 41, 7.25}, + {40, 1, 0, 38, 7.25}, + {41, 1, 0, 35, 7.25}, + {42, 1, 0, 32, 7.25}, + {43, 1, 0, 29, 7.25}, + {44, 1, 0, 26, 7.25}, + {45, 1, 0, 23, 7.25}, + {46, 34, 0, 17.75, 7.25}, + {53, 9, 2, 107, 15.25}, + {54, 7, 2, 95, 15.25}, + {55, 5, 1, 89, 15.25}, + {56, 5, 1, 83, 15.25}, + {57, 5, 1, 77, 15.25}, + {58, 5, 1, 71, 15.25}, + {59, 5, 1, 65, 15.25}, + {60, 5, 1, 59, 15.25}, + {61, 5, 1, 53, 15.25}, + {62, 1, 0, 50, 15.25}, + {63, 1, 0, 47, 15.25}, + {64, 1, 0, 44, 15.25}, + {65, 1, 0, 41, 15.25}, + {66, 1, 0, 38, 15.25}, + {67, 1, 0, 35, 15.25}, + {68, 1, 0, 32, 15.25}, + {69, 1, 0, 29, 15.25}, + {70, 1, 0, 26, 15.25}, + {71, 1, 0, 23, 15.25}, + {72, 1, 0, 20, 15.25}, + {73, 1, 0, 17, 15.25}, + {74, 35, 0, 13.25, 15.75}, + {75, 37, 0, 1.25, 19.25}, + {79, 25, 2, 107, 23.25}, + {80, 7, 2, 95, 23.25}, + {81, 3, 2, 83, 23.25}, + {82, 5, 1, 77, 23.25}, + {83, 5, 1, 71, 23.25}, + {84, 5, 1, 65, 23.25}, + {85, 5, 1, 59, 23.25}, + {86, 5, 1, 53, 23.25}, + {87, 5, 1, 47, 23.25}, + {88, 1, 0, 44, 23.25}, + {89, 1, 0, 41, 23.25}, + {90, 1, 0, 38, 23.25}, + {91, 1, 0, 35, 23.25}, + {92, 1, 0, 32, 23.25}, + {93, 1, 0, 29, 23.25}, + {94, 1, 0, 26, 23.25}, + {95, 1, 0, 23, 23.25}, + {96, 1, 0, 20, 23.25}, + {97, 1, 0, 17, 23.25}, + {98, 38, 0, 14, 23.75}, + {99, 39, 0, 11, 23.25}, + {100, 40, 0, 8, 23.25}, + {101, 41, 0, 5, 23.25}, + {102, 42, 0, 2, 23.25}, + {103, 43, 0, -1, 23.25}, + {105, 7, 2, 95, 31.25}, + {106, 3, 2, 83, 31.25}, + {107, 5, 1, 77, 31.25}, + {108, 5, 1, 71, 31.25}, + {109, 5, 1, 65, 31.25}, + {110, 5, 1, 59, 31.25}, + {111, 5, 1, 53, 31.25}, + {112, 5, 1, 47, 31.25}, + {113, 5, 1, 41, 31.25}, + {114, 1, 0, 38, 31.25}, + {115, 1, 0, 35, 31.25}, + {116, 1, 0, 32, 31.25}, + {117, 1, 0, 29, 31.25}, + {118, 1, 0, 26, 31.25}, + {119, 1, 0, 23, 31.25}, + {120, 1, 0, 20, 31.25}, + {121, 1, 0, 17, 31.25}, + {122, 1, 0, 14, 31.25}, + {123, 1, 0, 11, 31.25}, + {124, 1, 0, 8, 31.25}, + {125, 1, 0, 5, 31.25}, + {126, 1, 0, 2, 31.25}, + {127, 1, 0, -1, 31.25}, + {131, 7, 2, 95, 39.25}, + {132, 3, 2, 83, 39.25}, + {133, 5, 1, 77, 39.25}, + {134, 5, 1, 71, 39.25}, + {135, 5, 1, 65, 39.25}, + {136, 5, 1, 59, 39.25}, + {137, 5, 1, 53, 39.25}, + {138, 5, 1, 47, 39.25}, + {139, 5, 1, 41, 39.25}, + {140, 5, 1, 35, 39.25}, + {141, 1, 0, 32, 39.25}, + {142, 1, 0, 29, 39.25}, + {143, 1, 0, 26, 39.25}, + {144, 1, 0, 23, 39.25}, + {145, 1, 0, 20, 39.25}, + {146, 1, 0, 17, 39.25}, + {147, 1, 0, 14, 39.25}, + {148, 1, 0, 11, 39.25}, + {149, 1, 0, 8, 39.25}, + {150, 1, 0, 5, 39.25}, + {151, 1, 0, 2, 39.25}, + {152, 1, 0, -1, 39.25}, + {157, 26, 2, 95, 47.25}, + {158, 3, 2, 83, 47.25}, + {159, 5, 1, 77, 47.25}, + {160, 5, 1, 71, 47.25}, + {161, 5, 1, 65, 47.25}, + {162, 5, 1, 59, 47.25}, + {163, 5, 1, 53, 47.25}, + {164, 5, 1, 47, 47.25}, + {165, 5, 1, 41, 47.25}, + {166, 5, 1, 35, 47.25}, + {167, 5, 1, 29, 47.25}, + {168, 5, 1, 23, 47.25}, + {169, 1, 0, 20, 47.25}, + {170, 1, 0, 17, 47.25}, + {171, 1, 0, 14, 47.25}, + {172, 1, 0, 11, 47.25}, + {173, 1, 0, 8, 47.25}, + {174, 1, 0, 5, 47.25}, + {175, 1, 0, 2, 47.25}, + {176, 1, 0, -1, 47.25}, + {183, 27, 2, 95, 55.25}, + {184, 10, 2, 83, 55.25}, + {185, 3, 2, 71, 55.25}, + {186, 5, 1, 65, 55.25}, + {187, 5, 1, 59, 55.25}, + {188, 5, 1, 53, 55.25}, + {189, 5, 1, 47, 55.25}, + {190, 5, 1, 41, 55.25}, + {191, 5, 1, 35, 55.25}, + {192, 5, 1, 29, 55.25}, + {193, 5, 1, 23, 55.25}, + {194, 5, 1, 17, 55.25}, + {195, 5, 1, 11, 55.25}, + {196, 5, 1, 5, 55.25}, + {197, 12, 1, -1, 55.25}, + {201, 10, 2, 83, 63.25}, + {202, 3, 2, 71, 63.25}, + {203, 3, 2, 59, 63.25}, + {204, 5, 1, 53, 63.25}, + {205, 5, 1, 47, 63.25}, + {206, 5, 1, 41, 63.25}, + {207, 5, 1, 35, 63.25}, + {208, 5, 1, 29, 63.25}, + {209, 5, 1, 23, 63.25}, + {210, 5, 1, 17, 63.25}, + {211, 5, 1, 11, 63.25}, + {212, 5, 1, 5, 63.25}, + {213, 12, 1, -1, 63.25}, + {214, 28, 2, 83, 71.25}, + {215, 3, 2, 71, 71.25}, + {216, 3, 2, 59, 71.25}, + {217, 3, 2, 47, 71.25}, + {218, 5, 1, 41, 71.25}, + {219, 5, 1, 35, 71.25}, + {220, 5, 1, 29, 71.25}, + {221, 5, 1, 23, 71.25}, + {222, 5, 1, 17, 71.25}, + {223, 5, 1, 11, 71.25}, + {224, 5, 1, 5, 71.25}, + {225, 12, 1, -1, 71.25}, + {226, 30, 2, 71, 79.25}, + {227, 24, 2, 65, 79.25}, + {228, 23, 2, 59, 79.25}, + {229, 33, 2, 50, 95.25}, + {230, 22, 2, 53, 79.25}, + {231, 21, 2, 47, 79.25}, + {232, 32, 2, 41, 95.25}, + {233, 20, 2, 41, 79.25}, + {234, 11, 2, 35, 79.25}, + {235, 11, 2, 29, 79.25}, + {236, 2, 1, 26, 79.25}, + {237, 2, 1, 23, 79.25}, + {238, 2, 1, 20, 79.25}, + {239, 2, 1, 17, 79.25}, + {240, 2, 1, 14, 79.25}, + {241, 2, 1, 11, 79.25}, + {242, 2, 1, 8, 79.25}, + {243, 2, 1, 5, 79.25}, + {244, 2, 1, 2, 79.25}, + {245, 2, 1, -1, 79.25}, + {246, 31, 2, 35, 95.25}, + {247, 18, 2, 29, 95.25}, + {248, 17, 2, 23, 95.25}, + {249, 16, 2, 17, 95.25}, + {250, 29, 2, 11, 111.25}, + {251, 15, 2, 11, 95.25}, + {252, 14, 2, 5, 95.25}, + {253, 19, 2, -1, 111.25}, + {254, 13, 2, -1, 95.25}}, + /* PGT */ + {/* 2BA */ {4, 16, {50, 29, 39, 27, 49, 40, 28, 26, 45, 53, 30, 47, 20, 25, 31, 22, 32, 43, 41, 38, 34, 18, 24, 37, 35, 33, 23, 15, 42, 13, 17, 11, 44, 3, 36, 4, 0, 1, 2, 46, 52, 6, 48, 5, 12, 10, 55, 51, 16, 56, 57, 54, 19, 60, 59, 58, 21, 7, 62, 8, 61, 9, 63, 14}}, + /* 2BB */ {4, 16, {53, 40, 30, 28, 25, 29, 39, 27, 43, 50, 31, 24, 38, 49, 41, 22, 32, 45, 26, 47, 17, 20, 23, 18, 13, 33, 37, 15, 34, 35, 36, 11, 2, 3, 4, 42, 44, 1, 5, 46, 48, 52, 55, 51, 0, 12, 58, 14, 6, 16, 8, 57, 10, 21, 63, 54, 56, 61, 7, 60, 19, 9, 62, 59}}, + /* 2BC */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 11, 34, 33, 17, 32, 37, 20, 23, 43, 47, 45, 49, 25, 28, 50, 26, 24, 22, 18, 38, 13, 15, 35, 36, 3, 4, 44, 46, 51, 6, 57, 54, 19, 58, 56, 60, 12, 16, 10, 14, 52, 55, 0, 5, 1, 48, 42, 2, 59, 8, 21, 62, 61, 63, 9, 7}}, + /* 2BD */ {4, 16, {29, 40, 39, 31, 50, 53, 30, 41, 25, 49, 28, 26, 43, 45, 27, 24, 20, 38, 47, 22, 33, 32, 23, 18, 13, 17, 37, 15, 34, 35, 36, 11, 2, 3, 4, 42, 44, 48, 46, 5, 1, 0, 55, 51, 52, 6, 57, 54, 10, 12, 59, 14, 56, 16, 60, 58, 19, 21, 63, 8, 61, 9, 7, 62}}, + /* 2BE */ {4, 16, {40, 29, 28, 49, 53, 30, 50, 47, 25, 39, 27, 22, 45, 31, 24, 18, 20, 41, 43, 17, 33, 26, 38, 15, 13, 23, 32, 11, 35, 37, 34, 2, 3, 36, 42, 46, 44, 4, 48, 0, 1, 5, 51, 6, 52, 55, 54, 12, 10, 58, 57, 14, 56, 8, 59, 16, 21, 63, 62, 19, 61, 9, 7, 60}}, + /* 2BF */ {4, 16, {40, 29, 30, 50, 53, 39, 28, 49, 25, 31, 27, 47, 45, 41, 24, 22, 20, 26, 43, 18, 33, 23, 38, 32, 13, 37, 17, 15, 35, 36, 11, 34, 3, 4, 42, 2, 44, 5, 48, 46, 1, 55, 6, 0, 52, 58, 14, 51, 10, 8, 16, 54, 56, 7, 19, 12, 21, 63, 60, 57, 61, 9, 62, 59}}, + /* 2BG */ {4, 16, {40, 29, 30, 49, 53, 31, 41, 43, 25, 39, 50, 38, 45, 28, 26, 18, 20, 27, 47, 17, 33, 24, 23, 15, 13, 22, 32, 36, 35, 37, 34, 2, 3, 11, 42, 48, 44, 4, 46, 51, 1, 0, 5, 6, 52, 55, 54, 12, 10, 57, 14, 16, 56, 19, 59, 58, 21, 62, 61, 8, 9, 63, 7, 60}}, + /* 2BH */ {4, 16, {40, 29, 28, 39, 53, 31, 27, 41, 25, 30, 24, 26, 45, 50, 43, 47, 20, 49, 38, 23, 33, 22, 32, 18, 13, 37, 15, 17, 35, 34, 36, 11, 3, 42, 2, 4, 44, 0, 48, 46, 1, 55, 51, 5, 52, 57, 54, 6, 12, 19, 14, 10, 56, 62, 58, 16, 21, 7, 60, 59, 9, 63, 61, 8}}, + /* 2BI */ {3, 16, {29, 30, 41, 31, 50, 26, 39, 49, 47, 28, 43, 23, 27, 38, 18, 24, 32, 17, 22, 15, 11, 37, 36, 4, 34, 2, 46, 42, 48, 5, 0, 51, 6, 55, 54, 12, 57, 14, 16, 19, 59, 58, 62, 61, 8, 63, 7, 60}}, + /* 2BJ */ {3, 16, {29, 28, 39, 31, 27, 41, 30, 24, 26, 50, 43, 47, 49, 38, 23, 22, 32, 18, 37, 15, 17, 34, 36, 11, 42, 2, 4, 0, 48, 46, 55, 51, 5, 57, 54, 6, 19, 14, 12, 62, 58, 16, 7, 60, 59, 63, 61, 8}}, + /* 2BK */ {4, 16, {40, 29, 28, 39, 53, 31, 27, 41, 25, 30, 24, 26, 45, 50, 43, 47, 20, 49, 38, 23, 33, 22, 32, 18, 13, 37, 15, 17, 35, 34, 36, 11, 3, 42, 2, 4, 44, 0, 48, 46, 1, 55, 51, 5, 52, 57, 54, 6, 12, 19, 14, 10, 56, 62, 58, 16, 21, 7, 60, 59, 9, 63, 61, 8}}, + /* 2BL */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 11, 34, 33, 17, 32, 37, 20, 23, 43, 47, 45, 49, 25, 28, 50, 26, 24, 22, 18, 38, 13, 15, 35, 36, 3, 4, 44, 46, 51, 6, 57, 54, 19, 58, 56, 60, 12, 16, 10, 14, 52, 55, 0, 5, 1, 48, 42, 2, 59, 8, 21, 62, 61, 63, 9, 7}}, + /* 2BM */ {4, 16, {29, 40, 39, 31, 50, 53, 30, 41, 25, 49, 28, 26, 43, 45, 27, 24, 20, 38, 47, 22, 33, 32, 23, 18, 13, 17, 37, 15, 34, 35, 36, 11, 2, 3, 4, 42, 44, 48, 46, 5, 1, 0, 55, 51, 52, 6, 57, 54, 10, 12, 59, 14, 56, 16, 60, 58, 19, 21, 63, 8, 61, 9, 7, 62}}, + /* 2BN */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 28, 11, 41, 33, 26, 32, 49, 20, 47, 43, 22, 45, 23, 25, 38, 50, 37, 24, 17, 18, 15, 13, 34, 35, 36, 3, 4, 44, 2, 51, 46, 57, 48, 19, 5, 56, 6, 12, 55, 10, 54, 52, 14, 0, 16, 1, 58, 42, 8, 59, 60, 21, 62, 61, 63, 9, 7}}, + /* 2BO */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 50, 34, 25, 17, 24, 37, 45, 23, 43, 47, 20, 49, 18, 28, 32, 26, 33, 22, 13, 38, 11, 15, 35, 36, 3, 4, 42, 46, 44, 6, 1, 54, 0, 58, 51, 60, 52, 16, 10, 14, 12, 55, 57, 5, 56, 48, 19, 2, 59, 8, 21, 62, 61, 63, 9, 7}}, + /* 2BP */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 28, 11, 41, 33, 26, 32, 49, 20, 47, 43, 22, 45, 23, 25, 38, 50, 37, 24, 17, 18, 15, 13, 34, 35, 36, 3, 4, 44, 2, 51, 46, 57, 48, 19, 5, 56, 6, 12, 55, 10, 54, 52, 14, 0, 16, 1, 58, 42, 8, 59, 60, 21, 62, 61, 63, 9, 7}}, + /* 2BQ */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 50, 34, 25, 17, 24, 37, 45, 23, 43, 47, 20, 49, 18, 28, 32, 26, 33, 22, 13, 38, 11, 15, 35, 36, 3, 4, 42, 46, 44, 6, 1, 54, 0, 58, 51, 60, 52, 16, 10, 14, 12, 55, 57, 5, 56, 48, 19, 2, 59, 8, 21, 62, 61, 63, 9, 7}}, + /* 2BR */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 11, 34, 33, 17, 32, 37, 20, 23, 43, 47, 45, 49, 25, 28, 50, 26, 24, 22, 18, 38, 13, 15, 35, 36, 3, 4, 44, 46, 51, 6, 57, 54, 19, 58, 56, 60, 12, 16, 10, 14, 52, 55, 0, 5, 1, 48, 42, 2, 59, 8, 21, 62, 61, 63, 9, 7}}, + /* 2BS */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 11, 34, 33, 17, 32, 37, 20, 23, 43, 47, 45, 49, 25, 28, 50, 26, 24, 22, 18, 38, 13, 15, 35, 36, 3, 4, 44, 46, 51, 6, 57, 54, 19, 58, 56, 60, 12, 16, 10, 14, 52, 55, 0, 5, 1, 48, 42, 2, 59, 8, 21, 62, 61, -1, 9, -1}}, + /* 2BT */ {4, 12, {24, 45, 47, 49, 43, 20, 23, 22, 18, 32, 37, 38, 33, 13, 15, 17, 11, 35, 36, 34, 3, 42, 2, 4, 44, 1, 48, 46, 0, 51, 6, 5, 52, 10, 54, 55, 12, 57, 16, 14, 56, 19, 8, 58, 59, 21, 62, 60}}, + /* 2BU */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 28, 11, 41, 33, 26, 32, 49, 20, 47, 43, 22, 45, 23, 25, 38, 50, 37, 24, 17, 18, 15, 13, 34, 35, 36, 3, 4, 44, 2, 51, 46, 57, 48, 19, 5, 56, 6, 12, 55, 10, 54, 52, 14, 0, 16, 1, 58, 42, 8, 59, 60, 21, 62, 61, 63, 9, 7}}, + /* 2BV */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 50, 34, 25, 17, 24, 37, 45, 23, 43, 47, 20, 49, 18, 28, 32, 26, 33, 22, 13, 38, 11, 15, 35, 36, 3, 4, 42, 46, 44, 6, 1, 54, 0, 58, 51, 60, 52, 16, 10, 14, 12, 55, 57, 5, 56, 48, 19, 2, 59, 8, 21, 62, 61, 63, 9, 7}}, + /* 2BW */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 28, 11, 41, 33, 26, 32, 49, 20, 47, 43, 22, 45, 23, 25, 38, 50, 37, 24, 17, 18, 15, 13, 34, 35, 36, 3, 4, 44, 2, 51, 46, 57, 48, 19, 5, 56, 6, 12, 55, 10, 54, 52, 14, 0, 16, 1, 58, 42, 8, 59, 60, 21, 62, 61, 63, 9, 7}}, + /* 2BX */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 50, 34, 25, 17, 24, 37, 45, 23, 43, 47, 20, 49, 18, 28, 32, 26, 33, 22, 13, 38, 11, 15, 35, 36, 3, 4, 42, 46, 44, 6, 1, 54, 0, 58, 51, 60, 52, 16, 10, 14, 12, 55, 57, 5, 56, 48, 19, 2, 59, 8, 21, 62, 61, 63, 9, 7}}, + /* 2BY */ {2, 32, {40, 39, 29, 31, 53, 30, 27, 41, 11, 34, 33, 17, 32, 37, 20, 23, 43, 47, 45, 49, 25, 28, 50, 26, 24, 22, 18, 38, 13, 15, 35, 36, 3, 4, 44, 46, 51, 6, 57, 54, 19, 58, 56, 60, 12, 16, 10, 14, 52, 55, 0, 5, 1, 48, 42, 2, 59, 8, 21, 62, 61, -1, 9, -1}}, + /* 2Ba1 */ {3, 34, {31, 39, 28, 30, 41, 26, 27, 49, 47, 24, 22, 18, 23, 38, 34, 37, 17, 4, 15, 11, 46, 36, 2, 5, 42, 51, -1, 48, 55, -1, 6, 14, -1, 54, 57, -1, 16, 58, -1, 59, 8, -1, 62, 60, -1, 63, 7, -1, 19, 9, -1, 12, 61, -1, 52, 21, -1, 1, 56, -1, 44, -1, -1, 3, -1, -1, 35, -1, -1, 13, -1, -1, 33, -1, -1, 32, -1, -1, 20, -1, -1, 43, -1, -1, 45, -1, -1, 25, -1, -1, 50, -1, -1, 53, -1, -1, 29, -1, -1, 40, -1, -1}}, + /* 2Bb1 */ {4, 16, {40, 39, 28, 41, 53, 31, 27, -1, 25, 30, 24, -1, 45, 50, 22, -1, 20, 49, 38, -1, 33, 23, 17, -1, 13, 37, 15, -1, 35, 34, 36, -1, 3, 4, 2, -1, 44, 5, 46, -1, 1, 55, 51, -1, 52, 57, 54, -1, 12, 59, 14, -1, 56, 62, 58, -1, 21, 7, 8, -1, 9, 63, 60, -1}}, + /* 2Bc1 */ {2, 25, {31, 39, 30, 28, 27, 26, 24, 47, 23, 38, 37, 18, 15, 17, 36, 34, 4, 2, 48, 46, 6, 5, 54, 55, 16, 14, 59, 58, 60, -1, 63, -1, 9, -1, 61, -1, 21, -1, 19, -1, 56, -1, 12, -1, 10, -1, 52, -1, 0, -1}}, + /* 2Bd1 */ {3, 16, {29, 28, 39, 31, 27, 41, 30, 24, 26, 50, 43, 47, 49, 38, 23, 22, 17, -1, 37, 15, -1, 34, 36, -1, 2, 46, -1, 5, 48, -1, 55, 6, -1, 57, -1, -1, 59, -1, -1, 8, -1, -1, 62, -1, -1, 63, -1, -1}}, + /* 2Be1 */ {6, 12, {24, 45, 41, 28, 30, 47, 43, 20, 49, 26, 27, 17, 18, 32, 38, 23, 37, 34, 33, 13, 36, 15, 4, -1, 11, 35, 48, 2, 5, -1, 3, 42, 6, 55, -1, -1, 44, 1, 14, 16, -1, -1, 0, 51, 8, 58, -1, -1, 52, 10, 62, -1, -1, -1, 12, 57, 63, -1, -1, -1, 56, 19, -1, -1, -1, -1, 59, 21, -1, -1, -1, -1}}, + /* 2Bf1 */ {5, 24, {40, 31, 39, 28, 26, 29, 30, 41, 47, -1, 53, 27, 49, 38, -1, 50, 24, 22, 17, -1, 25, 23, 37, 34, -1, 45, 18, 15, 2, -1, 43, 11, 36, 48, -1, 20, 4, 42, -1, -1, 32, 46, 51, -1, -1, 33, 5, 6, -1, -1, 13, 54, 55, -1, -1, 35, 58, 14, -1, -1, 3, 16, 57, -1, -1, 44, 59, -1, -1, -1, 1, 8, -1, -1, -1, 0, 60, -1, -1, -1, 52, 62, -1, -1, -1, 10, 7, -1, -1, -1, 12, 63, -1, -1, -1, 56, -1, -1, -1, -1, 19, -1, -1, -1, -1, 21, -1, -1, -1, -1, 61, -1, -1, -1, -1, 9, -1, -1, -1, -1}}, + /* 2Bg1 */ {3, 28, {40, 31, -1, 29, 39, -1, 53, 30, -1, 27, 28, -1, 50, 41, -1, 25, 49, -1, 24, 26, -1, 45, 47, -1, 43, 22, -1, 20, 23, -1, 18, 38, -1, 32, 37, 17, 33, 15, 34, 13, 36, 4, 11, 42, 2, 35, 46, 48, 3, 51, 5, 44, 6, 55, 1, 54, 14, 0, 57, 16, 52, 58, 59, 10, 8, 60, 12, 62, -1, 56, 7, -1, 19, 63, -1, 21, -1, -1, 61, -1, -1, 9, -1, -1}}, + /* 2Bh1 */ {4, 20, {29, 53, 30, -1, 50, 25, 41, -1, 24, 45, 26, -1, 43, 20, 49, -1, 18, 32, 47, -1, 33, 13, 22, -1, 11, 35, 38, 23, 3, 42, 17, 37, 44, 1, 34, 15, 0, 51, 4, 36, 52, 10, 46, 2, -1, 12, 5, 48, -1, 57, 55, 6, -1, 56, 14, 54, -1, 19, 58, 16, -1, 59, 60, -1, -1, 21, 62, -1, -1, 61, -1, -1, -1, 9, -1, -1, -1, 7, -1, -1}}, + /* 2Bi1 */ {6, 12, {53, 50, 25, 55, 2, 46, 24, 45, 43, 54, 48, 5, 20, 18, 32, 14, 6, -1, 33, 13, 11, 58, -1, -1, 35, 3, 42, 8, -1, -1, 44, 1, 0, 63, -1, -1, -1, 51, 52, 62, -1, -1, -1, 10, 12, -1, -1, -1, -1, 57, 56, -1, -1, -1, -1, 19, 21, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, 61, -1, -1, -1, -1}}, + /* 2Bm1 */ {7, 16, {-1, -1, -1, -1, -1, 40, 27, -1, -1, -1, -1, -1, 28, 49, -1, -1, -1, -1, -1, 39, 24, -1, -1, -1, -1, 29, 30, 47, -1, -1, -1, -1, 53, 31, 22, -1, -1, -1, -1, 50, 41, 38, -1, -1, -1, -1, 25, 26, 18, -1, -1, -1, 45, 43, 23, 17, -1, -1, -1, 20, 32, 37, 15, -1, -1, -1, 33, 13, 36, 34, -1, -1, -1, 35, 3, 4, 11, -1, -1, 44, 48, 1, 5, 42, -1, -1, 0, 51, 52, 55, 2, -1, 6, 10, 54, 12, 58, 46, 59, 57, 56, 16, 19, 8, 14, 21, 60, 61, 7, 9, 63, 62}}, + /* 2Bn1 */ {5, 16, {-1, -1, -1, -1, 27, -1, -1, -1, 31, 39, -1, -1, -1, 53, 28, -1, -1, 50, 40, 38, -1, 32, 25, 29, 26, -1, 33, 45, 30, 24, 52, 13, 43, 41, 22, 12, 44, 20, 47, 37, 19, 48, 18, 23, 17, -1, 54, 35, 15, 34, -1, 10, 3, 36, 11, -1, 21, 1, 46, 6, -1, 59, 0, 5, 55, -1, -1, 57, 14, 16, -1, 60, 56, 58, 8, -1, 9, 61, 62, 7}}, + /* 2Bp1 */ {5, 16, {-1, -1, -1, 28, 27, -1, -1, 40, 30, 26, -1, 53, 29, 39, 47, -1, 49, 50, 31, 22, -1, 45, 25, 41, 38, -1, 20, 43, 24, 37, -1, 32, 18, 23, 15, -1, 34, 33, 17, 11, -1, 13, 35, 36, 4, -1, 3, 42, 2, 46, -1, 44, 1, 48, 5, -1, 0, 6, 55, 51, -1, 52, 12, 57, 54, 10, 16, 19, 8, 14, 56, 60, 21, 62, 58, 7, 61, 9, 63, 59}}, + /* 2Bt1 */ {18, 8, {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, 22, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 42, 11, 17, 43, 50, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 51, 1, 35, 33, 38, 49, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, 0, 3, 34, 18, 24, 28, -1, -1, -1, -1, -1, -1, -1, -1, 10, 12, 61, 56, 52, 44, 13, 20, 25, 29, -1, -1, -1, -1, -1, -1, -1, 8, 63, 7, 62, 58, 55, 46, 15, 23, 26, 30, 31, 16, 19, 21, 9, 60, 59, 57, 14, 5, 54, 48, 2, 4, 36, 37, 47, 41, -1}}, + /* 2Bu1 */ {4, 15, {20, 40, 28, 47, 32, 50, 30, 22, 33, 53, 39, 15, 13, 25, 31, 38, 35, 49, 41, 37, 0, 45, 24, 4, 42, 18, 23, 11, 1, 34, 17, 46, 6, 3, 36, 5, 10, 44, 2, 51, 16, 52, 48, 54, 19, 12, 55, 14, 60, 56, 57, 58, 61, 21, 8, 59, 9, 63, 62, 7}}, + /* 2Bv1 */ {4, 16, {26, 27, 29, 43, 47, 28, 40, 20, 22, 30, 50, 32, 15, 39, 53, 33, 38, 31, 25, 13, 37, 41, 49, 35, 4, 24, 45, 0, 11, 23, 18, 42, 46, 17, 34, 1, 5, 36, 3, 6, 51, 2, 44, 10, 54, 48, 52, 16, 14, 55, 12, 19, 58, 57, 56, 60, 59, 8, 21, 61, 7, 62, 63, 9}}, + /* 2Bv2 */ {4, 16, {26, 27, 29, 43, 47, 28, 40, 20, 22, 30, 50, 32, 15, 39, 53, 33, 38, 31, 25, 13, 37, 41, 49, 35, 4, 24, 45, 0, 11, 23, 18, 42, 46, 17, 34, 1, 5, 36, 3, 6, 51, 2, 44, 10, 54, 48, 52, 16, 14, 55, 12, 19, 58, 57, 56, 60, 59, 8, 21, 61, 7, 62, 63, 9}}, + /* 2Bv3 */ {4, 16, {26, 27, 29, 43, 47, 28, 40, 20, 22, 30, 50, 32, 15, 39, 53, 33, 38, 31, 25, 13, 37, 41, 49, 35, 4, 24, 45, 0, 11, 23, 18, 42, 46, 17, 34, 1, 5, 36, 3, 6, 51, 2, 44, 10, 54, 48, 52, 16, 14, 55, 12, 19, 58, 57, 56, 60, 59, 8, 21, 61, 7, 62, 63, 9}}, + /* 2Bv4 */ {4, 16, {26, 27, 29, 43, 47, 28, 40, 20, 22, 30, 50, 32, 15, 39, 53, 33, 38, 31, 25, 13, 37, 41, 49, 35, 4, 24, 45, 0, 11, 23, 18, 42, 46, 17, 34, 1, 5, 36, 3, 6, 51, 2, 44, 10, 54, 48, 52, 16, 14, 55, 12, 19, 58, 57, 56, 60, 59, 8, 21, 61, 7, 62, 63, 9}}, + /* 2Bv5 */ {4, 16, {26, 27, 29, 43, 47, 28, 40, 20, 22, 30, 50, 32, 15, 39, 53, 33, 38, 31, 25, 13, 37, 41, 49, 35, 4, 24, 45, 0, 11, 23, 18, 42, 46, 17, 34, 1, 5, 36, 3, 6, 51, 2, 44, 10, 54, 48, 52, 16, 14, 55, 12, 19, 58, 57, 56, 60, 59, 8, 21, 61, 7, 62, 63, 9}}}, + /* PS */ + {{0.75, 0.5}, + {1.5, 0.5}, + {3, 0.5}}}; } else { - return new CathodeSegmentation{1, false, - /* PG */ - {{1025, 10, 2, 105.125, -0.5}, {1026, 9, 2, 95.375, -0.5}, {1027, 3, 1, 89.375, -0.5}, {1028, 3, 1, 83.375, -0.5}, {1029, 3, 1, 77.375, -0.5}, {1030, 3, 1, 71.375, -0.5}, {1031, 3, 1, 65.375, -0.5}, {1032, 3, 1, 59.375, -0.5}, {1033, 3, 1, 53.375, -0.5}, {1034, 0, 0, 50.375, -0.5}, {1035, 0, 0, 47.375, -0.5}, {1036, 0, 0, 44.375, -0.5}, {1037, 0, 0, 41.375, -0.5}, {1038, 0, 0, 38.375, -0.5}, {1039, 0, 0, 35.375, -0.5}, {1040, 0, 0, 32.375, -0.5}, {1041, 0, 0, 29.375, -0.5}, {1042, 0, 0, 26.375, -0.5}, {1043, 26, 0, 22.625, -0.5}, {1051, 10, 2, 105.125, 7.5}, {1052, 9, 2, 95.375, 7.5}, {1053, 4, 1, 89.375, 7.5}, {1054, 4, 1, 83.375, 7.5}, {1055, 4, 1, 77.375, 7.5}, {1056, 4, 1, 71.375, 7.5}, {1057, 4, 1, 65.375, 7.5}, {1058, 4, 1, 59.375, 7.5}, {1059, 4, 1, 53.375, 7.5}, {1060, 1, 0, 50.375, 7.5}, {1061, 1, 0, 47.375, 7.5}, {1062, 1, 0, 44.375, 7.5}, {1063, 1, 0, 41.375, 7.5}, {1064, 1, 0, 38.375, 7.5}, {1065, 1, 0, 35.375, 7.5}, {1066, 1, 0, 32.375, 7.5}, {1067, 1, 0, 29.375, 7.5}, {1068, 1, 0, 26.375, 7.5}, {1069, 1, 0, 23.375, 7.5}, {1070, 23, 0, 18.125, 7.5}, {1077, 10, 2, 105.125, 15.5}, {1078, 9, 2, 95.375, 15.5}, {1079, 4, 1, 89.375, 15.5}, {1080, 4, 1, 83.375, 15.5}, {1081, 4, 1, 77.375, 15.5}, {1082, 4, 1, 71.375, 15.5}, {1083, 4, 1, 65.375, 15.5}, {1084, 4, 1, 59.375, 15.5}, {1085, 4, 1, 53.375, 15.5}, {1086, 1, 0, 50.375, 15.5}, {1087, 1, 0, 47.375, 15.5}, {1088, 1, 0, 44.375, 15.5}, {1089, 1, 0, 41.375, 15.5}, {1090, 1, 0, 38.375, 15.5}, {1091, 1, 0, 35.375, 15.5}, {1092, 1, 0, 32.375, 15.5}, {1093, 1, 0, 29.375, 15.5}, {1094, 1, 0, 26.375, 15.5}, {1095, 1, 0, 23.375, 15.5}, {1096, 1, 0, 20.375, 15.5}, {1097, 1, 0, 17.375, 15.5}, {1098, 24, 0, 13.625, 16}, {1099, 30, 0, 1.625, 19.5}, {1103, 13, 2, 107.375, 23.5}, {1104, 8, 2, 95.375, 23.5}, {1105, 6, 2, 83.375, 23.5}, {1106, 4, 1, 77.375, 23.5}, {1107, 4, 1, 71.375, 23.5}, {1108, 4, 1, 65.375, 23.5}, {1109, 4, 1, 59.375, 23.5}, {1110, 4, 1, 53.375, 23.5}, {1111, 4, 1, 47.375, 23.5}, {1112, 1, 0, 44.375, 23.5}, {1113, 1, 0, 41.375, 23.5}, {1114, 1, 0, 38.375, 23.5}, {1115, 1, 0, 35.375, 23.5}, {1116, 1, 0, 32.375, 23.5}, {1117, 1, 0, 29.375, 23.5}, {1118, 1, 0, 26.375, 23.5}, {1119, 1, 0, 23.375, 23.5}, {1120, 1, 0, 20.375, 23.5}, {1121, 1, 0, 17.375, 23.5}, {1122, 31, 0, 14.375, 24}, {1123, 32, 0, 11.375, 23.5}, {1124, 33, 0, 8.375, 23.5}, {1125, 34, 0, 5.375, 23.5}, {1126, 35, 0, 2.375, 23.5}, {1127, 36, 0, -0.625, 23.5}, {1129, 8, 2, 95.375, 31.5}, {1130, 6, 2, 83.375, 31.5}, {1131, 4, 1, 77.375, 31.5}, {1132, 4, 1, 71.375, 31.5}, {1133, 4, 1, 65.375, 31.5}, {1134, 4, 1, 59.375, 31.5}, {1135, 4, 1, 53.375, 31.5}, {1136, 4, 1, 47.375, 31.5}, {1137, 4, 1, 41.375, 31.5}, {1138, 1, 0, 38.375, 31.5}, {1139, 1, 0, 35.375, 31.5}, {1140, 1, 0, 32.375, 31.5}, {1141, 1, 0, 29.375, 31.5}, {1142, 1, 0, 26.375, 31.5}, {1143, 1, 0, 23.375, 31.5}, {1144, 1, 0, 20.375, 31.5}, {1145, 1, 0, 17.375, 31.5}, {1146, 1, 0, 14.375, 31.5}, {1147, 1, 0, 11.375, 31.5}, {1148, 1, 0, 8.375, 31.5}, {1149, 1, 0, 5.375, 31.5}, {1150, 1, 0, 2.375, 31.5}, {1151, 1, 0, -0.625, 31.5}, {1155, 14, 2, 95.375, 39.5}, {1156, 6, 2, 83.375, 39.5}, {1157, 4, 1, 77.375, 39.5}, {1158, 4, 1, 71.375, 39.5}, {1159, 4, 1, 65.375, 39.5}, {1160, 4, 1, 59.375, 39.5}, {1161, 4, 1, 53.375, 39.5}, {1162, 4, 1, 47.375, 39.5}, {1163, 4, 1, 41.375, 39.5}, {1164, 4, 1, 35.375, 39.5}, {1165, 1, 0, 32.375, 39.5}, {1166, 1, 0, 29.375, 39.5}, {1167, 1, 0, 26.375, 39.5}, {1168, 1, 0, 23.375, 39.5}, {1169, 1, 0, 20.375, 39.5}, {1170, 1, 0, 17.375, 39.5}, {1171, 1, 0, 14.375, 39.5}, {1172, 1, 0, 11.375, 39.5}, {1173, 1, 0, 8.375, 39.5}, {1174, 1, 0, 5.375, 39.5}, {1175, 1, 0, 2.375, 39.5}, {1176, 1, 0, -0.625, 39.5}, {1181, 15, 2, 95.375, 43.5}, {1182, 6, 2, 83.375, 47.5}, {1183, 4, 1, 77.375, 47.5}, {1184, 4, 1, 71.375, 47.5}, {1185, 4, 1, 65.375, 47.5}, {1186, 4, 1, 59.375, 47.5}, {1187, 4, 1, 53.375, 47.5}, {1188, 4, 1, 47.375, 47.5}, {1189, 4, 1, 41.375, 47.5}, {1190, 4, 1, 35.375, 47.5}, {1191, 4, 1, 29.375, 47.5}, {1192, 4, 1, 23.375, 47.5}, {1193, 1, 0, 20.375, 47.5}, {1194, 1, 0, 17.375, 47.5}, {1195, 1, 0, 14.375, 47.5}, {1196, 1, 0, 11.375, 47.5}, {1197, 1, 0, 8.375, 47.5}, {1198, 1, 0, 5.375, 47.5}, {1199, 1, 0, 2.375, 47.5}, {1200, 1, 0, -0.625, 47.5}, {1207, 16, 2, 94.625, 55.5}, {1208, 12, 2, 83.375, 55.5}, {1209, 7, 2, 71.375, 55.5}, {1210, 4, 1, 65.375, 55.5}, {1211, 4, 1, 59.375, 55.5}, {1212, 4, 1, 53.375, 55.5}, {1213, 4, 1, 47.375, 55.5}, {1214, 4, 1, 41.375, 55.5}, {1215, 4, 1, 35.375, 55.5}, {1216, 4, 1, 29.375, 55.5}, {1217, 4, 1, 23.375, 55.5}, {1218, 4, 1, 17.375, 55.5}, {1219, 4, 1, 11.375, 55.5}, {1220, 4, 1, 5.375, 55.5}, {1221, 4, 1, -0.625, 55.5}, {1225, 17, 2, 83.375, 63.5}, {1226, 7, 2, 71.375, 63.5}, {1227, 7, 2, 59.375, 63.5}, {1228, 4, 1, 53.375, 63.5}, {1229, 4, 1, 47.375, 63.5}, {1230, 4, 1, 41.375, 63.5}, {1231, 4, 1, 35.375, 63.5}, {1232, 4, 1, 29.375, 63.5}, {1233, 4, 1, 23.375, 63.5}, {1234, 4, 1, 17.375, 63.5}, {1235, 4, 1, 11.375, 63.5}, {1236, 4, 1, 5.375, 63.5}, {1237, 4, 1, -0.625, 63.5}, {1238, 18, 2, 83.375, 71.5}, {1239, 7, 2, 71.375, 71.5}, {1240, 7, 2, 59.375, 71.5}, {1241, 4, 1, 53.375, 71.5}, {1242, 4, 1, 47.375, 71.5}, {1243, 4, 1, 41.375, 71.5}, {1244, 4, 1, 35.375, 71.5}, {1245, 4, 1, 29.375, 71.5}, {1246, 4, 1, 23.375, 71.5}, {1247, 4, 1, 17.375, 71.5}, {1248, 4, 1, 11.375, 71.5}, {1249, 4, 1, 5.375, 71.5}, {1250, 4, 1, -0.625, 71.5}, {1251, 19, 2, 71.375, 79.5}, {1252, 37, 2, 65.375, 79.5}, {1253, 5, 2, 59.375, 79.5}, {1254, 5, 2, 53.375, 79.5}, {1255, 5, 2, 47.375, 79.5}, {1256, 5, 2, 41.375, 79.5}, {1257, 5, 2, 35.375, 79.5}, {1258, 5, 2, 29.375, 79.5}, {1259, 2, 1, 26.375, 79.5}, {1260, 2, 1, 23.375, 79.5}, {1261, 2, 1, 20.375, 79.5}, {1262, 2, 1, 17.375, 79.5}, {1263, 2, 1, 14.375, 79.5}, {1264, 2, 1, 11.375, 79.5}, {1265, 2, 1, 8.375, 79.5}, {1266, 2, 1, 5.375, 79.5}, {1267, 2, 1, 2.375, 79.5}, {1268, 2, 1, -0.625, 79.5}, {1270, 20, 2, 35.375, 95.5}, {1271, 25, 2, 32.375, 95.5}, {1272, 27, 2, 27.875, 95.5}, {1273, 28, 2, 23.375, 95.5}, {1274, 29, 2, 18.875, 95.5}, {1275, 11, 2, 15.125, 95.5}, {1276, 11, 2, 11.375, 95.5}, {1277, 11, 2, 7.625, 95.5}, {1278, 21, 2, 3.125, 95.5}, {1279, 22, 2, -0.625, 95.5}}, - /* PGT */ - {/* 2NA */ {4, 16, {19, 61, 7, 59, 16, 9, 60, 58, 12, 21, 62, 14, 52, 56, 63, 54, 0, 10, 8, 6, 2, 51, 57, 5, 3, 1, 55, 46, 11, 44, 48, 42, 13, 35, 4, 36, 32, 33, 34, 15, 20, 38, 17, 37, 45, 43, 23, 18, 49, 25, 24, 22, 50, 28, 27, 26, 53, 39, 30, 41, 29, 40, 31, 47}}, - /* 2NB */ {4, 16, {21, 9, 62, 60, 56, 61, 7, 59, 10, 19, 63, 57, 6, 16, 8, 54, 0, 12, 58, 14, 48, 52, 55, 51, 44, 1, 5, 46, 2, 3, 4, 42, 34, 35, 36, 11, 13, 33, 37, 15, 17, 20, 23, 18, 32, 45, 26, 47, 38, 49, 41, 24, 43, 53, 31, 22, 25, 29, 39, 28, 50, 40, 30, 27}}, - /* 2NC */ {4, 16, {56, 16, 58, 57, 12, 21, 8, 14, 52, 61, 60, 55, 51, 7, 62, 6, 0, 9, 63, 5, 1, 19, 59, 48, 42, 10, 54, 46, 3, 44, 2, 4, 35, 13, 34, 36, 11, 43, 22, 15, 33, 50, 27, 17, 32, 40, 31, 37, 18, 39, 30, 38, 20, 29, 28, 23, 45, 53, 41, 47, 25, 49, 26, 24}}, - /* 2NE */ {8, 8, {12, 21, 9, 63, 7, 8, 59, 14, 52, 19, 61, 62, 60, 16, 54, 6, 44, 10, 56, 58, 57, 55, 51, 46, 3, 1, 0, 5, 48, 2, 42, 4, 35, 33, 13, 36, 11, 34, 15, 17, 32, 20, 43, 23, 18, 22, 37, 38, 45, 25, 50, 26, 49, 24, 47, 27, 53, 29, 40, 31, 39, 30, 28, 41}}, - /* 2NF */ {8, 8, {19, 61, 9, 63, 7, 8, 59, 16, 12, 56, 21, 62, 60, 58, 57, 55, 0, 52, 10, 14, 54, 6, 5, 51, 1, 3, 44, 46, 48, 2, 42, 4, 33, 35, 13, 15, 17, 34, 11, 36, 32, 20, 43, 47, 22, 38, 37, 18, 45, 50, 53, 30, 28, 26, 24, 23, 25, 29, 40, 31, 39, 41, 27, 49}}, - /* 2NG */ {8, 8, {10, 56, 61, 7, 62, 60, 57, 55, 52, 12, 19, 9, 63, 59, 14, 51, 0, 6, 16, 21, 8, 58, 54, 5, 3, 1, 2, 44, 42, 4, 46, 48, 35, 33, 34, 13, 11, 36, 15, 17, 32, 38, 49, 53, 41, 26, 22, 37, 20, 45, 50, 40, 31, 27, 47, 18, 43, 25, 29, 39, 30, 28, 24, 23}}, - /* 2NH */ {16, 4, {12, 57, 56, 16, 19, 59, 21, 60, 61, 7, 9, 63, 62, 8, 58, 14, 3, 42, 44, 2, 1, 48, 0, 51, 52, 6, 10, 54, 55, 5, 46, 4, 35, 11, 13, 34, 33, 17, 32, 18, 20, 38, 43, 22, 23, 37, 15, 36, 45, 24, 25, 49, 50, 27, 53, 28, 29, 39, 40, 31, 30, 41, 26, 47}}, - /* 2NI */ {16, 4, {12, 57, 56, 16, 19, 59, 21, 60, 61, 7, 9, 63, 62, 8, 58, 14, 3, 42, 44, 2, 1, 48, 0, 51, 52, 6, 10, 54, 55, 5, 46, 4, 35, 11, 13, 34, 33, 17, 32, 18, 20, 38, 43, 22, 23, 37, 15, 36, 45, 24, 25, 49, 50, 27, 53, 28, 29, 39, 40, 31, 30, 41, 26, 47}}, - /* 2NJ */ {16, 4, {12, 19, 21, 9, 62, 61, 63, 7, 60, 8, 59, 56, 58, 16, 57, 14, 3, 44, 0, 52, 55, 10, 54, 6, 51, 5, 1, 48, 46, 2, 42, 4, 35, 13, 32, 20, 23, 43, 22, 38, 18, 37, 33, 17, 15, 34, 11, 36, 45, 50, 53, 40, 30, 29, 31, 39, 28, 41, 27, 25, 26, 49, 24, 47}}, - /* 2NK */ {13, 4, {12, 19, 21, 9, 62, 61, 63, 7, 60, 8, 59, 56, 58, 3, 44, 0, 52, 55, 10, 54, 6, 51, 5, 1, 48, 46, 35, 13, 32, 20, 23, 43, 22, 38, 18, 37, 33, 17, 15, 45, 50, 53, 29, 30, 40, 31, 39, 28, 41, 27, 25, 26}}, - /* 2NL */ {14, 4, {21, 9, 62, 61, 63, 7, 60, 8, 59, 56, 58, 16, 57, 14, 0, 52, 55, 10, 54, 6, 51, 5, 1, 48, 46, 2, 42, 4, 32, 20, 23, 43, 22, 38, 18, 37, 33, 17, 15, 34, 11, 36, 53, 40, 30, 29, 31, 39, 28, 41, 27, 25, 26, 49, 24, 47}}, - /* 2NM */ {5, 11, {56, 7, 62, 58, 6, 12, 9, 63, 16, 5, 52, 19, 60, 14, 48, 10, 61, 8, 54, 46, 57, 21, 59, 55, 2, 35, 3, 36, 42, 4, 45, 25, 26, 24, 34, 49, 40, 31, 47, 15, 50, 29, 39, 27, 17, 43, 28, 30, 23, 18, 22, 53, 41, 38, 37}}, - /* 2NN */ {15, 4, {12, 57, 56, 16, 19, 59, 21, 60, 61, 7, 9, 63, 62, 8, 58, 3, 42, 44, 2, 1, 48, 0, 51, 52, 6, 10, 54, 55, 5, 46, 35, 11, 13, 34, 33, 17, 32, 18, 20, 38, 43, 22, 23, 37, 15, 45, 24, 25, 49, 50, 27, 53, 28, 29, 39, 40, 31, 30, 41, 26}}, - /* 2Na1 */ {11, 8, {21, 9, 62, 61, 63, 7, 60, 8, 59, 56, 58, 19, 12, 55, 10, 54, 6, 51, 14, 57, 16, -1, 35, 20, 23, 43, 38, 37, 34, 36, 46, 5, -1, 32, 29, 30, 41, 24, 18, 15, 11, -1, -1, -1, 44, 50, 31, 27, 49, 33, 17, -1, -1, -1, -1, 2, 13, 40, 28, 47, 22, -1, -1, -1, -1, -1, 48, 42, 45, 39, 26, -1, -1, -1, -1, -1, -1, 0, 1, 3, 53, 25, -1, -1, -1, -1, -1, -1}}, - /* 2Nb1 */ {19, 4, {12, 19, 21, 9, 62, 61, 63, 7, 60, 8, 59, 56, 58, 57, 54, 46, 36, 15, 33, 3, 44, 0, 52, 55, 10, 6, 51, 5, 48, 2, 4, 11, 34, 17, 37, 18, 38, -1, -1, -1, 35, 13, 32, 20, 23, 43, 22, 47, 24, 49, 26, 25, 27, 41, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, 50, 53, 40, 30, 29, 31, 39, -1, -1, -1, -1}}, - /* 2Nc1 */ {14, 6, {60, 58, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, 59, 57, 6, 48, 2, 36, -1, -1, -1, -1, -1, -1, -1, 12, 19, 21, 9, 62, 61, 7, 8, 56, 16, 14, 5, 42, 15, 3, 44, 0, 52, 55, 10, 54, 51, 1, 46, 4, 11, 17, -1, 35, 13, 32, 20, 23, 47, 24, 49, 43, 22, 38, 18, -1, -1, 45, 50, 53, 40, 30, 29, 31, 28, 41, 27, 25, -1, -1, -1}}, - /* 2Nd1 */ {11, 6, {63, 7, 62, 60, 8, 59, 56, 58, 16, 57, 14, 10, 54, 55, 6, 51, 5, 1, 48, 46, 2, -1, 43, 22, 23, 38, 18, 33, 34, 4, 42, -1, -1, 31, 39, 41, 26, 47, 17, 11, 36, -1, -1, -1, -1, 30, 27, 49, 37, 15, -1, -1, -1, -1, -1, -1, 28, 25, 24, -1, -1, -1, -1, -1, -1, -1}}, - /* 2Ne1 */ {17, 4, {12, 19, 21, 9, 62, 61, 63, 7, 60, 8, 59, 56, 58, 16, 57, 14, -1, 3, 44, 0, 52, 55, 10, 54, 6, 51, 5, 1, 48, 46, 2, 42, 4, -1, 35, 13, 32, 20, 23, 43, 47, 22, 38, 18, 37, 33, 17, 15, 34, 11, 36, 45, 50, 53, 40, 30, 29, 31, 39, 28, 41, 27, 25, 26, 49, 24, -1, -1}}, - /* 2Nf1 */ {12, 4, {61, 9, 63, 7, 62, 60, 8, 59, 56, 58, 16, 57, 19, 12, 10, 54, 6, 5, 1, 48, 46, -1, -1, -1, 25, 45, 47, 22, 23, 38, -1, -1, -1, -1, -1, -1, 29, 40, 31, 30, -1, -1, -1, -1, -1, -1, -1, -1}}, - /* 2Ng1 */ {16, 6, {12, 19, 21, 9, 62, 61, 63, 7, 60, 8, 59, 56, 58, 16, 57, 14, 3, 44, 0, 52, 55, 10, 54, 6, 51, 5, 1, 48, 46, 2, -1, -1, 35, 13, 32, 20, 23, 43, 38, 37, 17, 15, 34, -1, -1, -1, -1, -1, 45, 50, 53, 40, 30, 27, 24, 22, 18, -1, -1, -1, -1, -1, -1, -1, 29, 31, 39, 28, 25, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}}, - /* 2Nj1 */ {16, 4, {12, 57, 56, 16, 19, 59, 21, 60, 61, 7, 9, 63, 62, 8, 58, 14, 3, 42, 44, 2, 1, 48, 0, 51, 52, 6, 10, 54, 55, 5, 46, 4, 35, 11, 13, 34, 33, 17, 32, 18, 20, 38, 43, 22, 23, 37, 15, 36, -1, 45, 25, 49, 50, 27, 53, 28, 29, 39, 40, 31, 30, 41, 26, 47}}, - /* 2Nk1 */ {6, 11, {-1, 56, 7, 62, 58, 6, -1, 12, 9, 63, 16, 5, -1, 52, 19, 60, 14, 48, -1, 10, 61, 8, 54, 46, -1, 57, 21, 59, 55, 42, 13, 35, 3, 4, 36, 11, 20, 45, 25, 26, 24, 34, -1, 50, 40, 31, 47, 15, -1, 49, 29, 39, 27, 17, -1, 43, 28, 30, 23, 18, -1, 22, 53, 41, 38, 37}}, - /* 2Nl1 */ {6, 11, {51, 56, 7, 62, 58, 6, 0, 12, 9, 63, 16, 5, 1, 52, 19, 60, 14, 48, 2, 10, 61, 8, 54, 46, 44, 57, 21, 59, 55, 42, 11, 35, 3, 4, 36, -1, 13, 45, 25, 26, 24, -1, 33, 50, 40, 31, 47, 34, 18, 49, 29, 39, 27, 15, 32, 43, 28, 30, 23, 17, 20, 22, 53, 41, 38, 37}}, - /* 2Nm1 */ {7, 16, {-1, -1, -1, -1, -1, 9, 59, -1, -1, -1, -1, -1, 60, 16, -1, -1, -1, -1, -1, 7, 57, -1, -1, -1, -1, 61, 62, 14, -1, -1, -1, -1, 21, 63, 54, -1, -1, -1, -1, 19, 8, 6, -1, -1, -1, -1, 56, 58, 51, -1, -1, -1, 12, 10, 55, 48, -1, -1, -1, 52, 0, 5, 46, -1, -1, -1, 1, 44, 4, 2, -1, -1, -1, 3, 35, 36, 42, -1, -1, 13, 17, 33, 37, 11, -1, -1, 32, 18, 20, 23, 34, -1, 38, 43, 22, 45, 26, 15, 27, 24, 25, 49, 50, 41, 47, 53, 28, 29, 39, 40, 31, 30}}, - /* 2Nn1 */ {5, 16, {-1, -1, -1, -1, 59, -1, -1, -1, 63, 7, -1, -1, -1, 21, 60, -1, -1, 19, 9, 6, -1, 0, 56, 61, 58, -1, 1, 12, 62, 57, 20, 44, 10, 8, 54, 45, 13, 52, 14, 5, 50, 17, 51, 55, 48, -1, 22, 3, 46, 2, -1, 43, 35, 4, 42, -1, 53, 33, 15, 38, -1, 27, 32, 37, 23, -1, -1, 24, 47, 49, -1, 28, 25, 26, 41, -1, 40, 29, 30, 39}}, - /* 2No1 */ {19, 7, {35, 44, 12, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 17, 42, 10, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, 3, 52, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, 34, 0, 56, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, 18, 13, 11, 1, 58, 16, 14, 57, 54, 55, 6, 5, 51, 59, 8, 60, 62, 7, 27, 49, 24, 20, 22, 36, 37, 23, 47, 26, 15, 4, -1, -1, -1, -1, -1, -1, -1, 53, 50, 25, 43, 45, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}}, - /* 2Np1 */ {5, 16, {-1, -1, -1, 60, 59, -1, -1, 9, 62, 58, -1, 21, 61, 7, 14, -1, 16, 19, 63, 54, -1, 12, 56, 8, 6, -1, 52, 10, 57, 5, -1, 0, 51, 55, 46, -1, 2, 1, 48, 42, -1, 44, 3, 4, 36, -1, 35, 11, 34, 15, -1, 13, 33, 17, 37, -1, 32, 38, 23, 18, -1, 20, 45, 24, 22, 43, 49, 50, 41, 47, 25, 28, 53, 30, 26, 39, 29, 40, 31, 27}}, - /* 2Nq1 */ {6, 8, {51, 56, 7, 62, 58, 6, 0, 12, 9, 63, 16, 5, 1, 52, 19, 60, 14, 48, 44, 10, 61, 8, 54, 46, 13, 57, 21, 59, 55, 2, 33, 35, 3, 36, 42, 4, 49, 45, 25, 26, 47, 23, 50, 53, 40, 31, 30, 41}}, - /* 2Nr1 */ {6, 9, {0, 56, 7, 62, 58, 6, 1, 12, 9, 63, 16, 5, 44, 52, 19, 60, 14, 48, 35, 10, 61, 8, 54, 46, 13, 57, 21, 59, 55, 2, 32, 33, 3, 36, 42, 4, 20, 45, 25, 47, 37, 15, 43, 49, 40, 30, 27, 23, 50, 53, 29, 31, 41, 26}}, - /* 2Ns1 */ {6, 10, {0, 56, 7, 62, 58, 6, 51, 12, 9, 63, 16, 5, 1, 52, 19, 60, 14, 48, 11, 10, 61, 8, 54, 46, 44, 57, 21, 59, 55, 2, 13, 35, 3, 36, 42, 4, 33, 45, 25, 26, 24, 34, 32, 49, 40, 31, 47, 15, 20, 50, 29, 39, 27, 17, 43, 53, 28, 30, 23, 37}}, - /* 2Nt1 */ {18, 8, {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 54, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 11, 42, 48, 10, 19, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 33, 3, 1, 6, 16, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, 32, 35, 2, 51, 57, 60, -1, -1, -1, -1, -1, -1, -1, -1, 43, 45, 29, 25, 20, 13, 44, 52, 56, 61, -1, -1, -1, -1, -1, -1, -1, 41, 31, 39, 30, 26, 23, 15, 46, 55, 58, 62, 63, 49, 50, 53, 40, 28, 27, 24, 47, 37, 22, 17, 34, 36, 4, 5, 14, 8, -1}}, - /* 2Nu1 */ {4, 15, {52, 9, 60, 14, 0, 19, 62, 54, 1, 21, 7, 46, 44, 56, 63, 6, 3, 16, 8, 5, 32, 12, 57, 36, 11, 51, 55, 42, 33, 2, 48, 15, 38, 35, 4, 37, 43, 13, 34, 18, 49, 20, 17, 22, 50, 45, 23, 47, 28, 25, 24, 26, 29, 53, 41, 27, 40, 31, 30, 39}}, - /* 2Nv1 */ {4, 16, {10, 61, 59, 58, 52, 9, 60, 14, 0, 19, 62, 54, 1, 21, 7, 46, 44, 56, 63, 6, 3, 16, 8, 5, 32, 12, 57, 36, 11, 51, 55, 42, 33, 2, 48, 15, 38, 35, 4, 37, 43, 13, 34, 18, 49, 20, 17, 22, 50, 45, 23, 47, 28, 25, 24, 26, 29, 53, 41, 27, 40, 31, 30, 39}}, - /* 2Nv2 */ {4, 16, {10, 61, 59, 58, 52, 9, 60, 14, 0, 19, 62, 54, 1, 21, 7, 46, 44, 56, 63, 6, 3, 16, 8, 5, 32, 12, 57, 36, 11, 51, 55, 42, 33, 2, 48, 15, 38, 35, 4, 37, 43, 13, 34, 18, 49, 20, 17, 22, 50, 45, 23, 47, 28, 25, 24, 26, 29, 53, 41, 27, 40, 31, 30, 39}}, - /* 2Nv3 */ {4, 16, {10, 61, 59, 58, 52, 9, 60, 14, 0, 19, 62, 54, 1, 21, 7, 46, 44, 56, 63, 6, 3, 16, 8, 5, 32, 12, 57, 36, 11, 51, 55, 42, 33, 2, 48, 15, 38, 35, 4, 37, 43, 13, 34, 18, 49, 20, 17, 22, 50, 45, 23, 47, 28, 25, 24, 26, 29, 53, 41, 27, 40, 31, 30, 39}}, - /* 2Nv4 */ {4, 16, {10, 61, 59, 58, 52, 9, 60, 14, 0, 19, 62, 54, 1, 21, 7, 46, 44, 56, 63, 6, 3, 16, 8, 5, 32, 12, 57, 36, 11, 51, 55, 42, 33, 2, 48, 15, 38, 35, 4, 37, 43, 13, 34, 18, 49, 20, 17, 22, 50, 45, 23, 47, 28, 25, 24, 26, 29, 53, 41, 27, 40, 31, 30, 39}}, - /* 2Nv5 */ {4, 16, {10, 61, 59, 58, 52, 9, 60, 14, 0, 19, 62, 54, 1, 21, 7, 46, 44, 56, 63, 6, 3, 16, 8, 5, 32, 12, 57, 36, 11, 51, 55, 42, 33, 2, 48, 15, 38, 35, 4, 37, 43, 13, 34, 18, 49, 20, 17, 22, 50, 45, 23, 47, 28, 25, 24, 26, 29, 53, 41, 27, 40, 31, 30, 39}}, - /* 2Nw1 */ {10, 8, {10, 56, 61, 7, 62, 60, 57, 55, -1, -1, 52, 12, 19, 9, 63, 59, 14, 51, -1, -1, 0, 6, 16, 21, 8, 58, 54, 5, -1, -1, 3, 1, 2, 44, 42, 4, 46, 48, -1, -1, 35, 33, 34, 13, 11, 36, 15, 17, -1, -1, 32, 38, 49, 53, 41, 26, 47, 23, 18, 37, 20, 45, 50, 40, 31, 27, 24, 22, -1, -1, 43, 25, 29, 39, 30, 28, -1, -1, -1, -1}}}, - /* PS */ - {{0.75, 0.5}, {0.75, 1}, {0.75, 2}}}; + return new CathodeSegmentation{ + 1, + false, + /* PG */ + {{1025, 10, 2, 105.125, -0.5}, + {1026, 9, 2, 95.375, -0.5}, + {1027, 3, 1, 89.375, -0.5}, + {1028, 3, 1, 83.375, -0.5}, + {1029, 3, 1, 77.375, -0.5}, + {1030, 3, 1, 71.375, -0.5}, + {1031, 3, 1, 65.375, -0.5}, + {1032, 3, 1, 59.375, -0.5}, + {1033, 3, 1, 53.375, -0.5}, + {1034, 0, 0, 50.375, -0.5}, + {1035, 0, 0, 47.375, -0.5}, + {1036, 0, 0, 44.375, -0.5}, + {1037, 0, 0, 41.375, -0.5}, + {1038, 0, 0, 38.375, -0.5}, + {1039, 0, 0, 35.375, -0.5}, + {1040, 0, 0, 32.375, -0.5}, + {1041, 0, 0, 29.375, -0.5}, + {1042, 0, 0, 26.375, -0.5}, + {1043, 26, 0, 22.625, -0.5}, + {1051, 10, 2, 105.125, 7.5}, + {1052, 9, 2, 95.375, 7.5}, + {1053, 4, 1, 89.375, 7.5}, + {1054, 4, 1, 83.375, 7.5}, + {1055, 4, 1, 77.375, 7.5}, + {1056, 4, 1, 71.375, 7.5}, + {1057, 4, 1, 65.375, 7.5}, + {1058, 4, 1, 59.375, 7.5}, + {1059, 4, 1, 53.375, 7.5}, + {1060, 1, 0, 50.375, 7.5}, + {1061, 1, 0, 47.375, 7.5}, + {1062, 1, 0, 44.375, 7.5}, + {1063, 1, 0, 41.375, 7.5}, + {1064, 1, 0, 38.375, 7.5}, + {1065, 1, 0, 35.375, 7.5}, + {1066, 1, 0, 32.375, 7.5}, + {1067, 1, 0, 29.375, 7.5}, + {1068, 1, 0, 26.375, 7.5}, + {1069, 1, 0, 23.375, 7.5}, + {1070, 23, 0, 18.125, 7.5}, + {1077, 10, 2, 105.125, 15.5}, + {1078, 9, 2, 95.375, 15.5}, + {1079, 4, 1, 89.375, 15.5}, + {1080, 4, 1, 83.375, 15.5}, + {1081, 4, 1, 77.375, 15.5}, + {1082, 4, 1, 71.375, 15.5}, + {1083, 4, 1, 65.375, 15.5}, + {1084, 4, 1, 59.375, 15.5}, + {1085, 4, 1, 53.375, 15.5}, + {1086, 1, 0, 50.375, 15.5}, + {1087, 1, 0, 47.375, 15.5}, + {1088, 1, 0, 44.375, 15.5}, + {1089, 1, 0, 41.375, 15.5}, + {1090, 1, 0, 38.375, 15.5}, + {1091, 1, 0, 35.375, 15.5}, + {1092, 1, 0, 32.375, 15.5}, + {1093, 1, 0, 29.375, 15.5}, + {1094, 1, 0, 26.375, 15.5}, + {1095, 1, 0, 23.375, 15.5}, + {1096, 1, 0, 20.375, 15.5}, + {1097, 1, 0, 17.375, 15.5}, + {1098, 24, 0, 13.625, 16}, + {1099, 30, 0, 1.625, 19.5}, + {1103, 13, 2, 107.375, 23.5}, + {1104, 8, 2, 95.375, 23.5}, + {1105, 6, 2, 83.375, 23.5}, + {1106, 4, 1, 77.375, 23.5}, + {1107, 4, 1, 71.375, 23.5}, + {1108, 4, 1, 65.375, 23.5}, + {1109, 4, 1, 59.375, 23.5}, + {1110, 4, 1, 53.375, 23.5}, + {1111, 4, 1, 47.375, 23.5}, + {1112, 1, 0, 44.375, 23.5}, + {1113, 1, 0, 41.375, 23.5}, + {1114, 1, 0, 38.375, 23.5}, + {1115, 1, 0, 35.375, 23.5}, + {1116, 1, 0, 32.375, 23.5}, + {1117, 1, 0, 29.375, 23.5}, + {1118, 1, 0, 26.375, 23.5}, + {1119, 1, 0, 23.375, 23.5}, + {1120, 1, 0, 20.375, 23.5}, + {1121, 1, 0, 17.375, 23.5}, + {1122, 31, 0, 14.375, 24}, + {1123, 32, 0, 11.375, 23.5}, + {1124, 33, 0, 8.375, 23.5}, + {1125, 34, 0, 5.375, 23.5}, + {1126, 35, 0, 2.375, 23.5}, + {1127, 36, 0, -0.625, 23.5}, + {1129, 8, 2, 95.375, 31.5}, + {1130, 6, 2, 83.375, 31.5}, + {1131, 4, 1, 77.375, 31.5}, + {1132, 4, 1, 71.375, 31.5}, + {1133, 4, 1, 65.375, 31.5}, + {1134, 4, 1, 59.375, 31.5}, + {1135, 4, 1, 53.375, 31.5}, + {1136, 4, 1, 47.375, 31.5}, + {1137, 4, 1, 41.375, 31.5}, + {1138, 1, 0, 38.375, 31.5}, + {1139, 1, 0, 35.375, 31.5}, + {1140, 1, 0, 32.375, 31.5}, + {1141, 1, 0, 29.375, 31.5}, + {1142, 1, 0, 26.375, 31.5}, + {1143, 1, 0, 23.375, 31.5}, + {1144, 1, 0, 20.375, 31.5}, + {1145, 1, 0, 17.375, 31.5}, + {1146, 1, 0, 14.375, 31.5}, + {1147, 1, 0, 11.375, 31.5}, + {1148, 1, 0, 8.375, 31.5}, + {1149, 1, 0, 5.375, 31.5}, + {1150, 1, 0, 2.375, 31.5}, + {1151, 1, 0, -0.625, 31.5}, + {1155, 14, 2, 95.375, 39.5}, + {1156, 6, 2, 83.375, 39.5}, + {1157, 4, 1, 77.375, 39.5}, + {1158, 4, 1, 71.375, 39.5}, + {1159, 4, 1, 65.375, 39.5}, + {1160, 4, 1, 59.375, 39.5}, + {1161, 4, 1, 53.375, 39.5}, + {1162, 4, 1, 47.375, 39.5}, + {1163, 4, 1, 41.375, 39.5}, + {1164, 4, 1, 35.375, 39.5}, + {1165, 1, 0, 32.375, 39.5}, + {1166, 1, 0, 29.375, 39.5}, + {1167, 1, 0, 26.375, 39.5}, + {1168, 1, 0, 23.375, 39.5}, + {1169, 1, 0, 20.375, 39.5}, + {1170, 1, 0, 17.375, 39.5}, + {1171, 1, 0, 14.375, 39.5}, + {1172, 1, 0, 11.375, 39.5}, + {1173, 1, 0, 8.375, 39.5}, + {1174, 1, 0, 5.375, 39.5}, + {1175, 1, 0, 2.375, 39.5}, + {1176, 1, 0, -0.625, 39.5}, + {1181, 15, 2, 95.375, 43.5}, + {1182, 6, 2, 83.375, 47.5}, + {1183, 4, 1, 77.375, 47.5}, + {1184, 4, 1, 71.375, 47.5}, + {1185, 4, 1, 65.375, 47.5}, + {1186, 4, 1, 59.375, 47.5}, + {1187, 4, 1, 53.375, 47.5}, + {1188, 4, 1, 47.375, 47.5}, + {1189, 4, 1, 41.375, 47.5}, + {1190, 4, 1, 35.375, 47.5}, + {1191, 4, 1, 29.375, 47.5}, + {1192, 4, 1, 23.375, 47.5}, + {1193, 1, 0, 20.375, 47.5}, + {1194, 1, 0, 17.375, 47.5}, + {1195, 1, 0, 14.375, 47.5}, + {1196, 1, 0, 11.375, 47.5}, + {1197, 1, 0, 8.375, 47.5}, + {1198, 1, 0, 5.375, 47.5}, + {1199, 1, 0, 2.375, 47.5}, + {1200, 1, 0, -0.625, 47.5}, + {1207, 16, 2, 94.625, 55.5}, + {1208, 12, 2, 83.375, 55.5}, + {1209, 7, 2, 71.375, 55.5}, + {1210, 4, 1, 65.375, 55.5}, + {1211, 4, 1, 59.375, 55.5}, + {1212, 4, 1, 53.375, 55.5}, + {1213, 4, 1, 47.375, 55.5}, + {1214, 4, 1, 41.375, 55.5}, + {1215, 4, 1, 35.375, 55.5}, + {1216, 4, 1, 29.375, 55.5}, + {1217, 4, 1, 23.375, 55.5}, + {1218, 4, 1, 17.375, 55.5}, + {1219, 4, 1, 11.375, 55.5}, + {1220, 4, 1, 5.375, 55.5}, + {1221, 4, 1, -0.625, 55.5}, + {1225, 17, 2, 83.375, 63.5}, + {1226, 7, 2, 71.375, 63.5}, + {1227, 7, 2, 59.375, 63.5}, + {1228, 4, 1, 53.375, 63.5}, + {1229, 4, 1, 47.375, 63.5}, + {1230, 4, 1, 41.375, 63.5}, + {1231, 4, 1, 35.375, 63.5}, + {1232, 4, 1, 29.375, 63.5}, + {1233, 4, 1, 23.375, 63.5}, + {1234, 4, 1, 17.375, 63.5}, + {1235, 4, 1, 11.375, 63.5}, + {1236, 4, 1, 5.375, 63.5}, + {1237, 4, 1, -0.625, 63.5}, + {1238, 18, 2, 83.375, 71.5}, + {1239, 7, 2, 71.375, 71.5}, + {1240, 7, 2, 59.375, 71.5}, + {1241, 4, 1, 53.375, 71.5}, + {1242, 4, 1, 47.375, 71.5}, + {1243, 4, 1, 41.375, 71.5}, + {1244, 4, 1, 35.375, 71.5}, + {1245, 4, 1, 29.375, 71.5}, + {1246, 4, 1, 23.375, 71.5}, + {1247, 4, 1, 17.375, 71.5}, + {1248, 4, 1, 11.375, 71.5}, + {1249, 4, 1, 5.375, 71.5}, + {1250, 4, 1, -0.625, 71.5}, + {1251, 19, 2, 71.375, 79.5}, + {1252, 37, 2, 65.375, 79.5}, + {1253, 5, 2, 59.375, 79.5}, + {1254, 5, 2, 53.375, 79.5}, + {1255, 5, 2, 47.375, 79.5}, + {1256, 5, 2, 41.375, 79.5}, + {1257, 5, 2, 35.375, 79.5}, + {1258, 5, 2, 29.375, 79.5}, + {1259, 2, 1, 26.375, 79.5}, + {1260, 2, 1, 23.375, 79.5}, + {1261, 2, 1, 20.375, 79.5}, + {1262, 2, 1, 17.375, 79.5}, + {1263, 2, 1, 14.375, 79.5}, + {1264, 2, 1, 11.375, 79.5}, + {1265, 2, 1, 8.375, 79.5}, + {1266, 2, 1, 5.375, 79.5}, + {1267, 2, 1, 2.375, 79.5}, + {1268, 2, 1, -0.625, 79.5}, + {1270, 20, 2, 35.375, 95.5}, + {1271, 25, 2, 32.375, 95.5}, + {1272, 27, 2, 27.875, 95.5}, + {1273, 28, 2, 23.375, 95.5}, + {1274, 29, 2, 18.875, 95.5}, + {1275, 11, 2, 15.125, 95.5}, + {1276, 11, 2, 11.375, 95.5}, + {1277, 11, 2, 7.625, 95.5}, + {1278, 21, 2, 3.125, 95.5}, + {1279, 22, 2, -0.625, 95.5}}, + /* PGT */ + {/* 2NA */ {4, 16, {19, 61, 7, 59, 16, 9, 60, 58, 12, 21, 62, 14, 52, 56, 63, 54, 0, 10, 8, 6, 2, 51, 57, 5, 3, 1, 55, 46, 11, 44, 48, 42, 13, 35, 4, 36, 32, 33, 34, 15, 20, 38, 17, 37, 45, 43, 23, 18, 49, 25, 24, 22, 50, 28, 27, 26, 53, 39, 30, 41, 29, 40, 31, 47}}, + /* 2NB */ {4, 16, {21, 9, 62, 60, 56, 61, 7, 59, 10, 19, 63, 57, 6, 16, 8, 54, 0, 12, 58, 14, 48, 52, 55, 51, 44, 1, 5, 46, 2, 3, 4, 42, 34, 35, 36, 11, 13, 33, 37, 15, 17, 20, 23, 18, 32, 45, 26, 47, 38, 49, 41, 24, 43, 53, 31, 22, 25, 29, 39, 28, 50, 40, 30, 27}}, + /* 2NC */ {4, 16, {56, 16, 58, 57, 12, 21, 8, 14, 52, 61, 60, 55, 51, 7, 62, 6, 0, 9, 63, 5, 1, 19, 59, 48, 42, 10, 54, 46, 3, 44, 2, 4, 35, 13, 34, 36, 11, 43, 22, 15, 33, 50, 27, 17, 32, 40, 31, 37, 18, 39, 30, 38, 20, 29, 28, 23, 45, 53, 41, 47, 25, 49, 26, 24}}, + /* 2NE */ {8, 8, {12, 21, 9, 63, 7, 8, 59, 14, 52, 19, 61, 62, 60, 16, 54, 6, 44, 10, 56, 58, 57, 55, 51, 46, 3, 1, 0, 5, 48, 2, 42, 4, 35, 33, 13, 36, 11, 34, 15, 17, 32, 20, 43, 23, 18, 22, 37, 38, 45, 25, 50, 26, 49, 24, 47, 27, 53, 29, 40, 31, 39, 30, 28, 41}}, + /* 2NF */ {8, 8, {19, 61, 9, 63, 7, 8, 59, 16, 12, 56, 21, 62, 60, 58, 57, 55, 0, 52, 10, 14, 54, 6, 5, 51, 1, 3, 44, 46, 48, 2, 42, 4, 33, 35, 13, 15, 17, 34, 11, 36, 32, 20, 43, 47, 22, 38, 37, 18, 45, 50, 53, 30, 28, 26, 24, 23, 25, 29, 40, 31, 39, 41, 27, 49}}, + /* 2NG */ {8, 8, {10, 56, 61, 7, 62, 60, 57, 55, 52, 12, 19, 9, 63, 59, 14, 51, 0, 6, 16, 21, 8, 58, 54, 5, 3, 1, 2, 44, 42, 4, 46, 48, 35, 33, 34, 13, 11, 36, 15, 17, 32, 38, 49, 53, 41, 26, 22, 37, 20, 45, 50, 40, 31, 27, 47, 18, 43, 25, 29, 39, 30, 28, 24, 23}}, + /* 2NH */ {16, 4, {12, 57, 56, 16, 19, 59, 21, 60, 61, 7, 9, 63, 62, 8, 58, 14, 3, 42, 44, 2, 1, 48, 0, 51, 52, 6, 10, 54, 55, 5, 46, 4, 35, 11, 13, 34, 33, 17, 32, 18, 20, 38, 43, 22, 23, 37, 15, 36, 45, 24, 25, 49, 50, 27, 53, 28, 29, 39, 40, 31, 30, 41, 26, 47}}, + /* 2NI */ {16, 4, {12, 57, 56, 16, 19, 59, 21, 60, 61, 7, 9, 63, 62, 8, 58, 14, 3, 42, 44, 2, 1, 48, 0, 51, 52, 6, 10, 54, 55, 5, 46, 4, 35, 11, 13, 34, 33, 17, 32, 18, 20, 38, 43, 22, 23, 37, 15, 36, 45, 24, 25, 49, 50, 27, 53, 28, 29, 39, 40, 31, 30, 41, 26, 47}}, + /* 2NJ */ {16, 4, {12, 19, 21, 9, 62, 61, 63, 7, 60, 8, 59, 56, 58, 16, 57, 14, 3, 44, 0, 52, 55, 10, 54, 6, 51, 5, 1, 48, 46, 2, 42, 4, 35, 13, 32, 20, 23, 43, 22, 38, 18, 37, 33, 17, 15, 34, 11, 36, 45, 50, 53, 40, 30, 29, 31, 39, 28, 41, 27, 25, 26, 49, 24, 47}}, + /* 2NK */ {13, 4, {12, 19, 21, 9, 62, 61, 63, 7, 60, 8, 59, 56, 58, 3, 44, 0, 52, 55, 10, 54, 6, 51, 5, 1, 48, 46, 35, 13, 32, 20, 23, 43, 22, 38, 18, 37, 33, 17, 15, 45, 50, 53, 29, 30, 40, 31, 39, 28, 41, 27, 25, 26}}, + /* 2NL */ {14, 4, {21, 9, 62, 61, 63, 7, 60, 8, 59, 56, 58, 16, 57, 14, 0, 52, 55, 10, 54, 6, 51, 5, 1, 48, 46, 2, 42, 4, 32, 20, 23, 43, 22, 38, 18, 37, 33, 17, 15, 34, 11, 36, 53, 40, 30, 29, 31, 39, 28, 41, 27, 25, 26, 49, 24, 47}}, + /* 2NM */ {5, 11, {56, 7, 62, 58, 6, 12, 9, 63, 16, 5, 52, 19, 60, 14, 48, 10, 61, 8, 54, 46, 57, 21, 59, 55, 2, 35, 3, 36, 42, 4, 45, 25, 26, 24, 34, 49, 40, 31, 47, 15, 50, 29, 39, 27, 17, 43, 28, 30, 23, 18, 22, 53, 41, 38, 37}}, + /* 2NN */ {15, 4, {12, 57, 56, 16, 19, 59, 21, 60, 61, 7, 9, 63, 62, 8, 58, 3, 42, 44, 2, 1, 48, 0, 51, 52, 6, 10, 54, 55, 5, 46, 35, 11, 13, 34, 33, 17, 32, 18, 20, 38, 43, 22, 23, 37, 15, 45, 24, 25, 49, 50, 27, 53, 28, 29, 39, 40, 31, 30, 41, 26}}, + /* 2Na1 */ {11, 8, {21, 9, 62, 61, 63, 7, 60, 8, 59, 56, 58, 19, 12, 55, 10, 54, 6, 51, 14, 57, 16, -1, 35, 20, 23, 43, 38, 37, 34, 36, 46, 5, -1, 32, 29, 30, 41, 24, 18, 15, 11, -1, -1, -1, 44, 50, 31, 27, 49, 33, 17, -1, -1, -1, -1, 2, 13, 40, 28, 47, 22, -1, -1, -1, -1, -1, 48, 42, 45, 39, 26, -1, -1, -1, -1, -1, -1, 0, 1, 3, 53, 25, -1, -1, -1, -1, -1, -1}}, + /* 2Nb1 */ {19, 4, {12, 19, 21, 9, 62, 61, 63, 7, 60, 8, 59, 56, 58, 57, 54, 46, 36, 15, 33, 3, 44, 0, 52, 55, 10, 6, 51, 5, 48, 2, 4, 11, 34, 17, 37, 18, 38, -1, -1, -1, 35, 13, 32, 20, 23, 43, 22, 47, 24, 49, 26, 25, 27, 41, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, 50, 53, 40, 30, 29, 31, 39, -1, -1, -1, -1}}, + /* 2Nc1 */ {14, 6, {60, 58, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, 59, 57, 6, 48, 2, 36, -1, -1, -1, -1, -1, -1, -1, 12, 19, 21, 9, 62, 61, 7, 8, 56, 16, 14, 5, 42, 15, 3, 44, 0, 52, 55, 10, 54, 51, 1, 46, 4, 11, 17, -1, 35, 13, 32, 20, 23, 47, 24, 49, 43, 22, 38, 18, -1, -1, 45, 50, 53, 40, 30, 29, 31, 28, 41, 27, 25, -1, -1, -1}}, + /* 2Nd1 */ {11, 6, {63, 7, 62, 60, 8, 59, 56, 58, 16, 57, 14, 10, 54, 55, 6, 51, 5, 1, 48, 46, 2, -1, 43, 22, 23, 38, 18, 33, 34, 4, 42, -1, -1, 31, 39, 41, 26, 47, 17, 11, 36, -1, -1, -1, -1, 30, 27, 49, 37, 15, -1, -1, -1, -1, -1, -1, 28, 25, 24, -1, -1, -1, -1, -1, -1, -1}}, + /* 2Ne1 */ {17, 4, {12, 19, 21, 9, 62, 61, 63, 7, 60, 8, 59, 56, 58, 16, 57, 14, -1, 3, 44, 0, 52, 55, 10, 54, 6, 51, 5, 1, 48, 46, 2, 42, 4, -1, 35, 13, 32, 20, 23, 43, 47, 22, 38, 18, 37, 33, 17, 15, 34, 11, 36, 45, 50, 53, 40, 30, 29, 31, 39, 28, 41, 27, 25, 26, 49, 24, -1, -1}}, + /* 2Nf1 */ {12, 4, {61, 9, 63, 7, 62, 60, 8, 59, 56, 58, 16, 57, 19, 12, 10, 54, 6, 5, 1, 48, 46, -1, -1, -1, 25, 45, 47, 22, 23, 38, -1, -1, -1, -1, -1, -1, 29, 40, 31, 30, -1, -1, -1, -1, -1, -1, -1, -1}}, + /* 2Ng1 */ {16, 6, {12, 19, 21, 9, 62, 61, 63, 7, 60, 8, 59, 56, 58, 16, 57, 14, 3, 44, 0, 52, 55, 10, 54, 6, 51, 5, 1, 48, 46, 2, -1, -1, 35, 13, 32, 20, 23, 43, 38, 37, 17, 15, 34, -1, -1, -1, -1, -1, 45, 50, 53, 40, 30, 27, 24, 22, 18, -1, -1, -1, -1, -1, -1, -1, 29, 31, 39, 28, 25, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}}, + /* 2Nj1 */ {16, 4, {12, 57, 56, 16, 19, 59, 21, 60, 61, 7, 9, 63, 62, 8, 58, 14, 3, 42, 44, 2, 1, 48, 0, 51, 52, 6, 10, 54, 55, 5, 46, 4, 35, 11, 13, 34, 33, 17, 32, 18, 20, 38, 43, 22, 23, 37, 15, 36, -1, 45, 25, 49, 50, 27, 53, 28, 29, 39, 40, 31, 30, 41, 26, 47}}, + /* 2Nk1 */ {6, 11, {-1, 56, 7, 62, 58, 6, -1, 12, 9, 63, 16, 5, -1, 52, 19, 60, 14, 48, -1, 10, 61, 8, 54, 46, -1, 57, 21, 59, 55, 42, 13, 35, 3, 4, 36, 11, 20, 45, 25, 26, 24, 34, -1, 50, 40, 31, 47, 15, -1, 49, 29, 39, 27, 17, -1, 43, 28, 30, 23, 18, -1, 22, 53, 41, 38, 37}}, + /* 2Nl1 */ {6, 11, {51, 56, 7, 62, 58, 6, 0, 12, 9, 63, 16, 5, 1, 52, 19, 60, 14, 48, 2, 10, 61, 8, 54, 46, 44, 57, 21, 59, 55, 42, 11, 35, 3, 4, 36, -1, 13, 45, 25, 26, 24, -1, 33, 50, 40, 31, 47, 34, 18, 49, 29, 39, 27, 15, 32, 43, 28, 30, 23, 17, 20, 22, 53, 41, 38, 37}}, + /* 2Nm1 */ {7, 16, {-1, -1, -1, -1, -1, 9, 59, -1, -1, -1, -1, -1, 60, 16, -1, -1, -1, -1, -1, 7, 57, -1, -1, -1, -1, 61, 62, 14, -1, -1, -1, -1, 21, 63, 54, -1, -1, -1, -1, 19, 8, 6, -1, -1, -1, -1, 56, 58, 51, -1, -1, -1, 12, 10, 55, 48, -1, -1, -1, 52, 0, 5, 46, -1, -1, -1, 1, 44, 4, 2, -1, -1, -1, 3, 35, 36, 42, -1, -1, 13, 17, 33, 37, 11, -1, -1, 32, 18, 20, 23, 34, -1, 38, 43, 22, 45, 26, 15, 27, 24, 25, 49, 50, 41, 47, 53, 28, 29, 39, 40, 31, 30}}, + /* 2Nn1 */ {5, 16, {-1, -1, -1, -1, 59, -1, -1, -1, 63, 7, -1, -1, -1, 21, 60, -1, -1, 19, 9, 6, -1, 0, 56, 61, 58, -1, 1, 12, 62, 57, 20, 44, 10, 8, 54, 45, 13, 52, 14, 5, 50, 17, 51, 55, 48, -1, 22, 3, 46, 2, -1, 43, 35, 4, 42, -1, 53, 33, 15, 38, -1, 27, 32, 37, 23, -1, -1, 24, 47, 49, -1, 28, 25, 26, 41, -1, 40, 29, 30, 39}}, + /* 2No1 */ {19, 7, {35, 44, 12, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 17, 42, 10, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, 3, 52, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, 34, 0, 56, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, 18, 13, 11, 1, 58, 16, 14, 57, 54, 55, 6, 5, 51, 59, 8, 60, 62, 7, 27, 49, 24, 20, 22, 36, 37, 23, 47, 26, 15, 4, -1, -1, -1, -1, -1, -1, -1, 53, 50, 25, 43, 45, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}}, + /* 2Np1 */ {5, 16, {-1, -1, -1, 60, 59, -1, -1, 9, 62, 58, -1, 21, 61, 7, 14, -1, 16, 19, 63, 54, -1, 12, 56, 8, 6, -1, 52, 10, 57, 5, -1, 0, 51, 55, 46, -1, 2, 1, 48, 42, -1, 44, 3, 4, 36, -1, 35, 11, 34, 15, -1, 13, 33, 17, 37, -1, 32, 38, 23, 18, -1, 20, 45, 24, 22, 43, 49, 50, 41, 47, 25, 28, 53, 30, 26, 39, 29, 40, 31, 27}}, + /* 2Nq1 */ {6, 8, {51, 56, 7, 62, 58, 6, 0, 12, 9, 63, 16, 5, 1, 52, 19, 60, 14, 48, 44, 10, 61, 8, 54, 46, 13, 57, 21, 59, 55, 2, 33, 35, 3, 36, 42, 4, 49, 45, 25, 26, 47, 23, 50, 53, 40, 31, 30, 41}}, + /* 2Nr1 */ {6, 9, {0, 56, 7, 62, 58, 6, 1, 12, 9, 63, 16, 5, 44, 52, 19, 60, 14, 48, 35, 10, 61, 8, 54, 46, 13, 57, 21, 59, 55, 2, 32, 33, 3, 36, 42, 4, 20, 45, 25, 47, 37, 15, 43, 49, 40, 30, 27, 23, 50, 53, 29, 31, 41, 26}}, + /* 2Ns1 */ {6, 10, {0, 56, 7, 62, 58, 6, 51, 12, 9, 63, 16, 5, 1, 52, 19, 60, 14, 48, 11, 10, 61, 8, 54, 46, 44, 57, 21, 59, 55, 2, 13, 35, 3, 36, 42, 4, 33, 45, 25, 26, 24, 34, 32, 49, 40, 31, 47, 15, 20, 50, 29, 39, 27, 17, 43, 53, 28, 30, 23, 37}}, + /* 2Nt1 */ {18, 8, {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 54, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 11, 42, 48, 10, 19, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 33, 3, 1, 6, 16, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, 32, 35, 2, 51, 57, 60, -1, -1, -1, -1, -1, -1, -1, -1, 43, 45, 29, 25, 20, 13, 44, 52, 56, 61, -1, -1, -1, -1, -1, -1, -1, 41, 31, 39, 30, 26, 23, 15, 46, 55, 58, 62, 63, 49, 50, 53, 40, 28, 27, 24, 47, 37, 22, 17, 34, 36, 4, 5, 14, 8, -1}}, + /* 2Nu1 */ {4, 15, {52, 9, 60, 14, 0, 19, 62, 54, 1, 21, 7, 46, 44, 56, 63, 6, 3, 16, 8, 5, 32, 12, 57, 36, 11, 51, 55, 42, 33, 2, 48, 15, 38, 35, 4, 37, 43, 13, 34, 18, 49, 20, 17, 22, 50, 45, 23, 47, 28, 25, 24, 26, 29, 53, 41, 27, 40, 31, 30, 39}}, + /* 2Nv1 */ {4, 16, {10, 61, 59, 58, 52, 9, 60, 14, 0, 19, 62, 54, 1, 21, 7, 46, 44, 56, 63, 6, 3, 16, 8, 5, 32, 12, 57, 36, 11, 51, 55, 42, 33, 2, 48, 15, 38, 35, 4, 37, 43, 13, 34, 18, 49, 20, 17, 22, 50, 45, 23, 47, 28, 25, 24, 26, 29, 53, 41, 27, 40, 31, 30, 39}}, + /* 2Nv2 */ {4, 16, {10, 61, 59, 58, 52, 9, 60, 14, 0, 19, 62, 54, 1, 21, 7, 46, 44, 56, 63, 6, 3, 16, 8, 5, 32, 12, 57, 36, 11, 51, 55, 42, 33, 2, 48, 15, 38, 35, 4, 37, 43, 13, 34, 18, 49, 20, 17, 22, 50, 45, 23, 47, 28, 25, 24, 26, 29, 53, 41, 27, 40, 31, 30, 39}}, + /* 2Nv3 */ {4, 16, {10, 61, 59, 58, 52, 9, 60, 14, 0, 19, 62, 54, 1, 21, 7, 46, 44, 56, 63, 6, 3, 16, 8, 5, 32, 12, 57, 36, 11, 51, 55, 42, 33, 2, 48, 15, 38, 35, 4, 37, 43, 13, 34, 18, 49, 20, 17, 22, 50, 45, 23, 47, 28, 25, 24, 26, 29, 53, 41, 27, 40, 31, 30, 39}}, + /* 2Nv4 */ {4, 16, {10, 61, 59, 58, 52, 9, 60, 14, 0, 19, 62, 54, 1, 21, 7, 46, 44, 56, 63, 6, 3, 16, 8, 5, 32, 12, 57, 36, 11, 51, 55, 42, 33, 2, 48, 15, 38, 35, 4, 37, 43, 13, 34, 18, 49, 20, 17, 22, 50, 45, 23, 47, 28, 25, 24, 26, 29, 53, 41, 27, 40, 31, 30, 39}}, + /* 2Nv5 */ {4, 16, {10, 61, 59, 58, 52, 9, 60, 14, 0, 19, 62, 54, 1, 21, 7, 46, 44, 56, 63, 6, 3, 16, 8, 5, 32, 12, 57, 36, 11, 51, 55, 42, 33, 2, 48, 15, 38, 35, 4, 37, 43, 13, 34, 18, 49, 20, 17, 22, 50, 45, 23, 47, 28, 25, 24, 26, 29, 53, 41, 27, 40, 31, 30, 39}}, + /* 2Nw1 */ {10, 8, {10, 56, 61, 7, 62, 60, 57, 55, -1, -1, 52, 12, 19, 9, 63, 59, 14, 51, -1, -1, 0, 6, 16, 21, 8, 58, 54, 5, -1, -1, 3, 1, 2, 44, 42, 4, 46, 48, -1, -1, 35, 33, 34, 13, 11, 36, 15, 17, -1, -1, 32, 38, 49, 53, 41, 26, 47, 23, 18, 37, 20, 45, 50, 40, 31, 27, 24, 22, -1, -1, 43, 25, 29, 39, 30, 28, -1, -1, -1, -1}}}, + /* PS */ + {{0.75, 0.5}, + {0.75, 1}, + {0.75, 2}}}; } } class CathodeSegmentationCreatorRegisterCreateSegType1 { public: - CathodeSegmentationCreatorRegisterCreateSegType1() { registerCathodeSegmentationCreator(1, createSegType1); } + CathodeSegmentationCreatorRegisterCreateSegType1() + { + registerCathodeSegmentationCreator(1, createSegType1); + } } aCathodeSegmentationCreatorRegisterCreateSegType1; } // namespace impl4 diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType10.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType10.cxx index 7aa9994c436f4..b616749501279 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType10.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType10.cxx @@ -29,7 +29,56 @@ CathodeSegmentation* createSegType10(bool isBendingPlane) 10, true, /* PG */ - {{1, 3, 0, -100, -20}, {2, 12, 0, -97.5, -20}, {3, 6, 0, -92.5, -20}, {4, 13, 0, -90, -20}, {5, 4, 0, -85, -20}, {6, 3, 0, -80, -20}, {7, 12, 0, -77.5, -20}, {8, 6, 0, -72.5, -20}, {9, 13, 0, -70, -20}, {10, 4, 0, -65, -20}, {18, 3, 1, -60, -20}, {19, 12, 1, -55, -20}, {20, 6, 1, -45, -20}, {21, 13, 1, -40, -20}, {22, 4, 1, -30, -20}, {103, 8, 2, 60, -20}, {104, 8, 2, 80, -20}, {107, 8, 2, 20, -20}, {108, 8, 2, 40, -20}, {112, 3, 1, -20, -20}, {113, 12, 1, -15, -20}, {114, 6, 1, -5, -20}, {115, 13, 1, 0, -20}, {116, 4, 1, 10, -20}, {201, 0, 2, 80, -4}, {202, 7, 2, 70, 4}, {203, 5, 2, 60, -4}, {206, 0, 2, 40, -4}, {207, 7, 2, 30, 4}, {208, 5, 2, 20, -4}, {211, 2, 1, 10, 0}, {212, 11, 1, 0, 0}, {213, 9, 1, -5, 4}, {214, 10, 1, -15, 0}, {215, 1, 1, -20, 0}, {308, 2, 0, -65, 0}, {309, 11, 0, -70, 0}, {310, 9, 0, -72.5, 4}, {311, 10, 0, -77.5, 0}, {312, 1, 0, -80, 0}, {313, 2, 0, -85, 0}, {314, 11, 0, -90, 0}, {315, 9, 0, -92.5, 4}, {316, 10, 0, -97.5, 0}, {317, 1, 0, -100, 0}, {321, 2, 1, -30, 0}, {322, 11, 1, -40, 0}, {323, 9, 1, -45, 4}, {324, 10, 1, -55, 0}, {325, 1, 1, -60, 0}}, + {{1, 3, 0, -100, -20}, + {2, 12, 0, -97.5, -20}, + {3, 6, 0, -92.5, -20}, + {4, 13, 0, -90, -20}, + {5, 4, 0, -85, -20}, + {6, 3, 0, -80, -20}, + {7, 12, 0, -77.5, -20}, + {8, 6, 0, -72.5, -20}, + {9, 13, 0, -70, -20}, + {10, 4, 0, -65, -20}, + {18, 3, 1, -60, -20}, + {19, 12, 1, -55, -20}, + {20, 6, 1, -45, -20}, + {21, 13, 1, -40, -20}, + {22, 4, 1, -30, -20}, + {103, 8, 2, 60, -20}, + {104, 8, 2, 80, -20}, + {107, 8, 2, 20, -20}, + {108, 8, 2, 40, -20}, + {112, 3, 1, -20, -20}, + {113, 12, 1, -15, -20}, + {114, 6, 1, -5, -20}, + {115, 13, 1, 0, -20}, + {116, 4, 1, 10, -20}, + {201, 0, 2, 80, -4}, + {202, 7, 2, 70, 4}, + {203, 5, 2, 60, -4}, + {206, 0, 2, 40, -4}, + {207, 7, 2, 30, 4}, + {208, 5, 2, 20, -4}, + {211, 2, 1, 10, 0}, + {212, 11, 1, 0, 0}, + {213, 9, 1, -5, 4}, + {214, 10, 1, -15, 0}, + {215, 1, 1, -20, 0}, + {308, 2, 0, -65, 0}, + {309, 11, 0, -70, 0}, + {310, 9, 0, -72.5, 4}, + {311, 10, 0, -77.5, 0}, + {312, 1, 0, -80, 0}, + {313, 2, 0, -85, 0}, + {314, 11, 0, -90, 0}, + {315, 9, 0, -92.5, 4}, + {316, 10, 0, -97.5, 0}, + {317, 1, 0, -100, 0}, + {321, 2, 1, -30, 0}, + {322, 11, 1, -40, 0}, + {323, 9, 1, -45, 4}, + {324, 10, 1, -55, 0}, + {325, 1, 1, -60, 0}}, /* PGT */ {/* L10 */ {2, 48, {35, 36, 38, 33, 41, 34, 44, 37, 45, 32, 47, 39, 50, 40, 51, 42, 53, 43, 56, 46, 57, 48, 59, 49, 60, 52, 61, 54, 62, 55, 63, 58, -1, 31, -1, 30, -1, 29, -1, 28, -1, 27, -1, 26, -1, 24, -1, 23, -1, 20, -1, 21, -1, 16, -1, 19, -1, 12, -1, 14, -1, 11, -1, 13, -1, 7, -1, 8, -1, 5, -1, 2, -1, 6, -1, 1, -1, 3, -1, 0, -1, 4, -1, 9, -1, 10, -1, 15, -1, 17, -1, 18, -1, 22, -1, 25}}, /* L5 */ {2, 40, {23, 20, 24, 21, 26, 16, 27, 19, 28, 12, 29, 14, 30, 11, 31, 13, 58, 7, 55, 8, 54, 5, 52, 2, 49, 6, 48, 1, 46, 3, 43, 0, 42, 4, 40, 9, 39, 10, 32, 15, 37, 17, 34, 18, 33, 22, 36, 25, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, -1, 53, -1, 56, -1, 57, -1, 59, -1, 60, -1, 61, -1, 62, -1, 63, -1}}, @@ -44,19 +93,11 @@ CathodeSegmentation* createSegType10(bool isBendingPlane) /* Z1 */ {3, 40, {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}, /* Z2 */ {3, 40, {53, 51, -1, 56, 50, -1, 57, 47, -1, 59, 45, -1, 60, 44, -1, 61, 41, -1, 62, 38, -1, 63, 35, -1, -1, 36, -1, -1, 33, -1, -1, 34, -1, -1, 37, -1, -1, 32, -1, -1, 39, -1, -1, 40, -1, -1, 42, -1, -1, 43, -1, -1, 46, -1, -1, 48, -1, -1, 49, -1, -1, 52, -1, -1, 54, -1, -1, 55, -1, -1, 58, -1, -1, 31, 25, -1, 30, 22, -1, 29, 18, -1, 28, 17, -1, 27, 15, -1, 26, 10, -1, 24, 9, -1, 23, 4, -1, 20, 0, -1, 21, 3, -1, 16, 1, -1, 19, 6, -1, 12, 2, -1, 14, 5, -1, 11, 8, -1, 13, 7}}, /* Z3 */ {3, 40, {7, 13, -1, 8, 11, -1, 5, 14, -1, 2, 12, -1, 6, 19, -1, 1, 16, -1, 3, 21, -1, 0, 20, -1, 4, 23, -1, 9, 24, -1, 10, 26, -1, 15, 27, -1, 17, 28, -1, 18, 29, -1, 22, 30, -1, 25, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, -1, -1, 37, -1, -1, 34, -1, -1, 33, -1, -1, 36, -1, -1, 35, 63, -1, 38, 62, -1, 41, 61, -1, 44, 60, -1, 45, 59, -1, 47, 57, -1, 50, 56, -1, 51, 53}}, - /* Z4 */ - {3, - 40, - {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, - -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, - -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, - -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, - -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, - -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, - -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, - 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, + /* Z4 */ {3, 40, {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, /* PS */ - {{2.5, 0.5}, {5, 0.5}, {10, 0.5}}}; + {{2.5, 0.5}, + {5, 0.5}, + {10, 0.5}}}; } else { return new CathodeSegmentation{ 10, @@ -120,7 +161,9 @@ CathodeSegmentation* createSegType10(bool isBendingPlane) /* Q3 */ {16, 5, {-1, -1, 56, 45, 36, 39, 48, 58, 28, 23, 19, 13, 2, 0, 15, 25, -1, -1, 57, 47, 35, 32, 46, 55, 29, 24, 16, 11, 5, 3, 10, 22, -1, -1, 59, 50, 38, 37, 43, 54, 30, 26, 21, 14, 8, 1, 9, 18, -1, -1, 60, 51, 41, 34, 42, 52, 31, 27, 20, 12, 7, 6, 4, 17, 63, 62, 61, 53, 44, 33, 40, 49, -1, -1, -1, -1, -1, -1, -1, -1}}, /* Q4 */ {16, 5, {60, 53, 45, 35, 37, 42, 49, 58, 27, 21, 11, 2, 4, 18, -1, -1, 61, 56, 47, 38, 34, 40, 48, 55, 28, 20, 14, 5, 0, 17, -1, -1, 62, 57, 50, 41, 33, 39, 46, 54, 29, 23, 12, 8, 3, 15, -1, -1, 63, 59, 51, 44, 36, 32, 43, 52, 30, 24, 19, 7, 1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, 26, 16, 13, 6, 9, 22, 25}}}, /* PS */ - {{0.714285714, 2.5}, {0.714285714, 5}, {0.714285714, 10}}}; + {{0.714285714, 2.5}, + {0.714285714, 5}, + {0.714285714, 10}}}; } } class CathodeSegmentationCreatorRegisterCreateSegType10 diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType11.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType11.cxx index 376447f9c78a2..2d268592f8574 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType11.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType11.cxx @@ -29,10 +29,75 @@ CathodeSegmentation* createSegType11(bool isBendingPlane) 11, true, /* PG */ - {{1, 10, 0, 80, -20}, {9, 17, 0, 40, -20}, {10, 25, 0, 42.5, -20}, {11, 19, 0, 47.5, -20}, {12, 26, 0, 50, -20}, {13, 18, 0, 55, -20}, {14, 17, 0, 60, -20}, {15, 25, 0, 62.5, -20}, {16, 19, 0, 67.5, -20}, {17, 26, 0, 70, -20}, {18, 18, 0, 75, -20}, {22, 17, 1, 0, -20}, {23, 25, 1, 5, -20}, {24, 19, 1, 15, -20}, {25, 26, 1, 20, -20}, {26, 18, 1, 30, -20}, {101, 13, 2, -120, -20}, {102, 21, 2, -110, -20}, {103, 14, 2, -100, -20}, {106, 13, 2, -80, -20}, {107, 21, 2, -70, -20}, {108, 14, 2, -60, -20}, {111, 17, 1, -40, -20}, {112, 25, 1, -35, -20}, {113, 19, 1, -25, -20}, {114, 26, 1, -20, -20}, {115, 18, 1, -10, -20}, {203, 20, 2, -100, 4}, {204, 20, 2, -120, 4}, {207, 20, 2, -60, 4}, {208, 20, 2, -80, 4}, {212, 16, 1, -10, 0}, {213, 24, 1, -20, 0}, {214, 22, 1, -25, 4}, {215, 23, 1, -35, 0}, {216, 15, 1, -40, 0}, {311, 16, 0, 75, 0}, {312, 24, 0, 70, 0}, {313, 22, 0, 67.5, 4}, {314, 23, 0, 62.5, 0}, {315, 15, 0, 60, 0}, {316, 16, 0, 55, 0}, {317, 24, 0, 50, 0}, {318, 22, 0, 47.5, 4}, {319, 23, 0, 42.5, 0}, {320, 15, 0, 40, 0}, {328, 16, 1, 30, 0}, {329, 24, 1, 20, 0}, {330, 22, 1, 15, 4}, {331, 23, 1, 5, 0}, {332, 15, 1, 0, 0}, {401, 11, 0, 112.5, 0.5}, {402, 12, 0, 110, 0}, {403, 0, 0, 105, -1.5}, {404, 1, 0, 102.5, -2.5}, {405, 2, 0, 100, -3.5}, {406, 3, 0, 95, -6.5}, {407, 4, 0, 95, -5}, {407, 27, 0, 95, -8.5}, {407, 28, 0, 92.5, -9.5}, {408, 5, 0, 92.5, -8.5}, {408, 29, 0, 90, -11}, {409, 6, 0, 90, -10}, {410, 7, 0, 87.5, -12}, {411, 7, 0, 85, -12}, {412, 8, 0, 82.5, -11.5}, {413, 9, 0, 80, -11.5}}, + {{1, 10, 0, 80, -20}, + {9, 17, 0, 40, -20}, + {10, 25, 0, 42.5, -20}, + {11, 19, 0, 47.5, -20}, + {12, 26, 0, 50, -20}, + {13, 18, 0, 55, -20}, + {14, 17, 0, 60, -20}, + {15, 25, 0, 62.5, -20}, + {16, 19, 0, 67.5, -20}, + {17, 26, 0, 70, -20}, + {18, 18, 0, 75, -20}, + {22, 17, 1, 0, -20}, + {23, 25, 1, 5, -20}, + {24, 19, 1, 15, -20}, + {25, 26, 1, 20, -20}, + {26, 18, 1, 30, -20}, + {101, 13, 2, -120, -20}, + {102, 21, 2, -110, -20}, + {103, 14, 2, -100, -20}, + {106, 13, 2, -80, -20}, + {107, 21, 2, -70, -20}, + {108, 14, 2, -60, -20}, + {111, 17, 1, -40, -20}, + {112, 25, 1, -35, -20}, + {113, 19, 1, -25, -20}, + {114, 26, 1, -20, -20}, + {115, 18, 1, -10, -20}, + {203, 20, 2, -100, 4}, + {204, 20, 2, -120, 4}, + {207, 20, 2, -60, 4}, + {208, 20, 2, -80, 4}, + {212, 16, 1, -10, 0}, + {213, 24, 1, -20, 0}, + {214, 22, 1, -25, 4}, + {215, 23, 1, -35, 0}, + {216, 15, 1, -40, 0}, + {311, 16, 0, 75, 0}, + {312, 24, 0, 70, 0}, + {313, 22, 0, 67.5, 4}, + {314, 23, 0, 62.5, 0}, + {315, 15, 0, 60, 0}, + {316, 16, 0, 55, 0}, + {317, 24, 0, 50, 0}, + {318, 22, 0, 47.5, 4}, + {319, 23, 0, 42.5, 0}, + {320, 15, 0, 40, 0}, + {328, 16, 1, 30, 0}, + {329, 24, 1, 20, 0}, + {330, 22, 1, 15, 4}, + {331, 23, 1, 5, 0}, + {332, 15, 1, 0, 0}, + {401, 11, 0, 112.5, 0.5}, + {402, 12, 0, 110, 0}, + {403, 0, 0, 105, -1.5}, + {404, 1, 0, 102.5, -2.5}, + {405, 2, 0, 100, -3.5}, + {406, 3, 0, 95, -6.5}, + {407, 4, 0, 95, -5}, + {407, 27, 0, 95, -8.5}, + {407, 28, 0, 92.5, -9.5}, + {408, 5, 0, 92.5, -8.5}, + {408, 29, 0, 90, -11}, + {409, 6, 0, 90, -10}, + {410, 7, 0, 87.5, -12}, + {411, 7, 0, 85, -12}, + {412, 8, 0, 82.5, -11.5}, + {413, 9, 0, 80, -11.5}}, /* PGT */ - {/* E10 */ { - 4, 43, {-1, 34, -1, -1, -1, 37, -1, -1, -1, 32, 18, -1, -1, 39, -1, -1, -1, 40, -1, -1, -1, 42, -1, -1, -1, 48, -1, -1, -1, 49, -1, -1, -1, 52, -1, -1, -1, 54, -1, -1, -1, 19, -1, -1, -1, 12, -1, -1, -1, 14, -1, -1, 63, 11, -1, -1, 62, 13, -1, -1, 61, 7, -1, -1, 60, 8, -1, -1, 53, 5, -1, -1, 51, 3, -1, -1, 50, 0, -1, -1, 47, 4, -1, -1, 45, 9, -1, -1, 44, 17, -1, -1, 33, 15, -1, -1, 36, 10, -1, -1, 41, 2, -1, -1, 59, 55, -1, -1, -1, 43, 22, -1, -1, 38, 6, -1, -1, 57, 58, -1, -1, -1, 46, 25, -1, -1, 35, 1, -1, -1, 56, 16, -1, -1, -1, 21, -1, -1, -1, 20, -1, -1, -1, 23, -1, -1, -1, 24, -1, -1, -1, 26, -1, -1, -1, 27, -1, -1, -1, 28, -1, -1, -1, 29, -1, -1, -1, 30, -1, -1, -1, 31}}, + {/* E10 */ {4, 43, {-1, 34, -1, -1, -1, 37, -1, -1, -1, 32, 18, -1, -1, 39, -1, -1, -1, 40, -1, -1, -1, 42, -1, -1, -1, 48, -1, -1, -1, 49, -1, -1, -1, 52, -1, -1, -1, 54, -1, -1, -1, 19, -1, -1, -1, 12, -1, -1, -1, 14, -1, -1, 63, 11, -1, -1, 62, 13, -1, -1, 61, 7, -1, -1, 60, 8, -1, -1, 53, 5, -1, -1, 51, 3, -1, -1, 50, 0, -1, -1, 47, 4, -1, -1, 45, 9, -1, -1, 44, 17, -1, -1, 33, 15, -1, -1, 36, 10, -1, -1, 41, 2, -1, -1, 59, 55, -1, -1, -1, 43, 22, -1, -1, 38, 6, -1, -1, 57, 58, -1, -1, -1, 46, 25, -1, -1, 35, 1, -1, -1, 56, 16, -1, -1, -1, 21, -1, -1, -1, 20, -1, -1, -1, 23, -1, -1, -1, 24, -1, -1, -1, 26, -1, -1, -1, 27, -1, -1, -1, 28, -1, -1, -1, 29, -1, -1, -1, 30, -1, -1, -1, 31}}, /* E11 */ {4, 45, {-1, 12, -1, -1, -1, 14, -1, -1, -1, 11, -1, -1, -1, 13, -1, -1, -1, 7, -1, -1, -1, 2, -1, -1, -1, 6, -1, -1, -1, 1, -1, -1, -1, 3, -1, -1, -1, 0, -1, -1, 51, 4, -1, -1, 50, 9, -1, -1, 41, 18, -1, -1, 38, 22, -1, -1, 35, 25, -1, -1, 36, -1, -1, -1, 33, -1, -1, -1, 34, -1, -1, -1, 37, -1, -1, -1, 32, -1, -1, -1, 43, -1, -1, -1, 46, -1, -1, -1, 48, -1, -1, -1, 49, -1, -1, -1, 52, -1, -1, -1, 21, -1, -1, -1, 16, -1, -1, -1, 19, -1, -1, -1, 54, -1, -1, -1, 39, 10, -1, -1, 47, 8, -1, -1, -1, 55, -1, -1, -1, 40, 15, -1, -1, 45, 5, -1, -1, -1, 58, -1, -1, -1, 42, 17, -1, -1, 44, 20, -1, -1, 53, 23, -1, -1, 56, 24, -1, -1, 57, 26, -1, -1, 59, 27, -1, -1, 60, 28, -1, -1, 61, 29, -1, -1, 62, 30, -1, -1, 63, 31}}, /* E12 */ {3, 47, {56, 5, -1, 53, 2, -1, 51, 6, -1, 50, 1, -1, 47, 3, -1, 41, 0, -1, 38, 10, -1, 35, 15, -1, 36, 17, -1, 33, 18, -1, 34, 22, -1, 37, 25, -1, 42, -1, -1, 43, -1, -1, 46, -1, -1, 48, -1, -1, 49, -1, -1, 52, -1, -1, 54, -1, -1, 30, -1, -1, 29, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 8, -1, -1, 7, -1, -1, 14, -1, -1, 12, -1, -1, 28, -1, -1, 55, -1, -1, 32, 4, -1, 45, 11, -1, -1, 27, -1, -1, 58, 9, -1, 39, 13, -1, 44, 26, -1, -1, 31, -1, -1, 40, -1, -1, 57, -1, -1, 59, -1, -1, 60, -1, -1, 61, -1, -1, 62, -1, -1, 63}}, /* E13 */ {4, 53, {-1, 60, -1, -1, 61, 59, -1, -1, 62, 57, -1, -1, -1, 56, 15, -1, -1, 50, 22, -1, -1, 47, 25, -1, -1, 45, -1, -1, -1, 44, -1, -1, -1, 41, -1, -1, -1, 38, -1, -1, -1, 35, -1, -1, -1, 34, -1, -1, -1, 10, -1, -1, -1, 9, -1, -1, -1, 4, -1, -1, -1, 0, -1, -1, -1, 3, -1, -1, -1, 1, -1, -1, -1, 5, -1, -1, -1, 8, -1, -1, -1, 7, -1, -1, -1, 13, -1, -1, -1, 11, -1, -1, -1, 14, -1, -1, -1, 16, -1, -1, -1, 21, -1, -1, -1, 20, -1, -1, -1, 23, -1, -1, -1, 24, -1, -1, -1, 26, -1, -1, -1, 55, -1, -1, -1, 54, -1, -1, -1, 52, -1, -1, -1, 49, -1, -1, -1, 48, -1, -1, -1, 43, -1, -1, -1, 42, -1, -1, -1, 40, -1, -1, -1, 39, -1, -1, -1, 32, -1, -1, -1, 37, -1, -1, -1, 36, 17, -1, -1, 53, 2, -1, -1, -1, 19, -1, -1, -1, 58, -1, -1, -1, 46, 18, -1, -1, 33, 6, -1, -1, 51, 12, -1, -1, 63, 27, -1, -1, -1, 28, -1, -1, -1, 29, -1, -1, -1, 30, -1, -1, -1, 31}}, @@ -63,7 +128,9 @@ CathodeSegmentation* createSegType11(bool isBendingPlane) /* E14 */ {1, 2, {62, 63}}, /* E15 */ {2, 3, {-1, 62, 63, 61, -1, 60}}}, /* PS */ - {{2.5, 0.5}, {5, 0.5}, {10, 0.5}}}; + {{2.5, 0.5}, + {5, 0.5}, + {10, 0.5}}}; } else { return new CathodeSegmentation{ 11, @@ -145,7 +212,9 @@ CathodeSegmentation* createSegType11(bool isBendingPlane) /* Q3 */ {16, 5, {-1, -1, 56, 45, 36, 39, 48, 58, 28, 23, 19, 13, 2, 0, 15, 25, -1, -1, 57, 47, 35, 32, 46, 55, 29, 24, 16, 11, 5, 3, 10, 22, -1, -1, 59, 50, 38, 37, 43, 54, 30, 26, 21, 14, 8, 1, 9, 18, -1, -1, 60, 51, 41, 34, 42, 52, 31, 27, 20, 12, 7, 6, 4, 17, 63, 62, 61, 53, 44, 33, 40, 49, -1, -1, -1, -1, -1, -1, -1, -1}}, /* Q4 */ {16, 5, {60, 53, 45, 35, 37, 42, 49, 58, 27, 21, 11, 2, 4, 18, -1, -1, 61, 56, 47, 38, 34, 40, 48, 55, 28, 20, 14, 5, 0, 17, -1, -1, 62, 57, 50, 41, 33, 39, 46, 54, 29, 23, 12, 8, 3, 15, -1, -1, 63, 59, 51, 44, 36, 32, 43, 52, 30, 24, 19, 7, 1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, 26, 16, 13, 6, 9, 22, 25}}}, /* PS */ - {{0.714285714, 2.5}, {0.714285714, 5}, {0.714285714, 10}}}; + {{0.714285714, 2.5}, + {0.714285714, 5}, + {0.714285714, 10}}}; } } class CathodeSegmentationCreatorRegisterCreateSegType11 diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType12.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType12.cxx index 83db3a7b77399..e57a7dcd5c600 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType12.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType12.cxx @@ -29,7 +29,71 @@ CathodeSegmentation* createSegType12(bool isBendingPlane) 12, true, /* PG */ - {{1, 3, 0, -100, -20}, {2, 12, 0, -97.5, -20}, {3, 6, 0, -92.5, -20}, {4, 13, 0, -90, -20}, {5, 4, 0, -85, -20}, {6, 3, 0, -80, -20}, {7, 12, 0, -77.5, -20}, {8, 6, 0, -72.5, -20}, {9, 13, 0, -70, -20}, {10, 4, 0, -65, -20}, {18, 3, 0, -60, -20}, {19, 12, 0, -57.5, -20}, {20, 6, 0, -52.5, -20}, {21, 13, 0, -50, -20}, {22, 4, 0, -45, -20}, {23, 3, 0, -40, -20}, {24, 12, 0, -37.5, -20}, {25, 6, 0, -32.5, -20}, {26, 13, 0, -30, -20}, {27, 4, 0, -25, -20}, {103, 8, 2, 60, -20}, {104, 8, 2, 80, -20}, {108, 3, 1, 20, -20}, {109, 12, 1, 25, -20}, {110, 6, 1, 35, -20}, {111, 13, 1, 40, -20}, {112, 4, 1, 50, -20}, {116, 3, 1, -20, -20}, {117, 12, 1, -15, -20}, {118, 6, 1, -5, -20}, {119, 13, 1, 0, -20}, {120, 4, 1, 10, -20}, {201, 0, 2, 80, -4}, {202, 7, 2, 70, 4}, {203, 5, 2, 60, -4}, {206, 2, 1, 50, 0}, {207, 11, 1, 40, 0}, {208, 9, 1, 35, 4}, {209, 10, 1, 25, 0}, {210, 1, 1, 20, 0}, {215, 2, 1, 10, 0}, {216, 11, 1, 0, 0}, {217, 9, 1, -5, 4}, {218, 10, 1, -15, 0}, {219, 1, 1, -20, 0}, {308, 2, 0, -65, 0}, {309, 11, 0, -70, 0}, {310, 9, 0, -72.5, 4}, {311, 10, 0, -77.5, 0}, {312, 1, 0, -80, 0}, {313, 2, 0, -85, 0}, {314, 11, 0, -90, 0}, {315, 9, 0, -92.5, 4}, {316, 10, 0, -97.5, 0}, {317, 1, 0, -100, 0}, {325, 2, 0, -25, 0}, {326, 11, 0, -30, 0}, {327, 9, 0, -32.5, 4}, {328, 10, 0, -37.5, 0}, {329, 1, 0, -40, 0}, {330, 2, 0, -45, 0}, {331, 11, 0, -50, 0}, {332, 9, 0, -52.5, 4}, {333, 10, 0, -57.5, 0}, {334, 1, 0, -60, 0}}, + {{1, 3, 0, -100, -20}, + {2, 12, 0, -97.5, -20}, + {3, 6, 0, -92.5, -20}, + {4, 13, 0, -90, -20}, + {5, 4, 0, -85, -20}, + {6, 3, 0, -80, -20}, + {7, 12, 0, -77.5, -20}, + {8, 6, 0, -72.5, -20}, + {9, 13, 0, -70, -20}, + {10, 4, 0, -65, -20}, + {18, 3, 0, -60, -20}, + {19, 12, 0, -57.5, -20}, + {20, 6, 0, -52.5, -20}, + {21, 13, 0, -50, -20}, + {22, 4, 0, -45, -20}, + {23, 3, 0, -40, -20}, + {24, 12, 0, -37.5, -20}, + {25, 6, 0, -32.5, -20}, + {26, 13, 0, -30, -20}, + {27, 4, 0, -25, -20}, + {103, 8, 2, 60, -20}, + {104, 8, 2, 80, -20}, + {108, 3, 1, 20, -20}, + {109, 12, 1, 25, -20}, + {110, 6, 1, 35, -20}, + {111, 13, 1, 40, -20}, + {112, 4, 1, 50, -20}, + {116, 3, 1, -20, -20}, + {117, 12, 1, -15, -20}, + {118, 6, 1, -5, -20}, + {119, 13, 1, 0, -20}, + {120, 4, 1, 10, -20}, + {201, 0, 2, 80, -4}, + {202, 7, 2, 70, 4}, + {203, 5, 2, 60, -4}, + {206, 2, 1, 50, 0}, + {207, 11, 1, 40, 0}, + {208, 9, 1, 35, 4}, + {209, 10, 1, 25, 0}, + {210, 1, 1, 20, 0}, + {215, 2, 1, 10, 0}, + {216, 11, 1, 0, 0}, + {217, 9, 1, -5, 4}, + {218, 10, 1, -15, 0}, + {219, 1, 1, -20, 0}, + {308, 2, 0, -65, 0}, + {309, 11, 0, -70, 0}, + {310, 9, 0, -72.5, 4}, + {311, 10, 0, -77.5, 0}, + {312, 1, 0, -80, 0}, + {313, 2, 0, -85, 0}, + {314, 11, 0, -90, 0}, + {315, 9, 0, -92.5, 4}, + {316, 10, 0, -97.5, 0}, + {317, 1, 0, -100, 0}, + {325, 2, 0, -25, 0}, + {326, 11, 0, -30, 0}, + {327, 9, 0, -32.5, 4}, + {328, 10, 0, -37.5, 0}, + {329, 1, 0, -40, 0}, + {330, 2, 0, -45, 0}, + {331, 11, 0, -50, 0}, + {332, 9, 0, -52.5, 4}, + {333, 10, 0, -57.5, 0}, + {334, 1, 0, -60, 0}}, /* PGT */ {/* L10 */ {2, 48, {35, 36, 38, 33, 41, 34, 44, 37, 45, 32, 47, 39, 50, 40, 51, 42, 53, 43, 56, 46, 57, 48, 59, 49, 60, 52, 61, 54, 62, 55, 63, 58, -1, 31, -1, 30, -1, 29, -1, 28, -1, 27, -1, 26, -1, 24, -1, 23, -1, 20, -1, 21, -1, 16, -1, 19, -1, 12, -1, 14, -1, 11, -1, 13, -1, 7, -1, 8, -1, 5, -1, 2, -1, 6, -1, 1, -1, 3, -1, 0, -1, 4, -1, 9, -1, 10, -1, 15, -1, 17, -1, 18, -1, 22, -1, 25}}, /* L5 */ {2, 40, {23, 20, 24, 21, 26, 16, 27, 19, 28, 12, 29, 14, 30, 11, 31, 13, 58, 7, 55, 8, 54, 5, 52, 2, 49, 6, 48, 1, 46, 3, 43, 0, 42, 4, 40, 9, 39, 10, 32, 15, 37, 17, 34, 18, 33, 22, 36, 25, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, -1, 53, -1, 56, -1, 57, -1, 59, -1, 60, -1, 61, -1, 62, -1, 63, -1}}, @@ -44,19 +108,11 @@ CathodeSegmentation* createSegType12(bool isBendingPlane) /* Z1 */ {3, 40, {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}, /* Z2 */ {3, 40, {53, 51, -1, 56, 50, -1, 57, 47, -1, 59, 45, -1, 60, 44, -1, 61, 41, -1, 62, 38, -1, 63, 35, -1, -1, 36, -1, -1, 33, -1, -1, 34, -1, -1, 37, -1, -1, 32, -1, -1, 39, -1, -1, 40, -1, -1, 42, -1, -1, 43, -1, -1, 46, -1, -1, 48, -1, -1, 49, -1, -1, 52, -1, -1, 54, -1, -1, 55, -1, -1, 58, -1, -1, 31, 25, -1, 30, 22, -1, 29, 18, -1, 28, 17, -1, 27, 15, -1, 26, 10, -1, 24, 9, -1, 23, 4, -1, 20, 0, -1, 21, 3, -1, 16, 1, -1, 19, 6, -1, 12, 2, -1, 14, 5, -1, 11, 8, -1, 13, 7}}, /* Z3 */ {3, 40, {7, 13, -1, 8, 11, -1, 5, 14, -1, 2, 12, -1, 6, 19, -1, 1, 16, -1, 3, 21, -1, 0, 20, -1, 4, 23, -1, 9, 24, -1, 10, 26, -1, 15, 27, -1, 17, 28, -1, 18, 29, -1, 22, 30, -1, 25, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, -1, -1, 37, -1, -1, 34, -1, -1, 33, -1, -1, 36, -1, -1, 35, 63, -1, 38, 62, -1, 41, 61, -1, 44, 60, -1, 45, 59, -1, 47, 57, -1, 50, 56, -1, 51, 53}}, - /* Z4 */ - {3, - 40, - {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, - -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, - -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, - -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, - -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, - -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, - -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, - 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, + /* Z4 */ {3, 40, {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, /* PS */ - {{2.5, 0.5}, {5, 0.5}, {10, 0.5}}}; + {{2.5, 0.5}, + {5, 0.5}, + {10, 0.5}}}; } else { return new CathodeSegmentation{ 12, @@ -123,7 +179,9 @@ CathodeSegmentation* createSegType12(bool isBendingPlane) /* Q1 */ {14, 5, {-1, -1, -1, -1, 19, 24, 30, 52, 42, 34, 41, 51, -1, -1, 17, 4, 6, 7, 12, 23, 29, 54, 43, 37, 38, 50, 59, 63, 18, 9, 1, 8, 14, 20, 28, 55, 46, 32, 35, 47, 57, 62, 22, 10, 3, 5, 11, 21, 27, 58, 48, 39, 36, 45, 56, 61, 25, 15, 0, 2, 13, 16, 26, 31, 49, 40, 33, 44, 53, 60}}, /* Q2 */ {14, 5, {-1, -1, 2, 11, 21, 27, 58, 48, 39, 36, -1, -1, -1, -1, 17, 4, 6, 13, 16, 26, 31, 49, 40, 33, 44, 51, 59, 63, 18, 9, 1, 7, 19, 24, 30, 52, 42, 34, 41, 50, 57, 62, 22, 10, 3, 8, 12, 23, 29, 54, 43, 37, 38, 47, 56, 61, 25, 15, 0, 5, 14, 20, 28, 55, 46, 32, 35, 45, 53, 60}}}, /* PS */ - {{0.714285714, 2.5}, {0.714285714, 5}, {0.714285714, 10}}}; + {{0.714285714, 2.5}, + {0.714285714, 5}, + {0.714285714, 10}}}; } } class CathodeSegmentationCreatorRegisterCreateSegType12 diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType13.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType13.cxx index e1acc4ba2c4f3..c15762af0b9ed 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType13.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType13.cxx @@ -29,7 +29,46 @@ CathodeSegmentation* createSegType13(bool isBendingPlane) 13, true, /* PG */ - {{1, 3, 0, -100, -20}, {2, 12, 0, -95, -20}, {3, 6, 0, -85, -20}, {4, 13, 0, -80, -20}, {5, 4, 0, -70, -20}, {10, 3, 0, -60, -20}, {11, 12, 0, -55, -20}, {12, 6, 0, -45, -20}, {13, 13, 0, -40, -20}, {14, 4, 0, -30, -20}, {103, 8, 1, 60, -20}, {104, 8, 1, 80, -20}, {107, 8, 1, 20, -20}, {108, 8, 1, 40, -20}, {112, 3, 0, -20, -20}, {113, 12, 0, -15, -20}, {114, 6, 0, -5, -20}, {115, 13, 0, 0, -20}, {116, 4, 0, 10, -20}, {201, 0, 1, 80, -4}, {202, 7, 1, 70, 4}, {203, 5, 1, 60, -4}, {206, 0, 1, 40, -4}, {207, 7, 1, 30, 4}, {208, 5, 1, 20, -4}, {211, 2, 0, 10, 0}, {212, 11, 0, 0, 0}, {213, 9, 0, -5, 4}, {214, 10, 0, -15, 0}, {215, 1, 0, -20, 0}, {304, 2, 0, -70, 0}, {305, 11, 0, -80, 0}, {306, 9, 0, -85, 4}, {307, 10, 0, -95, 0}, {308, 1, 0, -100, 0}, {312, 2, 0, -30, 0}, {313, 11, 0, -40, 0}, {314, 9, 0, -45, 4}, {315, 10, 0, -55, 0}, {316, 1, 0, -60, 0}}, + {{1, 3, 0, -100, -20}, + {2, 12, 0, -95, -20}, + {3, 6, 0, -85, -20}, + {4, 13, 0, -80, -20}, + {5, 4, 0, -70, -20}, + {10, 3, 0, -60, -20}, + {11, 12, 0, -55, -20}, + {12, 6, 0, -45, -20}, + {13, 13, 0, -40, -20}, + {14, 4, 0, -30, -20}, + {103, 8, 1, 60, -20}, + {104, 8, 1, 80, -20}, + {107, 8, 1, 20, -20}, + {108, 8, 1, 40, -20}, + {112, 3, 0, -20, -20}, + {113, 12, 0, -15, -20}, + {114, 6, 0, -5, -20}, + {115, 13, 0, 0, -20}, + {116, 4, 0, 10, -20}, + {201, 0, 1, 80, -4}, + {202, 7, 1, 70, 4}, + {203, 5, 1, 60, -4}, + {206, 0, 1, 40, -4}, + {207, 7, 1, 30, 4}, + {208, 5, 1, 20, -4}, + {211, 2, 0, 10, 0}, + {212, 11, 0, 0, 0}, + {213, 9, 0, -5, 4}, + {214, 10, 0, -15, 0}, + {215, 1, 0, -20, 0}, + {304, 2, 0, -70, 0}, + {305, 11, 0, -80, 0}, + {306, 9, 0, -85, 4}, + {307, 10, 0, -95, 0}, + {308, 1, 0, -100, 0}, + {312, 2, 0, -30, 0}, + {313, 11, 0, -40, 0}, + {314, 9, 0, -45, 4}, + {315, 10, 0, -55, 0}, + {316, 1, 0, -60, 0}}, /* PGT */ {/* L10 */ {2, 48, {35, 36, 38, 33, 41, 34, 44, 37, 45, 32, 47, 39, 50, 40, 51, 42, 53, 43, 56, 46, 57, 48, 59, 49, 60, 52, 61, 54, 62, 55, 63, 58, -1, 31, -1, 30, -1, 29, -1, 28, -1, 27, -1, 26, -1, 24, -1, 23, -1, 20, -1, 21, -1, 16, -1, 19, -1, 12, -1, 14, -1, 11, -1, 13, -1, 7, -1, 8, -1, 5, -1, 2, -1, 6, -1, 1, -1, 3, -1, 0, -1, 4, -1, 9, -1, 10, -1, 15, -1, 17, -1, 18, -1, 22, -1, 25}}, /* L5 */ {2, 40, {23, 20, 24, 21, 26, 16, 27, 19, 28, 12, 29, 14, 30, 11, 31, 13, 58, 7, 55, 8, 54, 5, 52, 2, 49, 6, 48, 1, 46, 3, 43, 0, 42, 4, 40, 9, 39, 10, 32, 15, 37, 17, 34, 18, 33, 22, 36, 25, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, -1, 53, -1, 56, -1, 57, -1, 59, -1, 60, -1, 61, -1, 62, -1, 63, -1}}, @@ -44,19 +83,10 @@ CathodeSegmentation* createSegType13(bool isBendingPlane) /* Z1 */ {3, 40, {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}, /* Z2 */ {3, 40, {53, 51, -1, 56, 50, -1, 57, 47, -1, 59, 45, -1, 60, 44, -1, 61, 41, -1, 62, 38, -1, 63, 35, -1, -1, 36, -1, -1, 33, -1, -1, 34, -1, -1, 37, -1, -1, 32, -1, -1, 39, -1, -1, 40, -1, -1, 42, -1, -1, 43, -1, -1, 46, -1, -1, 48, -1, -1, 49, -1, -1, 52, -1, -1, 54, -1, -1, 55, -1, -1, 58, -1, -1, 31, 25, -1, 30, 22, -1, 29, 18, -1, 28, 17, -1, 27, 15, -1, 26, 10, -1, 24, 9, -1, 23, 4, -1, 20, 0, -1, 21, 3, -1, 16, 1, -1, 19, 6, -1, 12, 2, -1, 14, 5, -1, 11, 8, -1, 13, 7}}, /* Z3 */ {3, 40, {7, 13, -1, 8, 11, -1, 5, 14, -1, 2, 12, -1, 6, 19, -1, 1, 16, -1, 3, 21, -1, 0, 20, -1, 4, 23, -1, 9, 24, -1, 10, 26, -1, 15, 27, -1, 17, 28, -1, 18, 29, -1, 22, 30, -1, 25, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, -1, -1, 37, -1, -1, 34, -1, -1, 33, -1, -1, 36, -1, -1, 35, 63, -1, 38, 62, -1, 41, 61, -1, 44, 60, -1, 45, 59, -1, 47, 57, -1, 50, 56, -1, 51, 53}}, - /* Z4 */ - {3, - 40, - {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, - -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, - -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, - -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, - -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, - -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, - -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, - 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, + /* Z4 */ {3, 40, {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, /* PS */ - {{5, 0.5}, {10, 0.5}}}; + {{5, 0.5}, + {10, 0.5}}}; } else { return new CathodeSegmentation{ 13, @@ -111,7 +141,8 @@ CathodeSegmentation* createSegType13(bool isBendingPlane) /* Q3 */ {16, 5, {-1, -1, 56, 45, 36, 39, 48, 58, 28, 23, 19, 13, 2, 0, 15, 25, -1, -1, 57, 47, 35, 32, 46, 55, 29, 24, 16, 11, 5, 3, 10, 22, -1, -1, 59, 50, 38, 37, 43, 54, 30, 26, 21, 14, 8, 1, 9, 18, -1, -1, 60, 51, 41, 34, 42, 52, 31, 27, 20, 12, 7, 6, 4, 17, 63, 62, 61, 53, 44, 33, 40, 49, -1, -1, -1, -1, -1, -1, -1, -1}}, /* Q4 */ {16, 5, {60, 53, 45, 35, 37, 42, 49, 58, 27, 21, 11, 2, 4, 18, -1, -1, 61, 56, 47, 38, 34, 40, 48, 55, 28, 20, 14, 5, 0, 17, -1, -1, 62, 57, 50, 41, 33, 39, 46, 54, 29, 23, 12, 8, 3, 15, -1, -1, 63, 59, 51, 44, 36, 32, 43, 52, 30, 24, 19, 7, 1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, 26, 16, 13, 6, 9, 22, 25}}}, /* PS */ - {{0.714285714, 5}, {0.714285714, 10}}}; + {{0.714285714, 5}, + {0.714285714, 10}}}; } } class CathodeSegmentationCreatorRegisterCreateSegType13 diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType14.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType14.cxx index c7cf594bf0769..db0b5377acb10 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType14.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType14.cxx @@ -29,7 +29,36 @@ CathodeSegmentation* createSegType14(bool isBendingPlane) 14, true, /* PG */ - {{1, 3, 0, -80, -20}, {2, 12, 0, -75, -20}, {3, 6, 0, -65, -20}, {4, 13, 0, -60, -20}, {5, 4, 0, -50, -20}, {103, 8, 1, 40, -20}, {104, 8, 1, 60, -20}, {107, 8, 1, 0, -20}, {108, 8, 1, 20, -20}, {112, 3, 0, -40, -20}, {113, 12, 0, -35, -20}, {114, 6, 0, -25, -20}, {115, 13, 0, -20, -20}, {116, 4, 0, -10, -20}, {201, 0, 1, 60, -4}, {202, 7, 1, 50, 4}, {203, 5, 1, 40, -4}, {206, 0, 1, 20, -4}, {207, 7, 1, 10, 4}, {208, 5, 1, 0, -4}, {211, 2, 0, -10, 0}, {212, 11, 0, -20, 0}, {213, 9, 0, -25, 4}, {214, 10, 0, -35, 0}, {215, 1, 0, -40, 0}, {304, 2, 0, -50, 0}, {305, 11, 0, -60, 0}, {306, 9, 0, -65, 4}, {307, 10, 0, -75, 0}, {308, 1, 0, -80, 0}}, + {{1, 3, 0, -80, -20}, + {2, 12, 0, -75, -20}, + {3, 6, 0, -65, -20}, + {4, 13, 0, -60, -20}, + {5, 4, 0, -50, -20}, + {103, 8, 1, 40, -20}, + {104, 8, 1, 60, -20}, + {107, 8, 1, 0, -20}, + {108, 8, 1, 20, -20}, + {112, 3, 0, -40, -20}, + {113, 12, 0, -35, -20}, + {114, 6, 0, -25, -20}, + {115, 13, 0, -20, -20}, + {116, 4, 0, -10, -20}, + {201, 0, 1, 60, -4}, + {202, 7, 1, 50, 4}, + {203, 5, 1, 40, -4}, + {206, 0, 1, 20, -4}, + {207, 7, 1, 10, 4}, + {208, 5, 1, 0, -4}, + {211, 2, 0, -10, 0}, + {212, 11, 0, -20, 0}, + {213, 9, 0, -25, 4}, + {214, 10, 0, -35, 0}, + {215, 1, 0, -40, 0}, + {304, 2, 0, -50, 0}, + {305, 11, 0, -60, 0}, + {306, 9, 0, -65, 4}, + {307, 10, 0, -75, 0}, + {308, 1, 0, -80, 0}}, /* PGT */ {/* L10 */ {2, 48, {35, 36, 38, 33, 41, 34, 44, 37, 45, 32, 47, 39, 50, 40, 51, 42, 53, 43, 56, 46, 57, 48, 59, 49, 60, 52, 61, 54, 62, 55, 63, 58, -1, 31, -1, 30, -1, 29, -1, 28, -1, 27, -1, 26, -1, 24, -1, 23, -1, 20, -1, 21, -1, 16, -1, 19, -1, 12, -1, 14, -1, 11, -1, 13, -1, 7, -1, 8, -1, 5, -1, 2, -1, 6, -1, 1, -1, 3, -1, 0, -1, 4, -1, 9, -1, 10, -1, 15, -1, 17, -1, 18, -1, 22, -1, 25}}, /* L5 */ {2, 40, {23, 20, 24, 21, 26, 16, 27, 19, 28, 12, 29, 14, 30, 11, 31, 13, 58, 7, 55, 8, 54, 5, 52, 2, 49, 6, 48, 1, 46, 3, 43, 0, 42, 4, 40, 9, 39, 10, 32, 15, 37, 17, 34, 18, 33, 22, 36, 25, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, -1, 53, -1, 56, -1, 57, -1, 59, -1, 60, -1, 61, -1, 62, -1, 63, -1}}, @@ -44,19 +73,10 @@ CathodeSegmentation* createSegType14(bool isBendingPlane) /* Z1 */ {3, 40, {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}, /* Z2 */ {3, 40, {53, 51, -1, 56, 50, -1, 57, 47, -1, 59, 45, -1, 60, 44, -1, 61, 41, -1, 62, 38, -1, 63, 35, -1, -1, 36, -1, -1, 33, -1, -1, 34, -1, -1, 37, -1, -1, 32, -1, -1, 39, -1, -1, 40, -1, -1, 42, -1, -1, 43, -1, -1, 46, -1, -1, 48, -1, -1, 49, -1, -1, 52, -1, -1, 54, -1, -1, 55, -1, -1, 58, -1, -1, 31, 25, -1, 30, 22, -1, 29, 18, -1, 28, 17, -1, 27, 15, -1, 26, 10, -1, 24, 9, -1, 23, 4, -1, 20, 0, -1, 21, 3, -1, 16, 1, -1, 19, 6, -1, 12, 2, -1, 14, 5, -1, 11, 8, -1, 13, 7}}, /* Z3 */ {3, 40, {7, 13, -1, 8, 11, -1, 5, 14, -1, 2, 12, -1, 6, 19, -1, 1, 16, -1, 3, 21, -1, 0, 20, -1, 4, 23, -1, 9, 24, -1, 10, 26, -1, 15, 27, -1, 17, 28, -1, 18, 29, -1, 22, 30, -1, 25, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, -1, -1, 37, -1, -1, 34, -1, -1, 33, -1, -1, 36, -1, -1, 35, 63, -1, 38, 62, -1, 41, 61, -1, 44, 60, -1, 45, 59, -1, 47, 57, -1, 50, 56, -1, 51, 53}}, - /* Z4 */ - {3, - 40, - {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, - -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, - -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, - -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, - -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, - -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, - -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, - 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, + /* Z4 */ {3, 40, {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, /* PS */ - {{5, 0.5}, {10, 0.5}}}; + {{5, 0.5}, + {10, 0.5}}}; } else { return new CathodeSegmentation{ 14, @@ -104,7 +124,8 @@ CathodeSegmentation* createSegType14(bool isBendingPlane) /* Q3 */ {16, 5, {-1, -1, 56, 45, 36, 39, 48, 58, 28, 23, 19, 13, 2, 0, 15, 25, -1, -1, 57, 47, 35, 32, 46, 55, 29, 24, 16, 11, 5, 3, 10, 22, -1, -1, 59, 50, 38, 37, 43, 54, 30, 26, 21, 14, 8, 1, 9, 18, -1, -1, 60, 51, 41, 34, 42, 52, 31, 27, 20, 12, 7, 6, 4, 17, 63, 62, 61, 53, 44, 33, 40, 49, -1, -1, -1, -1, -1, -1, -1, -1}}, /* Q4 */ {16, 5, {60, 53, 45, 35, 37, 42, 49, 58, 27, 21, 11, 2, 4, 18, -1, -1, 61, 56, 47, 38, 34, 40, 48, 55, 28, 20, 14, 5, 0, 17, -1, -1, 62, 57, 50, 41, 33, 39, 46, 54, 29, 23, 12, 8, 3, 15, -1, -1, 63, 59, 51, 44, 36, 32, 43, 52, 30, 24, 19, 7, 1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, 26, 16, 13, 6, 9, 22, 25}}}, /* PS */ - {{0.714285714, 5}, {0.714285714, 10}}}; + {{0.714285714, 5}, + {0.714285714, 10}}}; } } class CathodeSegmentationCreatorRegisterCreateSegType14 diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType15.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType15.cxx index a9d03a72d8dff..65c55da52d57d 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType15.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType15.cxx @@ -48,8 +48,7 @@ CathodeSegmentation* createSegType15(bool isBendingPlane) {/* L10 */ {2, 48, {35, 36, 38, 33, 41, 34, 44, 37, 45, 32, 47, 39, 50, 40, 51, 42, 53, 43, 56, 46, 57, 48, 59, 49, 60, 52, 61, 54, 62, 55, 63, 58, -1, 31, -1, 30, -1, 29, -1, 28, -1, 27, -1, 26, -1, 24, -1, 23, -1, 20, -1, 21, -1, 16, -1, 19, -1, 12, -1, 14, -1, 11, -1, 13, -1, 7, -1, 8, -1, 5, -1, 2, -1, 6, -1, 1, -1, 3, -1, 0, -1, 4, -1, 9, -1, 10, -1, 15, -1, 17, -1, 18, -1, 22, -1, 25}}, /* L9 */ {2, 48, {13, 7, 11, 8, 14, 5, 12, 2, 19, 6, 16, 1, 21, 3, 20, 0, 23, 4, 24, 9, 26, 10, 27, 15, 28, 17, 29, 18, 30, 22, 31, 25, 58, -1, 55, -1, 54, -1, 52, -1, 49, -1, 48, -1, 46, -1, 43, -1, 42, -1, 40, -1, 39, -1, 32, -1, 37, -1, 34, -1, 33, -1, 36, -1, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, -1, 53, -1, 56, -1, 57, -1, 59, -1, 60, -1, 61, -1, 62, -1, 63, -1}}, /* O11 */ {2, 32, {58, 31, 55, 30, 54, 29, 52, 28, 49, 27, 48, 26, 46, 24, 43, 23, 42, 20, 40, 21, 39, 16, 32, 19, 37, 12, 34, 14, 33, 11, 36, 13, 35, 7, 38, 8, 41, 5, 44, 2, 45, 6, 47, 1, 50, 3, 51, 0, 53, 4, 56, 9, 57, 10, 59, 15, 60, 17, 61, 18, 62, 22, 63, 25}}, - /* O12 */ - {2, 32, {25, 63, 22, 62, 18, 61, 17, 60, 15, 59, 10, 57, 9, 56, 4, 53, 0, 51, 3, 50, 1, 47, 6, 45, 2, 44, 5, 41, 8, 38, 7, 35, 13, 36, 11, 33, 14, 34, 12, 37, 19, 32, 16, 39, 21, 40, 20, 42, 23, 43, 24, 46, 26, 48, 27, 49, 28, 52, 29, 54, 30, 55, 31, 58}}}, + /* O12 */ {2, 32, {25, 63, 22, 62, 18, 61, 17, 60, 15, 59, 10, 57, 9, 56, 4, 53, 0, 51, 3, 50, 1, 47, 6, 45, 2, 44, 5, 41, 8, 38, 7, 35, 13, 36, 11, 33, 14, 34, 12, 37, 19, 32, 16, 39, 21, 40, 20, 42, 23, 43, 24, 46, 26, 48, 27, 49, 28, 52, 29, 54, 30, 55, 31, 58}}}, /* PS */ {{10, 0.5}}}; } else { diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType16.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType16.cxx index cf884ef4cb265..32d7adc1b44c8 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType16.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType16.cxx @@ -43,8 +43,7 @@ CathodeSegmentation* createSegType16(bool isBendingPlane) {/* L10 */ {2, 48, {35, 36, 38, 33, 41, 34, 44, 37, 45, 32, 47, 39, 50, 40, 51, 42, 53, 43, 56, 46, 57, 48, 59, 49, 60, 52, 61, 54, 62, 55, 63, 58, -1, 31, -1, 30, -1, 29, -1, 28, -1, 27, -1, 26, -1, 24, -1, 23, -1, 20, -1, 21, -1, 16, -1, 19, -1, 12, -1, 14, -1, 11, -1, 13, -1, 7, -1, 8, -1, 5, -1, 2, -1, 6, -1, 1, -1, 3, -1, 0, -1, 4, -1, 9, -1, 10, -1, 15, -1, 17, -1, 18, -1, 22, -1, 25}}, /* L9 */ {2, 48, {13, 7, 11, 8, 14, 5, 12, 2, 19, 6, 16, 1, 21, 3, 20, 0, 23, 4, 24, 9, 26, 10, 27, 15, 28, 17, 29, 18, 30, 22, 31, 25, 58, -1, 55, -1, 54, -1, 52, -1, 49, -1, 48, -1, 46, -1, 43, -1, 42, -1, 40, -1, 39, -1, 32, -1, 37, -1, 34, -1, 33, -1, 36, -1, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, -1, 53, -1, 56, -1, 57, -1, 59, -1, 60, -1, 61, -1, 62, -1, 63, -1}}, /* O11 */ {2, 32, {58, 31, 55, 30, 54, 29, 52, 28, 49, 27, 48, 26, 46, 24, 43, 23, 42, 20, 40, 21, 39, 16, 32, 19, 37, 12, 34, 14, 33, 11, 36, 13, 35, 7, 38, 8, 41, 5, 44, 2, 45, 6, 47, 1, 50, 3, 51, 0, 53, 4, 56, 9, 57, 10, 59, 15, 60, 17, 61, 18, 62, 22, 63, 25}}, - /* O12 */ - {2, 32, {25, 63, 22, 62, 18, 61, 17, 60, 15, 59, 10, 57, 9, 56, 4, 53, 0, 51, 3, 50, 1, 47, 6, 45, 2, 44, 5, 41, 8, 38, 7, 35, 13, 36, 11, 33, 14, 34, 12, 37, 19, 32, 16, 39, 21, 40, 20, 42, 23, 43, 24, 46, 26, 48, 27, 49, 28, 52, 29, 54, 30, 55, 31, 58}}}, + /* O12 */ {2, 32, {25, 63, 22, 62, 18, 61, 17, 60, 15, 59, 10, 57, 9, 56, 4, 53, 0, 51, 3, 50, 1, 47, 6, 45, 2, 44, 5, 41, 8, 38, 7, 35, 13, 36, 11, 33, 14, 34, 12, 37, 19, 32, 16, 39, 21, 40, 20, 42, 23, 43, 24, 46, 26, 48, 27, 49, 28, 52, 29, 54, 30, 55, 31, 58}}}, /* PS */ {{10, 0.5}}}; } else { diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType17.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType17.cxx index adeb2a7a1f3c7..3429fe59f04dc 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType17.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType17.cxx @@ -29,7 +29,76 @@ CathodeSegmentation* createSegType17(bool isBendingPlane) 17, true, /* PG */ - {{1, 3, 0, -120, -20}, {2, 12, 0, -117.5, -20}, {3, 6, 0, -112.5, -20}, {4, 13, 0, -110, -20}, {5, 4, 0, -105, -20}, {6, 3, 0, -100, -20}, {7, 12, 0, -97.5, -20}, {8, 6, 0, -92.5, -20}, {9, 13, 0, -90, -20}, {10, 4, 0, -85, -20}, {18, 3, 0, -80, -20}, {19, 12, 0, -77.5, -20}, {20, 6, 0, -72.5, -20}, {21, 13, 0, -70, -20}, {22, 4, 0, -65, -20}, {23, 3, 0, -60, -20}, {24, 12, 0, -57.5, -20}, {25, 6, 0, -52.5, -20}, {26, 13, 0, -50, -20}, {27, 4, 0, -45, -20}, {35, 3, 1, -40, -20}, {36, 12, 1, -35, -20}, {37, 6, 1, -25, -20}, {38, 13, 1, -20, -20}, {39, 4, 1, -10, -20}, {103, 8, 2, 80, -20}, {104, 8, 2, 100, -20}, {107, 8, 2, 40, -20}, {108, 8, 2, 60, -20}, {112, 3, 1, 0, -20}, {113, 12, 1, 5, -20}, {114, 6, 1, 15, -20}, {115, 13, 1, 20, -20}, {116, 4, 1, 30, -20}, {201, 0, 2, 100, -4}, {202, 7, 2, 90, 4}, {203, 5, 2, 80, -4}, {206, 0, 2, 60, -4}, {207, 7, 2, 50, 4}, {208, 5, 2, 40, -4}, {211, 2, 1, 30, 0}, {212, 11, 1, 20, 0}, {213, 9, 1, 15, 4}, {214, 10, 1, 5, 0}, {215, 1, 1, 0, 0}, {308, 2, 0, -85, 0}, {309, 11, 0, -90, 0}, {310, 9, 0, -92.5, 4}, {311, 10, 0, -97.5, 0}, {312, 1, 0, -100, 0}, {313, 2, 0, -105, 0}, {314, 11, 0, -110, 0}, {315, 9, 0, -112.5, 4}, {316, 10, 0, -117.5, 0}, {317, 1, 0, -120, 0}, {325, 2, 0, -45, 0}, {326, 11, 0, -50, 0}, {327, 9, 0, -52.5, 4}, {328, 10, 0, -57.5, 0}, {329, 1, 0, -60, 0}, {330, 2, 0, -65, 0}, {331, 11, 0, -70, 0}, {332, 9, 0, -72.5, 4}, {333, 10, 0, -77.5, 0}, {334, 1, 0, -80, 0}, {338, 2, 1, -10, 0}, {339, 11, 1, -20, 0}, {340, 9, 1, -25, 4}, {341, 10, 1, -35, 0}, {342, 1, 1, -40, 0}}, + {{1, 3, 0, -120, -20}, + {2, 12, 0, -117.5, -20}, + {3, 6, 0, -112.5, -20}, + {4, 13, 0, -110, -20}, + {5, 4, 0, -105, -20}, + {6, 3, 0, -100, -20}, + {7, 12, 0, -97.5, -20}, + {8, 6, 0, -92.5, -20}, + {9, 13, 0, -90, -20}, + {10, 4, 0, -85, -20}, + {18, 3, 0, -80, -20}, + {19, 12, 0, -77.5, -20}, + {20, 6, 0, -72.5, -20}, + {21, 13, 0, -70, -20}, + {22, 4, 0, -65, -20}, + {23, 3, 0, -60, -20}, + {24, 12, 0, -57.5, -20}, + {25, 6, 0, -52.5, -20}, + {26, 13, 0, -50, -20}, + {27, 4, 0, -45, -20}, + {35, 3, 1, -40, -20}, + {36, 12, 1, -35, -20}, + {37, 6, 1, -25, -20}, + {38, 13, 1, -20, -20}, + {39, 4, 1, -10, -20}, + {103, 8, 2, 80, -20}, + {104, 8, 2, 100, -20}, + {107, 8, 2, 40, -20}, + {108, 8, 2, 60, -20}, + {112, 3, 1, 0, -20}, + {113, 12, 1, 5, -20}, + {114, 6, 1, 15, -20}, + {115, 13, 1, 20, -20}, + {116, 4, 1, 30, -20}, + {201, 0, 2, 100, -4}, + {202, 7, 2, 90, 4}, + {203, 5, 2, 80, -4}, + {206, 0, 2, 60, -4}, + {207, 7, 2, 50, 4}, + {208, 5, 2, 40, -4}, + {211, 2, 1, 30, 0}, + {212, 11, 1, 20, 0}, + {213, 9, 1, 15, 4}, + {214, 10, 1, 5, 0}, + {215, 1, 1, 0, 0}, + {308, 2, 0, -85, 0}, + {309, 11, 0, -90, 0}, + {310, 9, 0, -92.5, 4}, + {311, 10, 0, -97.5, 0}, + {312, 1, 0, -100, 0}, + {313, 2, 0, -105, 0}, + {314, 11, 0, -110, 0}, + {315, 9, 0, -112.5, 4}, + {316, 10, 0, -117.5, 0}, + {317, 1, 0, -120, 0}, + {325, 2, 0, -45, 0}, + {326, 11, 0, -50, 0}, + {327, 9, 0, -52.5, 4}, + {328, 10, 0, -57.5, 0}, + {329, 1, 0, -60, 0}, + {330, 2, 0, -65, 0}, + {331, 11, 0, -70, 0}, + {332, 9, 0, -72.5, 4}, + {333, 10, 0, -77.5, 0}, + {334, 1, 0, -80, 0}, + {338, 2, 1, -10, 0}, + {339, 11, 1, -20, 0}, + {340, 9, 1, -25, 4}, + {341, 10, 1, -35, 0}, + {342, 1, 1, -40, 0}}, /* PGT */ {/* L10 */ {2, 48, {35, 36, 38, 33, 41, 34, 44, 37, 45, 32, 47, 39, 50, 40, 51, 42, 53, 43, 56, 46, 57, 48, 59, 49, 60, 52, 61, 54, 62, 55, 63, 58, -1, 31, -1, 30, -1, 29, -1, 28, -1, 27, -1, 26, -1, 24, -1, 23, -1, 20, -1, 21, -1, 16, -1, 19, -1, 12, -1, 14, -1, 11, -1, 13, -1, 7, -1, 8, -1, 5, -1, 2, -1, 6, -1, 1, -1, 3, -1, 0, -1, 4, -1, 9, -1, 10, -1, 15, -1, 17, -1, 18, -1, 22, -1, 25}}, /* L5 */ {2, 40, {23, 20, 24, 21, 26, 16, 27, 19, 28, 12, 29, 14, 30, 11, 31, 13, 58, 7, 55, 8, 54, 5, 52, 2, 49, 6, 48, 1, 46, 3, 43, 0, 42, 4, 40, 9, 39, 10, 32, 15, 37, 17, 34, 18, 33, 22, 36, 25, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, -1, 53, -1, 56, -1, 57, -1, 59, -1, 60, -1, 61, -1, 62, -1, 63, -1}}, @@ -44,19 +113,11 @@ CathodeSegmentation* createSegType17(bool isBendingPlane) /* Z1 */ {3, 40, {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}, /* Z2 */ {3, 40, {53, 51, -1, 56, 50, -1, 57, 47, -1, 59, 45, -1, 60, 44, -1, 61, 41, -1, 62, 38, -1, 63, 35, -1, -1, 36, -1, -1, 33, -1, -1, 34, -1, -1, 37, -1, -1, 32, -1, -1, 39, -1, -1, 40, -1, -1, 42, -1, -1, 43, -1, -1, 46, -1, -1, 48, -1, -1, 49, -1, -1, 52, -1, -1, 54, -1, -1, 55, -1, -1, 58, -1, -1, 31, 25, -1, 30, 22, -1, 29, 18, -1, 28, 17, -1, 27, 15, -1, 26, 10, -1, 24, 9, -1, 23, 4, -1, 20, 0, -1, 21, 3, -1, 16, 1, -1, 19, 6, -1, 12, 2, -1, 14, 5, -1, 11, 8, -1, 13, 7}}, /* Z3 */ {3, 40, {7, 13, -1, 8, 11, -1, 5, 14, -1, 2, 12, -1, 6, 19, -1, 1, 16, -1, 3, 21, -1, 0, 20, -1, 4, 23, -1, 9, 24, -1, 10, 26, -1, 15, 27, -1, 17, 28, -1, 18, 29, -1, 22, 30, -1, 25, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, -1, -1, 37, -1, -1, 34, -1, -1, 33, -1, -1, 36, -1, -1, 35, 63, -1, 38, 62, -1, 41, 61, -1, 44, 60, -1, 45, 59, -1, 47, 57, -1, 50, 56, -1, 51, 53}}, - /* Z4 */ - {3, - 40, - {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, - -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, - -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, - -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, - -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, - -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, - -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, - 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, + /* Z4 */ {3, 40, {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, /* PS */ - {{2.5, 0.5}, {5, 0.5}, {10, 0.5}}}; + {{2.5, 0.5}, + {5, 0.5}, + {10, 0.5}}}; } else { return new CathodeSegmentation{ 17, @@ -134,7 +195,9 @@ CathodeSegmentation* createSegType17(bool isBendingPlane) /* Q3 */ {16, 5, {-1, -1, 56, 45, 36, 39, 48, 58, 28, 23, 19, 13, 2, 0, 15, 25, -1, -1, 57, 47, 35, 32, 46, 55, 29, 24, 16, 11, 5, 3, 10, 22, -1, -1, 59, 50, 38, 37, 43, 54, 30, 26, 21, 14, 8, 1, 9, 18, -1, -1, 60, 51, 41, 34, 42, 52, 31, 27, 20, 12, 7, 6, 4, 17, 63, 62, 61, 53, 44, 33, 40, 49, -1, -1, -1, -1, -1, -1, -1, -1}}, /* Q4 */ {16, 5, {60, 53, 45, 35, 37, 42, 49, 58, 27, 21, 11, 2, 4, 18, -1, -1, 61, 56, 47, 38, 34, 40, 48, 55, 28, 20, 14, 5, 0, 17, -1, -1, 62, 57, 50, 41, 33, 39, 46, 54, 29, 23, 12, 8, 3, 15, -1, -1, 63, 59, 51, 44, 36, 32, 43, 52, 30, 24, 19, 7, 1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, 26, 16, 13, 6, 9, 22, 25}}}, /* PS */ - {{0.714285714, 2.5}, {0.714285714, 5}, {0.714285714, 10}}}; + {{0.714285714, 2.5}, + {0.714285714, 5}, + {0.714285714, 10}}}; } } class CathodeSegmentationCreatorRegisterCreateSegType17 diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType18.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType18.cxx index 74cd7c6c52cab..9a7099ac66e1e 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType18.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType18.cxx @@ -29,7 +29,51 @@ CathodeSegmentation* createSegType18(bool isBendingPlane) 18, true, /* PG */ - {{1, 3, 0, -120, -20}, {2, 12, 0, -115, -20}, {3, 6, 0, -105, -20}, {4, 13, 0, -100, -20}, {5, 4, 0, -90, -20}, {10, 3, 0, -80, -20}, {11, 12, 0, -75, -20}, {12, 6, 0, -65, -20}, {13, 13, 0, -60, -20}, {14, 4, 0, -50, -20}, {19, 3, 0, -40, -20}, {20, 12, 0, -35, -20}, {21, 6, 0, -25, -20}, {22, 13, 0, -20, -20}, {23, 4, 0, -10, -20}, {103, 8, 1, 80, -20}, {104, 8, 1, 100, -20}, {107, 8, 1, 40, -20}, {108, 8, 1, 60, -20}, {111, 8, 1, 0, -20}, {112, 8, 1, 20, -20}, {201, 0, 1, 100, -4}, {202, 7, 1, 90, 4}, {203, 5, 1, 80, -4}, {206, 0, 1, 60, -4}, {207, 7, 1, 50, 4}, {208, 5, 1, 40, -4}, {211, 0, 1, 20, -4}, {212, 7, 1, 10, 4}, {213, 5, 1, 0, -4}, {304, 2, 0, -90, 0}, {305, 11, 0, -100, 0}, {306, 9, 0, -105, 4}, {307, 10, 0, -115, 0}, {308, 1, 0, -120, 0}, {312, 2, 0, -50, 0}, {313, 11, 0, -60, 0}, {314, 9, 0, -65, 4}, {315, 10, 0, -75, 0}, {316, 1, 0, -80, 0}, {320, 2, 0, -10, 0}, {321, 11, 0, -20, 0}, {322, 9, 0, -25, 4}, {323, 10, 0, -35, 0}, {324, 1, 0, -40, 0}}, + {{1, 3, 0, -120, -20}, + {2, 12, 0, -115, -20}, + {3, 6, 0, -105, -20}, + {4, 13, 0, -100, -20}, + {5, 4, 0, -90, -20}, + {10, 3, 0, -80, -20}, + {11, 12, 0, -75, -20}, + {12, 6, 0, -65, -20}, + {13, 13, 0, -60, -20}, + {14, 4, 0, -50, -20}, + {19, 3, 0, -40, -20}, + {20, 12, 0, -35, -20}, + {21, 6, 0, -25, -20}, + {22, 13, 0, -20, -20}, + {23, 4, 0, -10, -20}, + {103, 8, 1, 80, -20}, + {104, 8, 1, 100, -20}, + {107, 8, 1, 40, -20}, + {108, 8, 1, 60, -20}, + {111, 8, 1, 0, -20}, + {112, 8, 1, 20, -20}, + {201, 0, 1, 100, -4}, + {202, 7, 1, 90, 4}, + {203, 5, 1, 80, -4}, + {206, 0, 1, 60, -4}, + {207, 7, 1, 50, 4}, + {208, 5, 1, 40, -4}, + {211, 0, 1, 20, -4}, + {212, 7, 1, 10, 4}, + {213, 5, 1, 0, -4}, + {304, 2, 0, -90, 0}, + {305, 11, 0, -100, 0}, + {306, 9, 0, -105, 4}, + {307, 10, 0, -115, 0}, + {308, 1, 0, -120, 0}, + {312, 2, 0, -50, 0}, + {313, 11, 0, -60, 0}, + {314, 9, 0, -65, 4}, + {315, 10, 0, -75, 0}, + {316, 1, 0, -80, 0}, + {320, 2, 0, -10, 0}, + {321, 11, 0, -20, 0}, + {322, 9, 0, -25, 4}, + {323, 10, 0, -35, 0}, + {324, 1, 0, -40, 0}}, /* PGT */ {/* L10 */ {2, 48, {35, 36, 38, 33, 41, 34, 44, 37, 45, 32, 47, 39, 50, 40, 51, 42, 53, 43, 56, 46, 57, 48, 59, 49, 60, 52, 61, 54, 62, 55, 63, 58, -1, 31, -1, 30, -1, 29, -1, 28, -1, 27, -1, 26, -1, 24, -1, 23, -1, 20, -1, 21, -1, 16, -1, 19, -1, 12, -1, 14, -1, 11, -1, 13, -1, 7, -1, 8, -1, 5, -1, 2, -1, 6, -1, 1, -1, 3, -1, 0, -1, 4, -1, 9, -1, 10, -1, 15, -1, 17, -1, 18, -1, 22, -1, 25}}, /* L5 */ {2, 40, {23, 20, 24, 21, 26, 16, 27, 19, 28, 12, 29, 14, 30, 11, 31, 13, 58, 7, 55, 8, 54, 5, 52, 2, 49, 6, 48, 1, 46, 3, 43, 0, 42, 4, 40, 9, 39, 10, 32, 15, 37, 17, 34, 18, 33, 22, 36, 25, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, -1, 53, -1, 56, -1, 57, -1, 59, -1, 60, -1, 61, -1, 62, -1, 63, -1}}, @@ -44,19 +88,10 @@ CathodeSegmentation* createSegType18(bool isBendingPlane) /* Z1 */ {3, 40, {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}, /* Z2 */ {3, 40, {53, 51, -1, 56, 50, -1, 57, 47, -1, 59, 45, -1, 60, 44, -1, 61, 41, -1, 62, 38, -1, 63, 35, -1, -1, 36, -1, -1, 33, -1, -1, 34, -1, -1, 37, -1, -1, 32, -1, -1, 39, -1, -1, 40, -1, -1, 42, -1, -1, 43, -1, -1, 46, -1, -1, 48, -1, -1, 49, -1, -1, 52, -1, -1, 54, -1, -1, 55, -1, -1, 58, -1, -1, 31, 25, -1, 30, 22, -1, 29, 18, -1, 28, 17, -1, 27, 15, -1, 26, 10, -1, 24, 9, -1, 23, 4, -1, 20, 0, -1, 21, 3, -1, 16, 1, -1, 19, 6, -1, 12, 2, -1, 14, 5, -1, 11, 8, -1, 13, 7}}, /* Z3 */ {3, 40, {7, 13, -1, 8, 11, -1, 5, 14, -1, 2, 12, -1, 6, 19, -1, 1, 16, -1, 3, 21, -1, 0, 20, -1, 4, 23, -1, 9, 24, -1, 10, 26, -1, 15, 27, -1, 17, 28, -1, 18, 29, -1, 22, 30, -1, 25, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, -1, -1, 37, -1, -1, 34, -1, -1, 33, -1, -1, 36, -1, -1, 35, 63, -1, 38, 62, -1, 41, 61, -1, 44, 60, -1, 45, 59, -1, 47, 57, -1, 50, 56, -1, 51, 53}}, - /* Z4 */ - {3, - 40, - {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, - -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, - -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, - -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, - -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, - -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, - -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, - 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, + /* Z4 */ {3, 40, {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, /* PS */ - {{5, 0.5}, {10, 0.5}}}; + {{5, 0.5}, + {10, 0.5}}}; } else { return new CathodeSegmentation{ 18, @@ -108,7 +143,8 @@ CathodeSegmentation* createSegType18(bool isBendingPlane) /* Q3 */ {16, 5, {-1, -1, 56, 45, 36, 39, 48, 58, 28, 23, 19, 13, 2, 0, 15, 25, -1, -1, 57, 47, 35, 32, 46, 55, 29, 24, 16, 11, 5, 3, 10, 22, -1, -1, 59, 50, 38, 37, 43, 54, 30, 26, 21, 14, 8, 1, 9, 18, -1, -1, 60, 51, 41, 34, 42, 52, 31, 27, 20, 12, 7, 6, 4, 17, 63, 62, 61, 53, 44, 33, 40, 49, -1, -1, -1, -1, -1, -1, -1, -1}}, /* Q4 */ {16, 5, {60, 53, 45, 35, 37, 42, 49, 58, 27, 21, 11, 2, 4, 18, -1, -1, 61, 56, 47, 38, 34, 40, 48, 55, 28, 20, 14, 5, 0, 17, -1, -1, 62, 57, 50, 41, 33, 39, 46, 54, 29, 23, 12, 8, 3, 15, -1, -1, 63, 59, 51, 44, 36, 32, 43, 52, 30, 24, 19, 7, 1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, 26, 16, 13, 6, 9, 22, 25}}}, /* PS */ - {{0.714285714, 5}, {0.714285714, 10}}}; + {{0.714285714, 5}, + {0.714285714, 10}}}; } } class CathodeSegmentationCreatorRegisterCreateSegType18 diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType19.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType19.cxx index 8ad57f452001a..9ed65c527d1b0 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType19.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType19.cxx @@ -29,7 +29,41 @@ CathodeSegmentation* createSegType19(bool isBendingPlane) 19, true, /* PG */ - {{1, 3, 0, -100, -20}, {2, 12, 0, -95, -20}, {3, 6, 0, -85, -20}, {4, 13, 0, -80, -20}, {5, 4, 0, -70, -20}, {10, 3, 0, -60, -20}, {11, 12, 0, -55, -20}, {12, 6, 0, -45, -20}, {13, 13, 0, -40, -20}, {14, 4, 0, -30, -20}, {103, 8, 1, 60, -20}, {104, 8, 1, 80, -20}, {107, 8, 1, 20, -20}, {108, 8, 1, 40, -20}, {111, 8, 1, -20, -20}, {112, 8, 1, 0, -20}, {201, 0, 1, 80, -4}, {202, 7, 1, 70, 4}, {203, 5, 1, 60, -4}, {206, 0, 1, 40, -4}, {207, 7, 1, 30, 4}, {208, 5, 1, 20, -4}, {211, 0, 1, 0, -4}, {212, 7, 1, -10, 4}, {213, 5, 1, -20, -4}, {304, 2, 0, -70, 0}, {305, 11, 0, -80, 0}, {306, 9, 0, -85, 4}, {307, 10, 0, -95, 0}, {308, 1, 0, -100, 0}, {312, 2, 0, -30, 0}, {313, 11, 0, -40, 0}, {314, 9, 0, -45, 4}, {315, 10, 0, -55, 0}, {316, 1, 0, -60, 0}}, + {{1, 3, 0, -100, -20}, + {2, 12, 0, -95, -20}, + {3, 6, 0, -85, -20}, + {4, 13, 0, -80, -20}, + {5, 4, 0, -70, -20}, + {10, 3, 0, -60, -20}, + {11, 12, 0, -55, -20}, + {12, 6, 0, -45, -20}, + {13, 13, 0, -40, -20}, + {14, 4, 0, -30, -20}, + {103, 8, 1, 60, -20}, + {104, 8, 1, 80, -20}, + {107, 8, 1, 20, -20}, + {108, 8, 1, 40, -20}, + {111, 8, 1, -20, -20}, + {112, 8, 1, 0, -20}, + {201, 0, 1, 80, -4}, + {202, 7, 1, 70, 4}, + {203, 5, 1, 60, -4}, + {206, 0, 1, 40, -4}, + {207, 7, 1, 30, 4}, + {208, 5, 1, 20, -4}, + {211, 0, 1, 0, -4}, + {212, 7, 1, -10, 4}, + {213, 5, 1, -20, -4}, + {304, 2, 0, -70, 0}, + {305, 11, 0, -80, 0}, + {306, 9, 0, -85, 4}, + {307, 10, 0, -95, 0}, + {308, 1, 0, -100, 0}, + {312, 2, 0, -30, 0}, + {313, 11, 0, -40, 0}, + {314, 9, 0, -45, 4}, + {315, 10, 0, -55, 0}, + {316, 1, 0, -60, 0}}, /* PGT */ {/* L10 */ {2, 48, {35, 36, 38, 33, 41, 34, 44, 37, 45, 32, 47, 39, 50, 40, 51, 42, 53, 43, 56, 46, 57, 48, 59, 49, 60, 52, 61, 54, 62, 55, 63, 58, -1, 31, -1, 30, -1, 29, -1, 28, -1, 27, -1, 26, -1, 24, -1, 23, -1, 20, -1, 21, -1, 16, -1, 19, -1, 12, -1, 14, -1, 11, -1, 13, -1, 7, -1, 8, -1, 5, -1, 2, -1, 6, -1, 1, -1, 3, -1, 0, -1, 4, -1, 9, -1, 10, -1, 15, -1, 17, -1, 18, -1, 22, -1, 25}}, /* L5 */ {2, 40, {23, 20, 24, 21, 26, 16, 27, 19, 28, 12, 29, 14, 30, 11, 31, 13, 58, 7, 55, 8, 54, 5, 52, 2, 49, 6, 48, 1, 46, 3, 43, 0, 42, 4, 40, 9, 39, 10, 32, 15, 37, 17, 34, 18, 33, 22, 36, 25, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, -1, 53, -1, 56, -1, 57, -1, 59, -1, 60, -1, 61, -1, 62, -1, 63, -1}}, @@ -44,19 +78,10 @@ CathodeSegmentation* createSegType19(bool isBendingPlane) /* Z1 */ {3, 40, {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}, /* Z2 */ {3, 40, {53, 51, -1, 56, 50, -1, 57, 47, -1, 59, 45, -1, 60, 44, -1, 61, 41, -1, 62, 38, -1, 63, 35, -1, -1, 36, -1, -1, 33, -1, -1, 34, -1, -1, 37, -1, -1, 32, -1, -1, 39, -1, -1, 40, -1, -1, 42, -1, -1, 43, -1, -1, 46, -1, -1, 48, -1, -1, 49, -1, -1, 52, -1, -1, 54, -1, -1, 55, -1, -1, 58, -1, -1, 31, 25, -1, 30, 22, -1, 29, 18, -1, 28, 17, -1, 27, 15, -1, 26, 10, -1, 24, 9, -1, 23, 4, -1, 20, 0, -1, 21, 3, -1, 16, 1, -1, 19, 6, -1, 12, 2, -1, 14, 5, -1, 11, 8, -1, 13, 7}}, /* Z3 */ {3, 40, {7, 13, -1, 8, 11, -1, 5, 14, -1, 2, 12, -1, 6, 19, -1, 1, 16, -1, 3, 21, -1, 0, 20, -1, 4, 23, -1, 9, 24, -1, 10, 26, -1, 15, 27, -1, 17, 28, -1, 18, 29, -1, 22, 30, -1, 25, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, -1, -1, 37, -1, -1, 34, -1, -1, 33, -1, -1, 36, -1, -1, 35, 63, -1, 38, 62, -1, 41, 61, -1, 44, 60, -1, 45, 59, -1, 47, 57, -1, 50, 56, -1, 51, 53}}, - /* Z4 */ - {3, - 40, - {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, - -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, - -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, - -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, - -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, - -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, - -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, - 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, + /* Z4 */ {3, 40, {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, /* PS */ - {{5, 0.5}, {10, 0.5}}}; + {{5, 0.5}, + {10, 0.5}}}; } else { return new CathodeSegmentation{ 19, @@ -101,7 +126,8 @@ CathodeSegmentation* createSegType19(bool isBendingPlane) /* Q3 */ {16, 5, {-1, -1, 56, 45, 36, 39, 48, 58, 28, 23, 19, 13, 2, 0, 15, 25, -1, -1, 57, 47, 35, 32, 46, 55, 29, 24, 16, 11, 5, 3, 10, 22, -1, -1, 59, 50, 38, 37, 43, 54, 30, 26, 21, 14, 8, 1, 9, 18, -1, -1, 60, 51, 41, 34, 42, 52, 31, 27, 20, 12, 7, 6, 4, 17, 63, 62, 61, 53, 44, 33, 40, 49, -1, -1, -1, -1, -1, -1, -1, -1}}, /* Q4 */ {16, 5, {60, 53, 45, 35, 37, 42, 49, 58, 27, 21, 11, 2, 4, 18, -1, -1, 61, 56, 47, 38, 34, 40, 48, 55, 28, 20, 14, 5, 0, 17, -1, -1, 62, 57, 50, 41, 33, 39, 46, 54, 29, 23, 12, 8, 3, 15, -1, -1, 63, 59, 51, 44, 36, 32, 43, 52, 30, 24, 19, 7, 1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, 26, 16, 13, 6, 9, 22, 25}}}, /* PS */ - {{0.714285714, 5}, {0.714285714, 10}}}; + {{0.714285714, 5}, + {0.714285714, 10}}}; } } class CathodeSegmentationCreatorRegisterCreateSegType19 diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType2.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType2.cxx index 2e9c9d146d155..bd80de35ccb73 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType2.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType2.cxx @@ -29,7 +29,52 @@ CathodeSegmentation* createSegType2(bool isBendingPlane) 2, true, /* PG */ - {{1, 0, 0, 50, 2}, {2, 12, 0, 45, 4}, {3, 12, 0, 40, 4}, {6, 8, 0, 35, 0}, {7, 15, 0, 30, 0}, {8, 13, 0, 27.5, 4}, {9, 14, 0, 22.5, 0}, {10, 7, 0, 20, 0}, {11, 8, 0, 15, 0}, {12, 15, 0, 10, 0}, {13, 13, 0, 7.5, 4}, {14, 14, 0, 2.5, 0}, {15, 7, 0, 0, 0}, {104, 8, 1, -50, 0}, {105, 15, 1, -60, 0}, {106, 13, 1, -65, 4}, {107, 18, 1, -75, 0}, {111, 8, 1, -10, 0}, {112, 15, 1, -20, 0}, {113, 13, 1, -25, 4}, {114, 14, 1, -35, 0}, {115, 7, 1, -40, 0}, {201, 5, 1, -75, -20}, {202, 6, 1, -70, -20}, {203, 11, 1, -65, -20}, {204, 17, 1, -60, -20}, {205, 10, 1, -50, -20}, {209, 9, 1, -40, -20}, {210, 16, 1, -35, -20}, {211, 11, 1, -25, -20}, {212, 17, 1, -20, -20}, {213, 10, 1, -10, -20}, {304, 1, 0, 40, -20}, {305, 2, 0, 42.5, -20}, {306, 3, 0, 45, -20}, {307, 4, 0, 50, -20}, {315, 9, 0, 0, -20}, {316, 16, 0, 2.5, -20}, {317, 11, 0, 7.5, -20}, {318, 17, 0, 10, -20}, {319, 10, 0, 15, -20}, {320, 9, 0, 20, -20}, {321, 16, 0, 22.5, -20}, {322, 11, 0, 27.5, -20}, {323, 17, 0, 30, -20}, {324, 10, 0, 35, -20}}, + {{1, 0, 0, 50, 2}, + {2, 12, 0, 45, 4}, + {3, 12, 0, 40, 4}, + {6, 8, 0, 35, 0}, + {7, 15, 0, 30, 0}, + {8, 13, 0, 27.5, 4}, + {9, 14, 0, 22.5, 0}, + {10, 7, 0, 20, 0}, + {11, 8, 0, 15, 0}, + {12, 15, 0, 10, 0}, + {13, 13, 0, 7.5, 4}, + {14, 14, 0, 2.5, 0}, + {15, 7, 0, 0, 0}, + {104, 8, 1, -50, 0}, + {105, 15, 1, -60, 0}, + {106, 13, 1, -65, 4}, + {107, 18, 1, -75, 0}, + {111, 8, 1, -10, 0}, + {112, 15, 1, -20, 0}, + {113, 13, 1, -25, 4}, + {114, 14, 1, -35, 0}, + {115, 7, 1, -40, 0}, + {201, 5, 1, -75, -20}, + {202, 6, 1, -70, -20}, + {203, 11, 1, -65, -20}, + {204, 17, 1, -60, -20}, + {205, 10, 1, -50, -20}, + {209, 9, 1, -40, -20}, + {210, 16, 1, -35, -20}, + {211, 11, 1, -25, -20}, + {212, 17, 1, -20, -20}, + {213, 10, 1, -10, -20}, + {304, 1, 0, 40, -20}, + {305, 2, 0, 42.5, -20}, + {306, 3, 0, 45, -20}, + {307, 4, 0, 50, -20}, + {315, 9, 0, 0, -20}, + {316, 16, 0, 2.5, -20}, + {317, 11, 0, 7.5, -20}, + {318, 17, 0, 10, -20}, + {319, 10, 0, 15, -20}, + {320, 9, 0, 20, -20}, + {321, 16, 0, 22.5, -20}, + {322, 11, 0, 27.5, -20}, + {323, 17, 0, 30, -20}, + {324, 10, 0, 35, -20}}, /* PGT */ {/* C10 */ {3, 36, {28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, 4, -1, 37, 0, -1, 34, 3, -1, 33, 1, -1, 36, 6, -1, 35, 2, -1, 38, 5, -1, 41, 8, -1, 44, 7, -1, 45, 13, -1, 47, 11, -1, 50, 14, -1, 51, 12, -1, 53, 19, -1, 56, 16, 25, 57, 21, 22, 59, 20, 18, 60, 23, 17, 61, 24, 15, 62, 26, 10, 63, 27, 9}}, /* C6 */ {2, 48, {25, 35, 22, 38, 18, 41, 17, 44, 15, 45, 10, 47, 9, 50, 4, 51, 0, 53, 3, 56, 1, 57, 6, 59, 2, 60, 5, 61, 8, 62, 7, 63, 13, -1, 11, -1, 14, -1, 12, -1, 19, -1, 16, -1, 21, -1, 20, -1, 23, -1, 24, -1, 26, -1, 27, -1, 28, -1, 29, -1, 30, -1, 31, -1, 58, -1, 55, -1, 54, -1, 52, -1, 49, -1, 48, -1, 46, -1, 43, -1, 42, -1, 40, -1, 39, -1, 32, -1, 37, -1, 34, -1, 33, -1, 36, -1}}, @@ -49,19 +94,10 @@ CathodeSegmentation* createSegType2(bool isBendingPlane) /* Z2 */ {3, 40, {53, 51, -1, 56, 50, -1, 57, 47, -1, 59, 45, -1, 60, 44, -1, 61, 41, -1, 62, 38, -1, 63, 35, -1, -1, 36, -1, -1, 33, -1, -1, 34, -1, -1, 37, -1, -1, 32, -1, -1, 39, -1, -1, 40, -1, -1, 42, -1, -1, 43, -1, -1, 46, -1, -1, 48, -1, -1, 49, -1, -1, 52, -1, -1, 54, -1, -1, 55, -1, -1, 58, -1, -1, 31, 25, -1, 30, 22, -1, 29, 18, -1, 28, 17, -1, 27, 15, -1, 26, 10, -1, 24, 9, -1, 23, 4, -1, 20, 0, -1, 21, 3, -1, 16, 1, -1, 19, 6, -1, 12, 2, -1, 14, 5, -1, 11, 8, -1, 13, 7}}, /* Z3 */ {3, 40, {7, 13, -1, 8, 11, -1, 5, 14, -1, 2, 12, -1, 6, 19, -1, 1, 16, -1, 3, 21, -1, 0, 20, -1, 4, 23, -1, 9, 24, -1, 10, 26, -1, 15, 27, -1, 17, 28, -1, 18, 29, -1, 22, 30, -1, 25, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, -1, -1, 37, -1, -1, 34, -1, -1, 33, -1, -1, 36, -1, -1, 35, 63, -1, 38, 62, -1, 41, 61, -1, 44, 60, -1, 45, 59, -1, 47, 57, -1, 50, 56, -1, 51, 53}}, /* Z4 */ {3, 40, {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}, - /* Z5 */ - {3, - 40, - {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, - -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, - -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, - -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, - -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, - 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, - 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, - 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}}, + /* Z5 */ {3, 40, {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}}, /* PS */ - {{2.5, 0.5}, {5, 0.5}}}; + {{2.5, 0.5}, + {5, 0.5}}}; } else { return new CathodeSegmentation{ 2, @@ -102,8 +138,7 @@ CathodeSegmentation* createSegType2(bool isBendingPlane) /* PGT */ {/* C1 */ {7, 10, {51, 33, 49, 26, 13, 9, -1, 53, 36, 48, 27, 11, 4, -1, 56, 35, 46, 28, 14, 0, -1, 57, 38, 43, 29, 12, 3, -1, 59, 41, 42, 30, 19, 1, 25, 60, 44, 40, 31, 16, 6, 22, 61, 45, 39, 58, 21, 2, 18, 62, 47, 32, 55, 20, 5, 17, 63, 50, 37, 54, 23, 8, 15, -1, -1, 34, 52, 24, 7, 10}}, /* C2 */ {7, 10, {60, 41, 42, 30, 19, 1, 25, 61, 44, 40, 31, 16, 6, 22, 62, 45, 39, 58, 21, 2, 18, 63, 47, 32, 55, 20, 5, 17, -1, 50, 37, 54, 23, 8, 15, -1, 51, 34, 52, 24, 7, 10, -1, 53, 33, 49, 26, 13, 9, -1, 56, 36, 48, 27, 11, 4, -1, 57, 35, 46, 28, 14, 0, -1, 59, 38, 43, 29, 12, 3}}, - /* C3 */ - {13, 10, {50, 37, 54, 23, 14, 8, 1, 4, 10, 17, 18, 22, 25, 51, 34, 52, 24, 12, 7, 6, 0, 9, 15, -1, -1, -1, 53, 33, 49, 26, 19, 13, 2, 3, -1, -1, -1, -1, -1, 56, 36, 48, 27, 16, 11, 5, -1, -1, -1, -1, -1, -1, 57, 35, 46, 28, 21, -1, -1, -1, -1, -1, -1, -1, -1, 59, 38, 43, 29, 20, -1, -1, -1, -1, -1, -1, -1, -1, 60, 41, 42, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, 61, 44, 40, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, 45, 39, 58, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, 47, 32, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1}}, + /* C3 */ {13, 10, {50, 37, 54, 23, 14, 8, 1, 4, 10, 17, 18, 22, 25, 51, 34, 52, 24, 12, 7, 6, 0, 9, 15, -1, -1, -1, 53, 33, 49, 26, 19, 13, 2, 3, -1, -1, -1, -1, -1, 56, 36, 48, 27, 16, 11, 5, -1, -1, -1, -1, -1, -1, 57, 35, 46, 28, 21, -1, -1, -1, -1, -1, -1, -1, -1, 59, 38, 43, 29, 20, -1, -1, -1, -1, -1, -1, -1, -1, 60, 41, 42, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, 61, 44, 40, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, 45, 39, 58, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, 47, 32, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1}}, /* C4 */ {16, 6, {-1, 15, 1, 13, 21, 28, 54, 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, 6, 11, 20, 29, 52, 40, -1, -1, -1, -1, -1, -1, -1, -1, 25, 9, 2, 14, 23, 30, 49, 39, 33, 41, -1, -1, -1, -1, -1, -1, 22, 4, 5, 12, 24, 31, 48, 32, 36, 44, 50, -1, -1, -1, -1, -1, 18, 0, 8, 19, 26, 58, 46, 37, 35, 45, 51, 56, 59, -1, -1, -1, 17, 3, 7, 16, 27, 55, 43, 34, 38, 47, 53, 57, 60, 61, 62, 63}}, /* C5 */ {11, 7, {25, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 0, 8, 19, 26, 58, 46, 37, 41, 53, 62, 18, 3, 7, 16, 27, 55, 43, 34, 44, 56, 63, 17, 1, 13, 21, 28, 54, 42, 33, 45, 57, -1, 15, 6, 11, 20, 29, 52, 40, 36, 47, 59, -1, 10, 2, 14, 23, 30, 49, 39, 35, 50, 60, -1, 9, 5, 12, 24, 31, 48, 32, 38, 51, 61, -1}}, /* L3 */ {20, 4, {17, 4, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 9, 1, 8, 14, 16, 23, 27, 30, 55, 49, 43, 39, 34, 35, 44, 50, 56, 60, 63, 22, 10, 3, 5, 11, 19, 20, 26, 29, 58, 52, 46, 40, 37, 36, 41, 47, 53, 59, 62, 25, 15, 0, 2, 13, 12, 21, 24, 28, 31, 54, 48, 42, 32, 33, 38, 45, 51, 57, 61}}, @@ -117,7 +152,8 @@ CathodeSegmentation* createSegType2(bool isBendingPlane) /* Q3 */ {16, 5, {-1, -1, 56, 45, 36, 39, 48, 58, 28, 23, 19, 13, 2, 0, 15, 25, -1, -1, 57, 47, 35, 32, 46, 55, 29, 24, 16, 11, 5, 3, 10, 22, -1, -1, 59, 50, 38, 37, 43, 54, 30, 26, 21, 14, 8, 1, 9, 18, -1, -1, 60, 51, 41, 34, 42, 52, 31, 27, 20, 12, 7, 6, 4, 17, 63, 62, 61, 53, 44, 33, 40, 49, -1, -1, -1, -1, -1, -1, -1, -1}}, /* Q4 */ {16, 5, {60, 53, 45, 35, 37, 42, 49, 58, 27, 21, 11, 2, 4, 18, -1, -1, 61, 56, 47, 38, 34, 40, 48, 55, 28, 20, 14, 5, 0, 17, -1, -1, 62, 57, 50, 41, 33, 39, 46, 54, 29, 23, 12, 8, 3, 15, -1, -1, 63, 59, 51, 44, 36, 32, 43, 52, 30, 24, 19, 7, 1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, 26, 16, 13, 6, 9, 22, 25}}}, /* PS */ - {{0.714285714, 2.5}, {0.714285714, 5}}}; + {{0.714285714, 2.5}, + {0.714285714, 5}}}; } } class CathodeSegmentationCreatorRegisterCreateSegType2 diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType20.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType20.cxx index b4f58cd366888..760af4b1a88f8 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType20.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType20.cxx @@ -29,15 +29,33 @@ CathodeSegmentation* createSegType20(bool isBendingPlane) 20, true, /* PG */ - {{1, 1, 0, -80, -20}, {2, 5, 0, -70, -20}, {3, 2, 0, -60, -20}, {103, 5, 0, 40, -20}, {104, 5, 0, 60, -20}, {107, 5, 0, 0, -20}, {108, 5, 0, 20, -20}, {111, 5, 0, -40, -20}, {112, 5, 0, -20, -20}, {201, 0, 0, 60, -4}, {202, 4, 0, 50, 4}, {203, 3, 0, 40, -4}, {206, 0, 0, 20, -4}, {207, 4, 0, 10, 4}, {208, 3, 0, 0, -4}, {211, 0, 0, -20, -4}, {212, 4, 0, -30, 4}, {213, 3, 0, -40, -4}, {303, 4, 0, -60, 4}, {304, 4, 0, -80, 4}}, + {{1, 1, 0, -80, -20}, + {2, 5, 0, -70, -20}, + {3, 2, 0, -60, -20}, + {103, 5, 0, 40, -20}, + {104, 5, 0, 60, -20}, + {107, 5, 0, 0, -20}, + {108, 5, 0, 20, -20}, + {111, 5, 0, -40, -20}, + {112, 5, 0, -20, -20}, + {201, 0, 0, 60, -4}, + {202, 4, 0, 50, 4}, + {203, 3, 0, 40, -4}, + {206, 0, 0, 20, -4}, + {207, 4, 0, 10, 4}, + {208, 3, 0, 0, -4}, + {211, 0, 0, -20, -4}, + {212, 4, 0, -30, 4}, + {213, 3, 0, -40, -4}, + {303, 4, 0, -60, 4}, + {304, 4, 0, -80, 4}}, /* PGT */ {/* L10 */ {2, 48, {35, 36, 38, 33, 41, 34, 44, 37, 45, 32, 47, 39, 50, 40, 51, 42, 53, 43, 56, 46, 57, 48, 59, 49, 60, 52, 61, 54, 62, 55, 63, 58, -1, 31, -1, 30, -1, 29, -1, 28, -1, 27, -1, 26, -1, 24, -1, 23, -1, 20, -1, 21, -1, 16, -1, 19, -1, 12, -1, 14, -1, 11, -1, 13, -1, 7, -1, 8, -1, 5, -1, 2, -1, 6, -1, 1, -1, 3, -1, 0, -1, 4, -1, 9, -1, 10, -1, 15, -1, 17, -1, 18, -1, 22, -1, 25}}, /* L19 */ {2, 48, {25, -1, 22, -1, 18, -1, 17, -1, 15, -1, 10, -1, 9, -1, 4, -1, 0, -1, 3, -1, 1, -1, 6, -1, 2, -1, 5, -1, 8, -1, 7, -1, 13, -1, 11, -1, 14, -1, 12, -1, 19, -1, 16, -1, 21, -1, 20, -1, 23, -1, 24, -1, 26, -1, 27, -1, 28, -1, 29, -1, 30, -1, 31, -1, 58, 63, 55, 62, 54, 61, 52, 60, 49, 59, 48, 57, 46, 56, 43, 53, 42, 51, 40, 50, 39, 47, 32, 45, 37, 44, 34, 41, 33, 38, 36, 35}}, /* L20 */ {2, 48, {-1, 63, -1, 62, -1, 61, -1, 60, -1, 59, -1, 57, -1, 56, -1, 53, -1, 51, -1, 50, -1, 47, -1, 45, -1, 44, -1, 41, -1, 38, -1, 35, -1, 36, -1, 33, -1, 34, -1, 37, -1, 32, -1, 39, -1, 40, -1, 42, -1, 43, -1, 46, -1, 48, -1, 49, -1, 52, -1, 54, -1, 55, -1, 58, 25, 31, 22, 30, 18, 29, 17, 28, 15, 27, 10, 26, 9, 24, 4, 23, 0, 20, 3, 21, 1, 16, 6, 19, 2, 12, 5, 14, 8, 11, 7, 13}}, /* L9 */ {2, 48, {13, 7, 11, 8, 14, 5, 12, 2, 19, 6, 16, 1, 21, 3, 20, 0, 23, 4, 24, 9, 26, 10, 27, 15, 28, 17, 29, 18, 30, 22, 31, 25, 58, -1, 55, -1, 54, -1, 52, -1, 49, -1, 48, -1, 46, -1, 43, -1, 42, -1, 40, -1, 39, -1, 32, -1, 37, -1, 34, -1, 33, -1, 36, -1, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, -1, 53, -1, 56, -1, 57, -1, 59, -1, 60, -1, 61, -1, 62, -1, 63, -1}}, /* O11 */ {2, 32, {58, 31, 55, 30, 54, 29, 52, 28, 49, 27, 48, 26, 46, 24, 43, 23, 42, 20, 40, 21, 39, 16, 32, 19, 37, 12, 34, 14, 33, 11, 36, 13, 35, 7, 38, 8, 41, 5, 44, 2, 45, 6, 47, 1, 50, 3, 51, 0, 53, 4, 56, 9, 57, 10, 59, 15, 60, 17, 61, 18, 62, 22, 63, 25}}, - /* O12 */ - {2, 32, {25, 63, 22, 62, 18, 61, 17, 60, 15, 59, 10, 57, 9, 56, 4, 53, 0, 51, 3, 50, 1, 47, 6, 45, 2, 44, 5, 41, 8, 38, 7, 35, 13, 36, 11, 33, 14, 34, 12, 37, 19, 32, 16, 39, 21, 40, 20, 42, 23, 43, 24, 46, 26, 48, 27, 49, 28, 52, 29, 54, 30, 55, 31, 58}}}, + /* O12 */ {2, 32, {25, 63, 22, 62, 18, 61, 17, 60, 15, 59, 10, 57, 9, 56, 4, 53, 0, 51, 3, 50, 1, 47, 6, 45, 2, 44, 5, 41, 8, 38, 7, 35, 13, 36, 11, 33, 14, 34, 12, 37, 19, 32, 16, 39, 21, 40, 20, 42, 23, 43, 24, 46, 26, 48, 27, 49, 28, 52, 29, 54, 30, 55, 31, 58}}}, /* PS */ {{10, 0.5}}}; } else { diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType3.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType3.cxx index e5f88c6ad0c84..bd7bd37f11cb0 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType3.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType3.cxx @@ -29,7 +29,62 @@ CathodeSegmentation* createSegType3(bool isBendingPlane) 3, true, /* PG */ - {{4, 20, 0, 40, -20}, {5, 21, 0, 45, -20}, {6, 21, 0, 50, -20}, {7, 11, 0, 55, -17.5}, {101, 13, 1, -75, -20}, {102, 14, 1, -70, -20}, {103, 19, 1, -65, -20}, {104, 26, 1, -60, -20}, {105, 18, 1, -50, -20}, {109, 17, 1, -40, -20}, {110, 25, 1, -35, -20}, {111, 19, 1, -25, -20}, {112, 26, 1, -20, -20}, {113, 18, 1, -10, -20}, {118, 17, 0, 0, -20}, {119, 25, 0, 2.5, -20}, {120, 19, 0, 7.5, -20}, {121, 26, 0, 10, -20}, {122, 18, 0, 15, -20}, {123, 17, 0, 20, -20}, {124, 25, 0, 22.5, -20}, {125, 19, 0, 27.5, -20}, {126, 26, 0, 30, -20}, {127, 18, 0, 35, -20}, {204, 16, 1, -50, 0}, {205, 24, 1, -60, 0}, {206, 22, 1, -65, 4}, {207, 27, 1, -75, 0}, {211, 16, 1, -10, 0}, {212, 24, 1, -20, 0}, {213, 22, 1, -25, 4}, {214, 23, 1, -35, 0}, {215, 15, 1, -40, 0}, {223, 16, 0, 35, 0}, {224, 24, 0, 30, 0}, {225, 22, 0, 27.5, 4}, {226, 23, 0, 22.5, 0}, {227, 15, 0, 20, 0}, {228, 16, 0, 15, 0}, {229, 24, 0, 10, 0}, {230, 22, 0, 7.5, 4}, {231, 23, 0, 2.5, 0}, {232, 15, 0, 0, 0}, {401, 12, 0, 75, -7}, {402, 0, 0, 72.5, -7.5}, {403, 1, 0, 70, -8}, {404, 2, 0, 67.5, 1}, {405, 3, 0, 65, -8.5}, {406, 4, 0, 62.5, -10}, {407, 5, 0, 60, -11}, {408, 6, 0, 55, -4}, {409, 7, 0, 52.5, -4}, {410, 8, 0, 50, -4}, {411, 10, 0, 45, -4}, {412, 7, 0, 42.5, -4}, {413, 9, 0, 40, -4}}, + {{4, 20, 0, 40, -20}, + {5, 21, 0, 45, -20}, + {6, 21, 0, 50, -20}, + {7, 11, 0, 55, -17.5}, + {101, 13, 1, -75, -20}, + {102, 14, 1, -70, -20}, + {103, 19, 1, -65, -20}, + {104, 26, 1, -60, -20}, + {105, 18, 1, -50, -20}, + {109, 17, 1, -40, -20}, + {110, 25, 1, -35, -20}, + {111, 19, 1, -25, -20}, + {112, 26, 1, -20, -20}, + {113, 18, 1, -10, -20}, + {118, 17, 0, 0, -20}, + {119, 25, 0, 2.5, -20}, + {120, 19, 0, 7.5, -20}, + {121, 26, 0, 10, -20}, + {122, 18, 0, 15, -20}, + {123, 17, 0, 20, -20}, + {124, 25, 0, 22.5, -20}, + {125, 19, 0, 27.5, -20}, + {126, 26, 0, 30, -20}, + {127, 18, 0, 35, -20}, + {204, 16, 1, -50, 0}, + {205, 24, 1, -60, 0}, + {206, 22, 1, -65, 4}, + {207, 27, 1, -75, 0}, + {211, 16, 1, -10, 0}, + {212, 24, 1, -20, 0}, + {213, 22, 1, -25, 4}, + {214, 23, 1, -35, 0}, + {215, 15, 1, -40, 0}, + {223, 16, 0, 35, 0}, + {224, 24, 0, 30, 0}, + {225, 22, 0, 27.5, 4}, + {226, 23, 0, 22.5, 0}, + {227, 15, 0, 20, 0}, + {228, 16, 0, 15, 0}, + {229, 24, 0, 10, 0}, + {230, 22, 0, 7.5, 4}, + {231, 23, 0, 2.5, 0}, + {232, 15, 0, 0, 0}, + {401, 12, 0, 75, -7}, + {402, 0, 0, 72.5, -7.5}, + {403, 1, 0, 70, -8}, + {404, 2, 0, 67.5, 1}, + {405, 3, 0, 65, -8.5}, + {406, 4, 0, 62.5, -10}, + {407, 5, 0, 60, -11}, + {408, 6, 0, 55, -4}, + {409, 7, 0, 52.5, -4}, + {410, 8, 0, 50, -4}, + {411, 10, 0, 45, -4}, + {412, 7, 0, 42.5, -4}, + {413, 9, 0, 40, -4}}, /* PGT */ {/* A10 */ {2, 55, {32, -1, 37, -1, 34, -1, 33, -1, 36, -1, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, 25, 53, 22, 56, 18, 57, 17, 59, 15, 60, 10, 61, 9, 62, 4, 63, 0, -1, 3, -1, 1, -1, 6, -1, 2, -1, 5, -1, 8, -1, 7, -1, 13, -1, 11, -1, 14, -1, 12, -1, 19, -1, 16, -1, 21, -1, 20, -1, 23, -1, 24, -1, 26, -1, 27, -1, 28, -1, 29, -1, 30, -1, 31, -1, 39, -1, 40, -1, 42, -1, 43, -1, 46, -1, 48, -1, 49, -1, 52, -1, 54, -1, 55, -1, 58}}, /* A11 */ {2, 56, {54, -1, 52, -1, 49, -1, 48, -1, 46, -1, 43, -1, 42, -1, 40, -1, 39, -1, 32, -1, 37, -1, 34, -1, 33, -1, 36, -1, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, -1, 53, 25, 56, 22, 57, 18, 59, 17, 60, 15, 61, 10, 62, 9, 63, 4, -1, 0, -1, 3, -1, 1, -1, 6, -1, 2, -1, 5, -1, 8, -1, 7, -1, 13, -1, 11, -1, 14, -1, 12, -1, 19, -1, 16, -1, 21, -1, 20, -1, 23, -1, 24, -1, 26, -1, 27, -1, 28, -1, 29, -1, 30, -1, 31, -1, 55, -1, 58}}, @@ -58,19 +113,10 @@ CathodeSegmentation* createSegType3(bool isBendingPlane) /* Z2 */ {3, 40, {53, 51, -1, 56, 50, -1, 57, 47, -1, 59, 45, -1, 60, 44, -1, 61, 41, -1, 62, 38, -1, 63, 35, -1, -1, 36, -1, -1, 33, -1, -1, 34, -1, -1, 37, -1, -1, 32, -1, -1, 39, -1, -1, 40, -1, -1, 42, -1, -1, 43, -1, -1, 46, -1, -1, 48, -1, -1, 49, -1, -1, 52, -1, -1, 54, -1, -1, 55, -1, -1, 58, -1, -1, 31, 25, -1, 30, 22, -1, 29, 18, -1, 28, 17, -1, 27, 15, -1, 26, 10, -1, 24, 9, -1, 23, 4, -1, 20, 0, -1, 21, 3, -1, 16, 1, -1, 19, 6, -1, 12, 2, -1, 14, 5, -1, 11, 8, -1, 13, 7}}, /* Z3 */ {3, 40, {7, 13, -1, 8, 11, -1, 5, 14, -1, 2, 12, -1, 6, 19, -1, 1, 16, -1, 3, 21, -1, 0, 20, -1, 4, 23, -1, 9, 24, -1, 10, 26, -1, 15, 27, -1, 17, 28, -1, 18, 29, -1, 22, 30, -1, 25, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, -1, -1, 37, -1, -1, 34, -1, -1, 33, -1, -1, 36, -1, -1, 35, 63, -1, 38, 62, -1, 41, 61, -1, 44, 60, -1, 45, 59, -1, 47, 57, -1, 50, 56, -1, 51, 53}}, /* Z4 */ {3, 40, {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}, - /* Z5 */ - {3, - 40, - {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, - -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, - -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, - -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, - -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, - 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, - 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, - 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}}, + /* Z5 */ {3, 40, {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}}, /* PS */ - {{2.5, 0.5}, {5, 0.5}}}; + {{2.5, 0.5}, + {5, 0.5}}}; } else { return new CathodeSegmentation{ 3, @@ -118,8 +164,7 @@ CathodeSegmentation* createSegType3(bool isBendingPlane) /* PGT */ {/* A1 */ {9, 8, {53, 35, 42, 58, 23, 13, -1, -1, -1, 56, 38, 40, 55, 24, 11, 3, 18, 25, 57, 41, 39, 54, 26, 14, 1, 17, 22, 59, 44, 32, 52, 27, 12, 6, 15, -1, 60, 45, 37, 49, 28, 19, 2, 10, -1, 61, 47, 34, 48, 29, 16, 5, 9, -1, 62, 50, 33, 46, 30, 21, 8, 4, -1, 63, 51, 36, 43, 31, 20, 7, 0, -1}}, /* A2 */ {5, 14, {-1, 5, 27, 40, 51, 25, 8, 28, 39, 53, 22, 7, 29, 32, 56, 18, 13, 30, 37, 57, 17, 11, 31, 34, 59, 15, 14, 58, 33, 60, 10, 12, 55, 36, 61, 9, 19, 54, 35, 62, 4, 16, 52, 38, 63, 0, 21, 49, 41, -1, 3, 20, 48, 44, -1, 1, 23, 46, 45, -1, 6, 24, 43, 47, -1, 2, 26, 42, 50, -1}}, - /* A3 */ - {6, 13, {-1, 10, 14, 31, 37, 56, -1, 9, 12, 58, 34, 57, -1, 4, 19, 55, 33, 59, -1, 0, 16, 54, 36, 60, -1, 3, 21, 52, 35, 61, -1, 1, 20, 49, 38, 62, -1, 6, 23, 48, 41, 63, -1, 2, 24, 46, 44, -1, 25, 5, 26, 43, 45, -1, 22, 8, 27, 42, 47, -1, 18, 7, 28, 40, 50, -1, 17, 13, 29, 39, 51, -1, 15, 11, 30, 32, 53, -1}}, + /* A3 */ {6, 13, {-1, 10, 14, 31, 37, 56, -1, 9, 12, 58, 34, 57, -1, 4, 19, 55, 33, 59, -1, 0, 16, 54, 36, 60, -1, 3, 21, 52, 35, 61, -1, 1, 20, 49, 38, 62, -1, 6, 23, 48, 41, 63, -1, 2, 24, 46, 44, -1, 25, 5, 26, 43, 45, -1, 22, 8, 27, 42, 47, -1, 18, 7, 28, 40, 50, -1, 17, 13, 29, 39, 51, -1, 15, 11, 30, 32, 53, -1}}, /* A4 */ {6, 12, {-1, 9, 14, 30, 39, 50, -1, 4, 12, 31, 32, 51, -1, 0, 19, 58, 37, 53, -1, 3, 16, 55, 34, 56, -1, 1, 21, 54, 33, 57, -1, 6, 20, 52, 36, 59, 25, 2, 23, 49, 35, 60, 22, 5, 24, 48, 38, 61, 18, 8, 26, 46, 41, 62, 17, 7, 27, 43, 44, 63, 15, 13, 28, 42, 45, -1, 10, 11, 29, 40, 47, -1}}, /* A5 */ {7, 12, {-1, 18, 8, 26, -1, -1, -1, -1, 17, 7, 27, 46, 38, 60, -1, 15, 13, 28, 43, 41, 61, -1, 10, 11, 29, 42, 44, 62, -1, 9, 14, 30, 40, 45, 63, -1, 4, 12, 31, 39, 47, -1, -1, 0, 19, 58, 32, 50, -1, -1, 3, 16, 55, 37, 51, -1, -1, 1, 21, 54, 34, 53, -1, -1, 6, 20, 52, 33, 56, -1, 25, 2, 23, 49, 36, 57, -1, 22, 5, 24, 48, 35, 59, -1}}, /* A6 */ {7, 11, {-1, 4, 14, 29, 42, 44, 62, -1, 0, 12, 30, 40, 45, 63, -1, 3, 19, 31, 39, 47, -1, -1, 1, 16, 58, 32, 50, -1, 25, 6, 21, 55, 37, 51, -1, 22, 2, 20, 54, 34, 53, -1, 18, 5, 23, 52, 33, 56, -1, 17, 8, 24, 49, 36, 57, -1, 15, 7, 26, 48, 35, 59, -1, 10, 13, 27, 46, 38, 60, -1, 9, 11, 28, 43, 41, 61, -1}}, @@ -137,7 +182,8 @@ CathodeSegmentation* createSegType3(bool isBendingPlane) /* Q3 */ {16, 5, {-1, -1, 56, 45, 36, 39, 48, 58, 28, 23, 19, 13, 2, 0, 15, 25, -1, -1, 57, 47, 35, 32, 46, 55, 29, 24, 16, 11, 5, 3, 10, 22, -1, -1, 59, 50, 38, 37, 43, 54, 30, 26, 21, 14, 8, 1, 9, 18, -1, -1, 60, 51, 41, 34, 42, 52, 31, 27, 20, 12, 7, 6, 4, 17, 63, 62, 61, 53, 44, 33, 40, 49, -1, -1, -1, -1, -1, -1, -1, -1}}, /* Q4 */ {16, 5, {60, 53, 45, 35, 37, 42, 49, 58, 27, 21, 11, 2, 4, 18, -1, -1, 61, 56, 47, 38, 34, 40, 48, 55, 28, 20, 14, 5, 0, 17, -1, -1, 62, 57, 50, 41, 33, 39, 46, 54, 29, 23, 12, 8, 3, 15, -1, -1, 63, 59, 51, 44, 36, 32, 43, 52, 30, 24, 19, 7, 1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, 26, 16, 13, 6, 9, 22, 25}}}, /* PS */ - {{0.714285714, 2.5}, {0.714285714, 5}}}; + {{0.714285714, 2.5}, + {0.714285714, 5}}}; } } class CathodeSegmentationCreatorRegisterCreateSegType3 diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType4.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType4.cxx index 11a1b04709fb4..b51d1d884f8c2 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType4.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType4.cxx @@ -29,7 +29,55 @@ CathodeSegmentation* createSegType4(bool isBendingPlane) 4, true, /* PG */ - {{1, 2, 0, -80, -20}, {2, 17, 0, -77.5, -20}, {3, 4, 0, -72.5, -20}, {4, 18, 0, -70, -20}, {5, 3, 0, -65, -20}, {6, 2, 0, -60, -20}, {7, 17, 0, -57.5, -20}, {8, 4, 0, -52.5, -20}, {9, 18, 0, -50, -20}, {10, 3, 0, -45, -20}, {104, 6, 1, 40, -20}, {105, 7, 1, 45, -20}, {106, 8, 1, 55, -20}, {107, 9, 1, 60, -20}, {111, 2, 1, 0, -20}, {112, 17, 1, 5, -20}, {113, 4, 1, 15, -20}, {114, 18, 1, 20, -20}, {115, 3, 1, 30, -20}, {119, 2, 1, -40, -20}, {120, 17, 1, -35, -20}, {121, 4, 1, -25, -20}, {122, 18, 1, -20, -20}, {123, 3, 1, -10, -20}, {201, 10, 1, 70, -12}, {202, 11, 1, 60, 0}, {203, 12, 1, 55, 4}, {204, 13, 1, 45, 0}, {205, 14, 1, 40, 0}, {209, 1, 1, 30, 0}, {210, 16, 1, 20, 0}, {211, 5, 1, 15, 4}, {212, 15, 1, 5, 0}, {213, 0, 1, 0, 0}, {218, 1, 1, -10, 0}, {219, 16, 1, -20, 0}, {220, 5, 1, -25, 4}, {221, 15, 1, -35, 0}, {222, 0, 1, -40, 0}, {308, 1, 0, -45, 0}, {309, 16, 0, -50, 0}, {310, 5, 0, -52.5, 4}, {311, 15, 0, -57.5, 0}, {312, 0, 0, -60, 0}, {313, 1, 0, -65, 0}, {314, 16, 0, -70, 0}, {315, 5, 0, -72.5, 4}, {316, 15, 0, -77.5, 0}, {317, 0, 0, -80, 0}}, + {{1, 2, 0, -80, -20}, + {2, 17, 0, -77.5, -20}, + {3, 4, 0, -72.5, -20}, + {4, 18, 0, -70, -20}, + {5, 3, 0, -65, -20}, + {6, 2, 0, -60, -20}, + {7, 17, 0, -57.5, -20}, + {8, 4, 0, -52.5, -20}, + {9, 18, 0, -50, -20}, + {10, 3, 0, -45, -20}, + {104, 6, 1, 40, -20}, + {105, 7, 1, 45, -20}, + {106, 8, 1, 55, -20}, + {107, 9, 1, 60, -20}, + {111, 2, 1, 0, -20}, + {112, 17, 1, 5, -20}, + {113, 4, 1, 15, -20}, + {114, 18, 1, 20, -20}, + {115, 3, 1, 30, -20}, + {119, 2, 1, -40, -20}, + {120, 17, 1, -35, -20}, + {121, 4, 1, -25, -20}, + {122, 18, 1, -20, -20}, + {123, 3, 1, -10, -20}, + {201, 10, 1, 70, -12}, + {202, 11, 1, 60, 0}, + {203, 12, 1, 55, 4}, + {204, 13, 1, 45, 0}, + {205, 14, 1, 40, 0}, + {209, 1, 1, 30, 0}, + {210, 16, 1, 20, 0}, + {211, 5, 1, 15, 4}, + {212, 15, 1, 5, 0}, + {213, 0, 1, 0, 0}, + {218, 1, 1, -10, 0}, + {219, 16, 1, -20, 0}, + {220, 5, 1, -25, 4}, + {221, 15, 1, -35, 0}, + {222, 0, 1, -40, 0}, + {308, 1, 0, -45, 0}, + {309, 16, 0, -50, 0}, + {310, 5, 0, -52.5, 4}, + {311, 15, 0, -57.5, 0}, + {312, 0, 0, -60, 0}, + {313, 1, 0, -65, 0}, + {314, 16, 0, -70, 0}, + {315, 5, 0, -72.5, 4}, + {316, 15, 0, -77.5, 0}, + {317, 0, 0, -80, 0}}, /* PGT */ {/* L5 */ {2, 40, {23, 20, 24, 21, 26, 16, 27, 19, 28, 12, 29, 14, 30, 11, 31, 13, 58, 7, 55, 8, 54, 5, 52, 2, 49, 6, 48, 1, 46, 3, 43, 0, 42, 4, 40, 9, 39, 10, 32, 15, 37, 17, 34, 18, 33, 22, 36, 25, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, -1, 53, -1, 56, -1, 57, -1, 59, -1, 60, -1, 61, -1, 62, -1, 63, -1}}, /* L6 */ {2, 40, {42, 43, 40, 46, 39, 48, 32, 49, 37, 52, 34, 54, 33, 55, 36, 58, 35, 31, 38, 30, 41, 29, 44, 28, 45, 27, 47, 26, 50, 24, 51, 23, 53, 20, 56, 21, 57, 16, 59, 19, 60, 12, 61, 14, 62, 11, 63, 13, -1, 7, -1, 8, -1, 5, -1, 2, -1, 6, -1, 1, -1, 3, -1, 0, -1, 4, -1, 9, -1, 10, -1, 15, -1, 17, -1, 18, -1, 22, -1, 25}}, @@ -49,19 +97,10 @@ CathodeSegmentation* createSegType4(bool isBendingPlane) /* Z1 */ {3, 40, {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}, /* Z2 */ {3, 40, {53, 51, -1, 56, 50, -1, 57, 47, -1, 59, 45, -1, 60, 44, -1, 61, 41, -1, 62, 38, -1, 63, 35, -1, -1, 36, -1, -1, 33, -1, -1, 34, -1, -1, 37, -1, -1, 32, -1, -1, 39, -1, -1, 40, -1, -1, 42, -1, -1, 43, -1, -1, 46, -1, -1, 48, -1, -1, 49, -1, -1, 52, -1, -1, 54, -1, -1, 55, -1, -1, 58, -1, -1, 31, 25, -1, 30, 22, -1, 29, 18, -1, 28, 17, -1, 27, 15, -1, 26, 10, -1, 24, 9, -1, 23, 4, -1, 20, 0, -1, 21, 3, -1, 16, 1, -1, 19, 6, -1, 12, 2, -1, 14, 5, -1, 11, 8, -1, 13, 7}}, /* Z3 */ {3, 40, {7, 13, -1, 8, 11, -1, 5, 14, -1, 2, 12, -1, 6, 19, -1, 1, 16, -1, 3, 21, -1, 0, 20, -1, 4, 23, -1, 9, 24, -1, 10, 26, -1, 15, 27, -1, 17, 28, -1, 18, 29, -1, 22, 30, -1, 25, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, -1, -1, 37, -1, -1, 34, -1, -1, 33, -1, -1, 36, -1, -1, 35, 63, -1, 38, 62, -1, 41, 61, -1, 44, 60, -1, 45, 59, -1, 47, 57, -1, 50, 56, -1, 51, 53}}, - /* Z4 */ - {3, - 40, - {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, - -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, - -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, - -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, - -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, - -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, - -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, - 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, + /* Z4 */ {3, 40, {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, /* PS */ - {{2.5, 0.5}, {5, 0.5}}}; + {{2.5, 0.5}, + {5, 0.5}}}; } else { return new CathodeSegmentation{ 4, @@ -113,7 +152,8 @@ CathodeSegmentation* createSegType4(bool isBendingPlane) /* Q1 */ {14, 5, {-1, -1, -1, -1, 19, 24, 30, 52, 42, 34, 41, 51, -1, -1, 17, 4, 6, 7, 12, 23, 29, 54, 43, 37, 38, 50, 59, 63, 18, 9, 1, 8, 14, 20, 28, 55, 46, 32, 35, 47, 57, 62, 22, 10, 3, 5, 11, 21, 27, 58, 48, 39, 36, 45, 56, 61, 25, 15, 0, 2, 13, 16, 26, 31, 49, 40, 33, 44, 53, 60}}, /* Q2 */ {14, 5, {-1, -1, 2, 11, 21, 27, 58, 48, 39, 36, -1, -1, -1, -1, 17, 4, 6, 13, 16, 26, 31, 49, 40, 33, 44, 51, 59, 63, 18, 9, 1, 7, 19, 24, 30, 52, 42, 34, 41, 50, 57, 62, 22, 10, 3, 8, 12, 23, 29, 54, 43, 37, 38, 47, 56, 61, 25, 15, 0, 5, 14, 20, 28, 55, 46, 32, 35, 45, 53, 60}}}, /* PS */ - {{0.714285714, 2.5}, {0.714285714, 5}}}; + {{0.714285714, 2.5}, + {0.714285714, 5}}}; } } class CathodeSegmentationCreatorRegisterCreateSegType4 diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType5.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType5.cxx index d20301c88b869..955bc1c0fced6 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType5.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType5.cxx @@ -29,7 +29,36 @@ CathodeSegmentation* createSegType5(bool isBendingPlane) 5, true, /* PG */ - {{4, 2, 0, 20, -20}, {5, 8, 0, 25, -20}, {6, 4, 0, 35, -20}, {7, 9, 0, 40, -20}, {8, 3, 0, 50, -20}, {12, 2, 0, -20, -20}, {13, 8, 0, -15, -20}, {14, 4, 0, -5, -20}, {15, 9, 0, 0, -20}, {16, 3, 0, 10, -20}, {20, 2, 0, -60, -20}, {21, 8, 0, -55, -20}, {22, 4, 0, -45, -20}, {23, 9, 0, -40, -20}, {24, 3, 0, -30, -20}, {101, 1, 0, 50, 0}, {102, 7, 0, 40, 0}, {103, 5, 0, 35, 4}, {104, 6, 0, 25, 0}, {105, 0, 0, 20, 0}, {110, 1, 0, 10, 0}, {111, 7, 0, 0, 0}, {112, 5, 0, -5, 4}, {113, 6, 0, -15, 0}, {114, 0, 0, -20, 0}, {119, 1, 0, -30, 0}, {120, 7, 0, -40, 0}, {121, 5, 0, -45, 4}, {122, 6, 0, -55, 0}, {123, 0, 0, -60, 0}}, + {{4, 2, 0, 20, -20}, + {5, 8, 0, 25, -20}, + {6, 4, 0, 35, -20}, + {7, 9, 0, 40, -20}, + {8, 3, 0, 50, -20}, + {12, 2, 0, -20, -20}, + {13, 8, 0, -15, -20}, + {14, 4, 0, -5, -20}, + {15, 9, 0, 0, -20}, + {16, 3, 0, 10, -20}, + {20, 2, 0, -60, -20}, + {21, 8, 0, -55, -20}, + {22, 4, 0, -45, -20}, + {23, 9, 0, -40, -20}, + {24, 3, 0, -30, -20}, + {101, 1, 0, 50, 0}, + {102, 7, 0, 40, 0}, + {103, 5, 0, 35, 4}, + {104, 6, 0, 25, 0}, + {105, 0, 0, 20, 0}, + {110, 1, 0, 10, 0}, + {111, 7, 0, 0, 0}, + {112, 5, 0, -5, 4}, + {113, 6, 0, -15, 0}, + {114, 0, 0, -20, 0}, + {119, 1, 0, -30, 0}, + {120, 7, 0, -40, 0}, + {121, 5, 0, -45, 4}, + {122, 6, 0, -55, 0}, + {123, 0, 0, -60, 0}}, /* PGT */ {/* L5 */ {2, 40, {23, 20, 24, 21, 26, 16, 27, 19, 28, 12, 29, 14, 30, 11, 31, 13, 58, 7, 55, 8, 54, 5, 52, 2, 49, 6, 48, 1, 46, 3, 43, 0, 42, 4, 40, 9, 39, 10, 32, 15, 37, 17, 34, 18, 33, 22, 36, 25, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, -1, 53, -1, 56, -1, 57, -1, 59, -1, 60, -1, 61, -1, 62, -1, 63, -1}}, /* L6 */ {2, 40, {42, 43, 40, 46, 39, 48, 32, 49, 37, 52, 34, 54, 33, 55, 36, 58, 35, 31, 38, 30, 41, 29, 44, 28, 45, 27, 47, 26, 50, 24, 51, 23, 53, 20, 56, 21, 57, 16, 59, 19, 60, 12, 61, 14, 62, 11, 63, 13, -1, 7, -1, 8, -1, 5, -1, 2, -1, 6, -1, 1, -1, 3, -1, 0, -1, 4, -1, 9, -1, 10, -1, 15, -1, 17, -1, 18, -1, 22, -1, 25}}, @@ -40,17 +69,7 @@ CathodeSegmentation* createSegType5(bool isBendingPlane) /* Z1 */ {3, 40, {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}, /* Z2 */ {3, 40, {53, 51, -1, 56, 50, -1, 57, 47, -1, 59, 45, -1, 60, 44, -1, 61, 41, -1, 62, 38, -1, 63, 35, -1, -1, 36, -1, -1, 33, -1, -1, 34, -1, -1, 37, -1, -1, 32, -1, -1, 39, -1, -1, 40, -1, -1, 42, -1, -1, 43, -1, -1, 46, -1, -1, 48, -1, -1, 49, -1, -1, 52, -1, -1, 54, -1, -1, 55, -1, -1, 58, -1, -1, 31, 25, -1, 30, 22, -1, 29, 18, -1, 28, 17, -1, 27, 15, -1, 26, 10, -1, 24, 9, -1, 23, 4, -1, 20, 0, -1, 21, 3, -1, 16, 1, -1, 19, 6, -1, 12, 2, -1, 14, 5, -1, 11, 8, -1, 13, 7}}, /* Z3 */ {3, 40, {7, 13, -1, 8, 11, -1, 5, 14, -1, 2, 12, -1, 6, 19, -1, 1, 16, -1, 3, 21, -1, 0, 20, -1, 4, 23, -1, 9, 24, -1, 10, 26, -1, 15, 27, -1, 17, 28, -1, 18, 29, -1, 22, 30, -1, 25, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, -1, -1, 37, -1, -1, 34, -1, -1, 33, -1, -1, 36, -1, -1, 35, 63, -1, 38, 62, -1, 41, 61, -1, 44, 60, -1, 45, 59, -1, 47, 57, -1, 50, 56, -1, 51, 53}}, - /* Z4 */ - {3, - 40, - {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, - -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, - -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, - -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, - -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, - -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, - -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, - 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, + /* Z4 */ {3, 40, {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, /* PS */ {{5, 0.5}}}; } else { diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType6.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType6.cxx index 41b8cfdb9b1cb..63422f44f511f 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType6.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType6.cxx @@ -29,7 +29,26 @@ CathodeSegmentation* createSegType6(bool isBendingPlane) 6, true, /* PG */ - {{4, 2, 0, 0, -20}, {5, 8, 0, 5, -20}, {6, 4, 0, 15, -20}, {7, 9, 0, 20, -20}, {8, 3, 0, 30, -20}, {12, 2, 0, -40, -20}, {13, 8, 0, -35, -20}, {14, 4, 0, -25, -20}, {15, 9, 0, -20, -20}, {16, 3, 0, -10, -20}, {101, 1, 0, 30, 0}, {102, 7, 0, 20, 0}, {103, 5, 0, 15, 4}, {104, 6, 0, 5, 0}, {105, 0, 0, 0, 0}, {110, 1, 0, -10, 0}, {111, 7, 0, -20, 0}, {112, 5, 0, -25, 4}, {113, 6, 0, -35, 0}, {114, 0, 0, -40, 0}}, + {{4, 2, 0, 0, -20}, + {5, 8, 0, 5, -20}, + {6, 4, 0, 15, -20}, + {7, 9, 0, 20, -20}, + {8, 3, 0, 30, -20}, + {12, 2, 0, -40, -20}, + {13, 8, 0, -35, -20}, + {14, 4, 0, -25, -20}, + {15, 9, 0, -20, -20}, + {16, 3, 0, -10, -20}, + {101, 1, 0, 30, 0}, + {102, 7, 0, 20, 0}, + {103, 5, 0, 15, 4}, + {104, 6, 0, 5, 0}, + {105, 0, 0, 0, 0}, + {110, 1, 0, -10, 0}, + {111, 7, 0, -20, 0}, + {112, 5, 0, -25, 4}, + {113, 6, 0, -35, 0}, + {114, 0, 0, -40, 0}}, /* PGT */ {/* L5 */ {2, 40, {23, 20, 24, 21, 26, 16, 27, 19, 28, 12, 29, 14, 30, 11, 31, 13, 58, 7, 55, 8, 54, 5, 52, 2, 49, 6, 48, 1, 46, 3, 43, 0, 42, 4, 40, 9, 39, 10, 32, 15, 37, 17, 34, 18, 33, 22, 36, 25, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, -1, 53, -1, 56, -1, 57, -1, 59, -1, 60, -1, 61, -1, 62, -1, 63, -1}}, /* L6 */ {2, 40, {42, 43, 40, 46, 39, 48, 32, 49, 37, 52, 34, 54, 33, 55, 36, 58, 35, 31, 38, 30, 41, 29, 44, 28, 45, 27, 47, 26, 50, 24, 51, 23, 53, 20, 56, 21, 57, 16, 59, 19, 60, 12, 61, 14, 62, 11, 63, 13, -1, 7, -1, 8, -1, 5, -1, 2, -1, 6, -1, 1, -1, 3, -1, 0, -1, 4, -1, 9, -1, 10, -1, 15, -1, 17, -1, 18, -1, 22, -1, 25}}, @@ -40,17 +59,7 @@ CathodeSegmentation* createSegType6(bool isBendingPlane) /* Z1 */ {3, 40, {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}, /* Z2 */ {3, 40, {53, 51, -1, 56, 50, -1, 57, 47, -1, 59, 45, -1, 60, 44, -1, 61, 41, -1, 62, 38, -1, 63, 35, -1, -1, 36, -1, -1, 33, -1, -1, 34, -1, -1, 37, -1, -1, 32, -1, -1, 39, -1, -1, 40, -1, -1, 42, -1, -1, 43, -1, -1, 46, -1, -1, 48, -1, -1, 49, -1, -1, 52, -1, -1, 54, -1, -1, 55, -1, -1, 58, -1, -1, 31, 25, -1, 30, 22, -1, 29, 18, -1, 28, 17, -1, 27, 15, -1, 26, 10, -1, 24, 9, -1, 23, 4, -1, 20, 0, -1, 21, 3, -1, 16, 1, -1, 19, 6, -1, 12, 2, -1, 14, 5, -1, 11, 8, -1, 13, 7}}, /* Z3 */ {3, 40, {7, 13, -1, 8, 11, -1, 5, 14, -1, 2, 12, -1, 6, 19, -1, 1, 16, -1, 3, 21, -1, 0, 20, -1, 4, 23, -1, 9, 24, -1, 10, 26, -1, 15, 27, -1, 17, 28, -1, 18, 29, -1, 22, 30, -1, 25, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, -1, -1, 37, -1, -1, 34, -1, -1, 33, -1, -1, 36, -1, -1, 35, 63, -1, 38, 62, -1, 41, 61, -1, 44, 60, -1, 45, 59, -1, 47, 57, -1, 50, 56, -1, 51, 53}}, - /* Z4 */ - {3, - 40, - {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, - -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, - -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, - -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, - -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, - -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, - -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, - 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, + /* Z4 */ {3, 40, {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, /* PS */ {{5, 0.5}}}; } else { diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType7.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType7.cxx index f9ec568acee5e..527f8e03c777e 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType7.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType7.cxx @@ -29,7 +29,53 @@ CathodeSegmentation* createSegType7(bool isBendingPlane) 7, true, /* PG */ - {{1, 0, 0, 50, 2}, {2, 10, 0, 45, 4}, {3, 10, 0, 40, 4}, {6, 6, 0, 35, 0}, {7, 13, 0, 30, 0}, {8, 11, 0, 27.5, 4}, {9, 12, 0, 22.5, 0}, {10, 5, 0, 20, 0}, {11, 6, 0, 15, 0}, {12, 13, 0, 10, 0}, {13, 11, 0, 7.5, 4}, {14, 12, 0, 2.5, 0}, {15, 5, 0, 0, 0}, {104, 6, 1, -50, 0}, {105, 13, 1, -60, 0}, {106, 11, 1, -65, 4}, {107, 12, 1, -75, 0}, {108, 5, 1, -80, 0}, {112, 6, 1, -10, 0}, {113, 13, 1, -20, 0}, {114, 11, 1, -25, 4}, {115, 12, 1, -35, 0}, {116, 5, 1, -40, 0}, {201, 7, 1, -80, -20}, {202, 14, 1, -75, -20}, {203, 9, 1, -65, -20}, {204, 15, 1, -60, -20}, {205, 8, 1, -50, -20}, {210, 7, 1, -40, -20}, {211, 14, 1, -35, -20}, {212, 9, 1, -25, -20}, {213, 15, 1, -20, -20}, {214, 8, 1, -10, -20}, {304, 1, 0, 40, -20}, {305, 2, 0, 42.5, -20}, {306, 3, 0, 45, -20}, {307, 4, 0, 50, -20}, {315, 7, 0, 0, -20}, {316, 14, 0, 2.5, -20}, {317, 9, 0, 7.5, -20}, {318, 15, 0, 10, -20}, {319, 8, 0, 15, -20}, {320, 7, 0, 20, -20}, {321, 14, 0, 22.5, -20}, {322, 9, 0, 27.5, -20}, {323, 15, 0, 30, -20}, {324, 8, 0, 35, -20}}, + {{1, 0, 0, 50, 2}, + {2, 10, 0, 45, 4}, + {3, 10, 0, 40, 4}, + {6, 6, 0, 35, 0}, + {7, 13, 0, 30, 0}, + {8, 11, 0, 27.5, 4}, + {9, 12, 0, 22.5, 0}, + {10, 5, 0, 20, 0}, + {11, 6, 0, 15, 0}, + {12, 13, 0, 10, 0}, + {13, 11, 0, 7.5, 4}, + {14, 12, 0, 2.5, 0}, + {15, 5, 0, 0, 0}, + {104, 6, 1, -50, 0}, + {105, 13, 1, -60, 0}, + {106, 11, 1, -65, 4}, + {107, 12, 1, -75, 0}, + {108, 5, 1, -80, 0}, + {112, 6, 1, -10, 0}, + {113, 13, 1, -20, 0}, + {114, 11, 1, -25, 4}, + {115, 12, 1, -35, 0}, + {116, 5, 1, -40, 0}, + {201, 7, 1, -80, -20}, + {202, 14, 1, -75, -20}, + {203, 9, 1, -65, -20}, + {204, 15, 1, -60, -20}, + {205, 8, 1, -50, -20}, + {210, 7, 1, -40, -20}, + {211, 14, 1, -35, -20}, + {212, 9, 1, -25, -20}, + {213, 15, 1, -20, -20}, + {214, 8, 1, -10, -20}, + {304, 1, 0, 40, -20}, + {305, 2, 0, 42.5, -20}, + {306, 3, 0, 45, -20}, + {307, 4, 0, 50, -20}, + {315, 7, 0, 0, -20}, + {316, 14, 0, 2.5, -20}, + {317, 9, 0, 7.5, -20}, + {318, 15, 0, 10, -20}, + {319, 8, 0, 15, -20}, + {320, 7, 0, 20, -20}, + {321, 14, 0, 22.5, -20}, + {322, 9, 0, 27.5, -20}, + {323, 15, 0, 30, -20}, + {324, 8, 0, 35, -20}}, /* PGT */ {/* C10 */ {3, 36, {28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, 4, -1, 37, 0, -1, 34, 3, -1, 33, 1, -1, 36, 6, -1, 35, 2, -1, 38, 5, -1, 41, 8, -1, 44, 7, -1, 45, 13, -1, 47, 11, -1, 50, 14, -1, 51, 12, -1, 53, 19, -1, 56, 16, 25, 57, 21, 22, 59, 20, 18, 60, 23, 17, 61, 24, 15, 62, 26, 10, 63, 27, 9}}, /* C6 */ {2, 48, {25, 35, 22, 38, 18, 41, 17, 44, 15, 45, 10, 47, 9, 50, 4, 51, 0, 53, 3, 56, 1, 57, 6, 59, 2, 60, 5, 61, 8, 62, 7, 63, 13, -1, 11, -1, 14, -1, 12, -1, 19, -1, 16, -1, 21, -1, 20, -1, 23, -1, 24, -1, 26, -1, 27, -1, 28, -1, 29, -1, 30, -1, 31, -1, 58, -1, 55, -1, 54, -1, 52, -1, 49, -1, 48, -1, 46, -1, 43, -1, 42, -1, 40, -1, 39, -1, 32, -1, 37, -1, 34, -1, 33, -1, 36, -1}}, @@ -46,19 +92,10 @@ CathodeSegmentation* createSegType7(bool isBendingPlane) /* Z1 */ {3, 40, {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}, /* Z2 */ {3, 40, {53, 51, -1, 56, 50, -1, 57, 47, -1, 59, 45, -1, 60, 44, -1, 61, 41, -1, 62, 38, -1, 63, 35, -1, -1, 36, -1, -1, 33, -1, -1, 34, -1, -1, 37, -1, -1, 32, -1, -1, 39, -1, -1, 40, -1, -1, 42, -1, -1, 43, -1, -1, 46, -1, -1, 48, -1, -1, 49, -1, -1, 52, -1, -1, 54, -1, -1, 55, -1, -1, 58, -1, -1, 31, 25, -1, 30, 22, -1, 29, 18, -1, 28, 17, -1, 27, 15, -1, 26, 10, -1, 24, 9, -1, 23, 4, -1, 20, 0, -1, 21, 3, -1, 16, 1, -1, 19, 6, -1, 12, 2, -1, 14, 5, -1, 11, 8, -1, 13, 7}}, /* Z3 */ {3, 40, {7, 13, -1, 8, 11, -1, 5, 14, -1, 2, 12, -1, 6, 19, -1, 1, 16, -1, 3, 21, -1, 0, 20, -1, 4, 23, -1, 9, 24, -1, 10, 26, -1, 15, 27, -1, 17, 28, -1, 18, 29, -1, 22, 30, -1, 25, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, -1, -1, 37, -1, -1, 34, -1, -1, 33, -1, -1, 36, -1, -1, 35, 63, -1, 38, 62, -1, 41, 61, -1, 44, 60, -1, 45, 59, -1, 47, 57, -1, 50, 56, -1, 51, 53}}, - /* Z4 */ - {3, - 40, - {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, - -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, - -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, - -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, - -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, - -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, - -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, - 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, + /* Z4 */ {3, 40, {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, /* PS */ - {{2.5, 0.5}, {5, 0.5}}}; + {{2.5, 0.5}, + {5, 0.5}}}; } else { return new CathodeSegmentation{ 7, @@ -100,8 +137,7 @@ CathodeSegmentation* createSegType7(bool isBendingPlane) /* PGT */ {/* C1 */ {7, 10, {51, 33, 49, 26, 13, 9, -1, 53, 36, 48, 27, 11, 4, -1, 56, 35, 46, 28, 14, 0, -1, 57, 38, 43, 29, 12, 3, -1, 59, 41, 42, 30, 19, 1, 25, 60, 44, 40, 31, 16, 6, 22, 61, 45, 39, 58, 21, 2, 18, 62, 47, 32, 55, 20, 5, 17, 63, 50, 37, 54, 23, 8, 15, -1, -1, 34, 52, 24, 7, 10}}, /* C2 */ {7, 10, {60, 41, 42, 30, 19, 1, 25, 61, 44, 40, 31, 16, 6, 22, 62, 45, 39, 58, 21, 2, 18, 63, 47, 32, 55, 20, 5, 17, -1, 50, 37, 54, 23, 8, 15, -1, 51, 34, 52, 24, 7, 10, -1, 53, 33, 49, 26, 13, 9, -1, 56, 36, 48, 27, 11, 4, -1, 57, 35, 46, 28, 14, 0, -1, 59, 38, 43, 29, 12, 3}}, - /* C3 */ - {13, 10, {50, 37, 54, 23, 14, 8, 1, 4, 10, 17, 18, 22, 25, 51, 34, 52, 24, 12, 7, 6, 0, 9, 15, -1, -1, -1, 53, 33, 49, 26, 19, 13, 2, 3, -1, -1, -1, -1, -1, 56, 36, 48, 27, 16, 11, 5, -1, -1, -1, -1, -1, -1, 57, 35, 46, 28, 21, -1, -1, -1, -1, -1, -1, -1, -1, 59, 38, 43, 29, 20, -1, -1, -1, -1, -1, -1, -1, -1, 60, 41, 42, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, 61, 44, 40, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, 45, 39, 58, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, 47, 32, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1}}, + /* C3 */ {13, 10, {50, 37, 54, 23, 14, 8, 1, 4, 10, 17, 18, 22, 25, 51, 34, 52, 24, 12, 7, 6, 0, 9, 15, -1, -1, -1, 53, 33, 49, 26, 19, 13, 2, 3, -1, -1, -1, -1, -1, 56, 36, 48, 27, 16, 11, 5, -1, -1, -1, -1, -1, -1, 57, 35, 46, 28, 21, -1, -1, -1, -1, -1, -1, -1, -1, 59, 38, 43, 29, 20, -1, -1, -1, -1, -1, -1, -1, -1, 60, 41, 42, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, 61, 44, 40, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, 45, 39, 58, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, 47, 32, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1}}, /* C4 */ {16, 6, {-1, 15, 1, 13, 21, 28, 54, 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, 6, 11, 20, 29, 52, 40, -1, -1, -1, -1, -1, -1, -1, -1, 25, 9, 2, 14, 23, 30, 49, 39, 33, 41, -1, -1, -1, -1, -1, -1, 22, 4, 5, 12, 24, 31, 48, 32, 36, 44, 50, -1, -1, -1, -1, -1, 18, 0, 8, 19, 26, 58, 46, 37, 35, 45, 51, 56, 59, -1, -1, -1, 17, 3, 7, 16, 27, 55, 43, 34, 38, 47, 53, 57, 60, 61, 62, 63}}, /* C5 */ {11, 7, {25, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 0, 8, 19, 26, 58, 46, 37, 41, 53, 62, 18, 3, 7, 16, 27, 55, 43, 34, 44, 56, 63, 17, 1, 13, 21, 28, 54, 42, 33, 45, 57, -1, 15, 6, 11, 20, 29, 52, 40, 36, 47, 59, -1, 10, 2, 14, 23, 30, 49, 39, 35, 50, 60, -1, 9, 5, 12, 24, 31, 48, 32, 38, 51, 61, -1}}, /* L3 */ {20, 4, {17, 4, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 9, 1, 8, 14, 16, 23, 27, 30, 55, 49, 43, 39, 34, 35, 44, 50, 56, 60, 63, 22, 10, 3, 5, 11, 19, 20, 26, 29, 58, 52, 46, 40, 37, 36, 41, 47, 53, 59, 62, 25, 15, 0, 2, 13, 12, 21, 24, 28, 31, 54, 48, 42, 32, 33, 38, 45, 51, 57, 61}}, @@ -114,7 +150,8 @@ CathodeSegmentation* createSegType7(bool isBendingPlane) /* Q3 */ {16, 5, {-1, -1, 56, 45, 36, 39, 48, 58, 28, 23, 19, 13, 2, 0, 15, 25, -1, -1, 57, 47, 35, 32, 46, 55, 29, 24, 16, 11, 5, 3, 10, 22, -1, -1, 59, 50, 38, 37, 43, 54, 30, 26, 21, 14, 8, 1, 9, 18, -1, -1, 60, 51, 41, 34, 42, 52, 31, 27, 20, 12, 7, 6, 4, 17, 63, 62, 61, 53, 44, 33, 40, 49, -1, -1, -1, -1, -1, -1, -1, -1}}, /* Q4 */ {16, 5, {60, 53, 45, 35, 37, 42, 49, 58, 27, 21, 11, 2, 4, 18, -1, -1, 61, 56, 47, 38, 34, 40, 48, 55, 28, 20, 14, 5, 0, 17, -1, -1, 62, 57, 50, 41, 33, 39, 46, 54, 29, 23, 12, 8, 3, 15, -1, -1, 63, 59, 51, 44, 36, 32, 43, 52, 30, 24, 19, 7, 1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, 26, 16, 13, 6, 9, 22, 25}}}, /* PS */ - {{0.714285714, 2.5}, {0.714285714, 5}}}; + {{0.714285714, 2.5}, + {0.714285714, 5}}}; } } class CathodeSegmentationCreatorRegisterCreateSegType7 diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType8.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType8.cxx index 01414acfd81fd..eb77ea2eff1f3 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType8.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType8.cxx @@ -29,7 +29,63 @@ CathodeSegmentation* createSegType8(bool isBendingPlane) 8, true, /* PG */ - {{4, 18, 0, 40, -20}, {5, 19, 0, 45, -20}, {6, 19, 0, 50, -20}, {7, 11, 0, 55, -17.5}, {101, 15, 1, -80, -20}, {102, 23, 1, -75, -20}, {103, 17, 1, -65, -20}, {104, 24, 1, -60, -20}, {105, 16, 1, -50, -20}, {110, 15, 1, -40, -20}, {111, 23, 1, -35, -20}, {112, 17, 1, -25, -20}, {113, 24, 1, -20, -20}, {114, 16, 1, -10, -20}, {119, 15, 0, 0, -20}, {120, 23, 0, 2.5, -20}, {121, 17, 0, 7.5, -20}, {122, 24, 0, 10, -20}, {123, 16, 0, 15, -20}, {124, 15, 0, 20, -20}, {125, 23, 0, 22.5, -20}, {126, 17, 0, 27.5, -20}, {127, 24, 0, 30, -20}, {128, 16, 0, 35, -20}, {204, 14, 1, -50, 0}, {205, 22, 1, -60, 0}, {206, 20, 1, -65, 4}, {207, 21, 1, -75, 0}, {208, 13, 1, -80, 0}, {212, 14, 1, -10, 0}, {213, 22, 1, -20, 0}, {214, 20, 1, -25, 4}, {215, 21, 1, -35, 0}, {216, 13, 1, -40, 0}, {224, 14, 0, 35, 0}, {225, 22, 0, 30, 0}, {226, 20, 0, 27.5, 4}, {227, 21, 0, 22.5, 0}, {228, 13, 0, 20, 0}, {229, 14, 0, 15, 0}, {230, 22, 0, 10, 0}, {231, 20, 0, 7.5, 4}, {232, 21, 0, 2.5, 0}, {233, 13, 0, 0, 0}, {401, 12, 0, 75, -7}, {402, 0, 0, 72.5, -7.5}, {403, 1, 0, 70, -8}, {404, 2, 0, 67.5, 1}, {405, 3, 0, 65, -8.5}, {406, 4, 0, 62.5, -10}, {407, 5, 0, 60, -11}, {408, 6, 0, 55, -4}, {409, 7, 0, 52.5, -4}, {410, 8, 0, 50, -4}, {411, 10, 0, 45, -4}, {412, 7, 0, 42.5, -4}, {413, 9, 0, 40, -4}}, + {{4, 18, 0, 40, -20}, + {5, 19, 0, 45, -20}, + {6, 19, 0, 50, -20}, + {7, 11, 0, 55, -17.5}, + {101, 15, 1, -80, -20}, + {102, 23, 1, -75, -20}, + {103, 17, 1, -65, -20}, + {104, 24, 1, -60, -20}, + {105, 16, 1, -50, -20}, + {110, 15, 1, -40, -20}, + {111, 23, 1, -35, -20}, + {112, 17, 1, -25, -20}, + {113, 24, 1, -20, -20}, + {114, 16, 1, -10, -20}, + {119, 15, 0, 0, -20}, + {120, 23, 0, 2.5, -20}, + {121, 17, 0, 7.5, -20}, + {122, 24, 0, 10, -20}, + {123, 16, 0, 15, -20}, + {124, 15, 0, 20, -20}, + {125, 23, 0, 22.5, -20}, + {126, 17, 0, 27.5, -20}, + {127, 24, 0, 30, -20}, + {128, 16, 0, 35, -20}, + {204, 14, 1, -50, 0}, + {205, 22, 1, -60, 0}, + {206, 20, 1, -65, 4}, + {207, 21, 1, -75, 0}, + {208, 13, 1, -80, 0}, + {212, 14, 1, -10, 0}, + {213, 22, 1, -20, 0}, + {214, 20, 1, -25, 4}, + {215, 21, 1, -35, 0}, + {216, 13, 1, -40, 0}, + {224, 14, 0, 35, 0}, + {225, 22, 0, 30, 0}, + {226, 20, 0, 27.5, 4}, + {227, 21, 0, 22.5, 0}, + {228, 13, 0, 20, 0}, + {229, 14, 0, 15, 0}, + {230, 22, 0, 10, 0}, + {231, 20, 0, 7.5, 4}, + {232, 21, 0, 2.5, 0}, + {233, 13, 0, 0, 0}, + {401, 12, 0, 75, -7}, + {402, 0, 0, 72.5, -7.5}, + {403, 1, 0, 70, -8}, + {404, 2, 0, 67.5, 1}, + {405, 3, 0, 65, -8.5}, + {406, 4, 0, 62.5, -10}, + {407, 5, 0, 60, -11}, + {408, 6, 0, 55, -4}, + {409, 7, 0, 52.5, -4}, + {410, 8, 0, 50, -4}, + {411, 10, 0, 45, -4}, + {412, 7, 0, 42.5, -4}, + {413, 9, 0, 40, -4}}, /* PGT */ {/* A10 */ {2, 55, {32, -1, 37, -1, 34, -1, 33, -1, 36, -1, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, 25, 53, 22, 56, 18, 57, 17, 59, 15, 60, 10, 61, 9, 62, 4, 63, 0, -1, 3, -1, 1, -1, 6, -1, 2, -1, 5, -1, 8, -1, 7, -1, 13, -1, 11, -1, 14, -1, 12, -1, 19, -1, 16, -1, 21, -1, 20, -1, 23, -1, 24, -1, 26, -1, 27, -1, 28, -1, 29, -1, 30, -1, 31, -1, 39, -1, 40, -1, 42, -1, 43, -1, 46, -1, 48, -1, 49, -1, 52, -1, 54, -1, 55, -1, 58}}, /* A11 */ {2, 56, {54, -1, 52, -1, 49, -1, 48, -1, 46, -1, 43, -1, 42, -1, 40, -1, 39, -1, 32, -1, 37, -1, 34, -1, 33, -1, 36, -1, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, -1, 53, 25, 56, 22, 57, 18, 59, 17, 60, 15, 61, 10, 62, 9, 63, 4, -1, 0, -1, 3, -1, 1, -1, 6, -1, 2, -1, 5, -1, 8, -1, 7, -1, 13, -1, 11, -1, 14, -1, 12, -1, 19, -1, 16, -1, 21, -1, 20, -1, 23, -1, 24, -1, 26, -1, 27, -1, 28, -1, 29, -1, 30, -1, 31, -1, 55, -1, 58}}, @@ -55,19 +111,10 @@ CathodeSegmentation* createSegType8(bool isBendingPlane) /* Z1 */ {3, 40, {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}, /* Z2 */ {3, 40, {53, 51, -1, 56, 50, -1, 57, 47, -1, 59, 45, -1, 60, 44, -1, 61, 41, -1, 62, 38, -1, 63, 35, -1, -1, 36, -1, -1, 33, -1, -1, 34, -1, -1, 37, -1, -1, 32, -1, -1, 39, -1, -1, 40, -1, -1, 42, -1, -1, 43, -1, -1, 46, -1, -1, 48, -1, -1, 49, -1, -1, 52, -1, -1, 54, -1, -1, 55, -1, -1, 58, -1, -1, 31, 25, -1, 30, 22, -1, 29, 18, -1, 28, 17, -1, 27, 15, -1, 26, 10, -1, 24, 9, -1, 23, 4, -1, 20, 0, -1, 21, 3, -1, 16, 1, -1, 19, 6, -1, 12, 2, -1, 14, 5, -1, 11, 8, -1, 13, 7}}, /* Z3 */ {3, 40, {7, 13, -1, 8, 11, -1, 5, 14, -1, 2, 12, -1, 6, 19, -1, 1, 16, -1, 3, 21, -1, 0, 20, -1, 4, 23, -1, 9, 24, -1, 10, 26, -1, 15, 27, -1, 17, 28, -1, 18, 29, -1, 22, 30, -1, 25, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, -1, -1, 37, -1, -1, 34, -1, -1, 33, -1, -1, 36, -1, -1, 35, 63, -1, 38, 62, -1, 41, 61, -1, 44, 60, -1, 45, 59, -1, 47, 57, -1, 50, 56, -1, 51, 53}}, - /* Z4 */ - {3, - 40, - {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, - -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, - -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, - -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, - -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, - -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, - -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, - 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, + /* Z4 */ {3, 40, {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, /* PS */ - {{2.5, 0.5}, {5, 0.5}}}; + {{2.5, 0.5}, + {5, 0.5}}}; } else { return new CathodeSegmentation{ 8, @@ -116,8 +163,7 @@ CathodeSegmentation* createSegType8(bool isBendingPlane) /* PGT */ {/* A1 */ {9, 8, {53, 35, 42, 58, 23, 13, -1, -1, -1, 56, 38, 40, 55, 24, 11, 3, 18, 25, 57, 41, 39, 54, 26, 14, 1, 17, 22, 59, 44, 32, 52, 27, 12, 6, 15, -1, 60, 45, 37, 49, 28, 19, 2, 10, -1, 61, 47, 34, 48, 29, 16, 5, 9, -1, 62, 50, 33, 46, 30, 21, 8, 4, -1, 63, 51, 36, 43, 31, 20, 7, 0, -1}}, /* A2 */ {5, 14, {-1, 5, 27, 40, 51, 25, 8, 28, 39, 53, 22, 7, 29, 32, 56, 18, 13, 30, 37, 57, 17, 11, 31, 34, 59, 15, 14, 58, 33, 60, 10, 12, 55, 36, 61, 9, 19, 54, 35, 62, 4, 16, 52, 38, 63, 0, 21, 49, 41, -1, 3, 20, 48, 44, -1, 1, 23, 46, 45, -1, 6, 24, 43, 47, -1, 2, 26, 42, 50, -1}}, - /* A3 */ - {6, 13, {-1, 10, 14, 31, 37, 56, -1, 9, 12, 58, 34, 57, -1, 4, 19, 55, 33, 59, -1, 0, 16, 54, 36, 60, -1, 3, 21, 52, 35, 61, -1, 1, 20, 49, 38, 62, -1, 6, 23, 48, 41, 63, -1, 2, 24, 46, 44, -1, 25, 5, 26, 43, 45, -1, 22, 8, 27, 42, 47, -1, 18, 7, 28, 40, 50, -1, 17, 13, 29, 39, 51, -1, 15, 11, 30, 32, 53, -1}}, + /* A3 */ {6, 13, {-1, 10, 14, 31, 37, 56, -1, 9, 12, 58, 34, 57, -1, 4, 19, 55, 33, 59, -1, 0, 16, 54, 36, 60, -1, 3, 21, 52, 35, 61, -1, 1, 20, 49, 38, 62, -1, 6, 23, 48, 41, 63, -1, 2, 24, 46, 44, -1, 25, 5, 26, 43, 45, -1, 22, 8, 27, 42, 47, -1, 18, 7, 28, 40, 50, -1, 17, 13, 29, 39, 51, -1, 15, 11, 30, 32, 53, -1}}, /* A4 */ {6, 12, {-1, 9, 14, 30, 39, 50, -1, 4, 12, 31, 32, 51, -1, 0, 19, 58, 37, 53, -1, 3, 16, 55, 34, 56, -1, 1, 21, 54, 33, 57, -1, 6, 20, 52, 36, 59, 25, 2, 23, 49, 35, 60, 22, 5, 24, 48, 38, 61, 18, 8, 26, 46, 41, 62, 17, 7, 27, 43, 44, 63, 15, 13, 28, 42, 45, -1, 10, 11, 29, 40, 47, -1}}, /* A5 */ {7, 12, {-1, 18, 8, 26, -1, -1, -1, -1, 17, 7, 27, 46, 38, 60, -1, 15, 13, 28, 43, 41, 61, -1, 10, 11, 29, 42, 44, 62, -1, 9, 14, 30, 40, 45, 63, -1, 4, 12, 31, 39, 47, -1, -1, 0, 19, 58, 32, 50, -1, -1, 3, 16, 55, 37, 51, -1, -1, 1, 21, 54, 34, 53, -1, -1, 6, 20, 52, 33, 56, -1, 25, 2, 23, 49, 36, 57, -1, 22, 5, 24, 48, 35, 59, -1}}, /* A6 */ {7, 11, {-1, 4, 14, 29, 42, 44, 62, -1, 0, 12, 30, 40, 45, 63, -1, 3, 19, 31, 39, 47, -1, -1, 1, 16, 58, 32, 50, -1, 25, 6, 21, 55, 37, 51, -1, 22, 2, 20, 54, 34, 53, -1, 18, 5, 23, 52, 33, 56, -1, 17, 8, 24, 49, 36, 57, -1, 15, 7, 26, 48, 35, 59, -1, 10, 13, 27, 46, 38, 60, -1, 9, 11, 28, 43, 41, 61, -1}}, @@ -134,7 +180,8 @@ CathodeSegmentation* createSegType8(bool isBendingPlane) /* Q3 */ {16, 5, {-1, -1, 56, 45, 36, 39, 48, 58, 28, 23, 19, 13, 2, 0, 15, 25, -1, -1, 57, 47, 35, 32, 46, 55, 29, 24, 16, 11, 5, 3, 10, 22, -1, -1, 59, 50, 38, 37, 43, 54, 30, 26, 21, 14, 8, 1, 9, 18, -1, -1, 60, 51, 41, 34, 42, 52, 31, 27, 20, 12, 7, 6, 4, 17, 63, 62, 61, 53, 44, 33, 40, 49, -1, -1, -1, -1, -1, -1, -1, -1}}, /* Q4 */ {16, 5, {60, 53, 45, 35, 37, 42, 49, 58, 27, 21, 11, 2, 4, 18, -1, -1, 61, 56, 47, 38, 34, 40, 48, 55, 28, 20, 14, 5, 0, 17, -1, -1, 62, 57, 50, 41, 33, 39, 46, 54, 29, 23, 12, 8, 3, 15, -1, -1, 63, 59, 51, 44, 36, 32, 43, 52, 30, 24, 19, 7, 1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, 26, 16, 13, 6, 9, 22, 25}}}, /* PS */ - {{0.714285714, 2.5}, {0.714285714, 5}}}; + {{0.714285714, 2.5}, + {0.714285714, 5}}}; } } class CathodeSegmentationCreatorRegisterCreateSegType8 diff --git a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType9.cxx b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType9.cxx index 3c0d6f24138e8..7cce01d6749ee 100644 --- a/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType9.cxx +++ b/Detectors/MUON/MCH/Mapping/Impl4/src/GenCathodeSegmentationCreatorForSegType9.cxx @@ -29,7 +29,56 @@ CathodeSegmentation* createSegType9(bool isBendingPlane) 9, true, /* PG */ - {{1, 2, 0, -80, -20}, {2, 8, 0, -77.5, -20}, {3, 4, 0, -72.5, -20}, {4, 9, 0, -70, -20}, {5, 3, 0, -65, -20}, {6, 2, 0, -60, -20}, {7, 8, 0, -57.5, -20}, {8, 4, 0, -52.5, -20}, {9, 9, 0, -50, -20}, {10, 3, 0, -45, -20}, {104, 2, 1, 40, -20}, {105, 8, 1, 45, -20}, {106, 4, 1, 55, -20}, {107, 9, 1, 60, -20}, {108, 3, 1, 70, -20}, {112, 2, 1, 0, -20}, {113, 8, 1, 5, -20}, {114, 4, 1, 15, -20}, {115, 9, 1, 20, -20}, {116, 3, 1, 30, -20}, {120, 2, 1, -40, -20}, {121, 8, 1, -35, -20}, {122, 4, 1, -25, -20}, {123, 9, 1, -20, -20}, {124, 3, 1, -10, -20}, {201, 1, 1, 70, 0}, {202, 7, 1, 60, 0}, {203, 5, 1, 55, 4}, {204, 6, 1, 45, 0}, {205, 0, 1, 40, 0}, {210, 1, 1, 30, 0}, {211, 7, 1, 20, 0}, {212, 5, 1, 15, 4}, {213, 6, 1, 5, 0}, {214, 0, 1, 0, 0}, {219, 1, 1, -10, 0}, {220, 7, 1, -20, 0}, {221, 5, 1, -25, 4}, {222, 6, 1, -35, 0}, {223, 0, 1, -40, 0}, {308, 1, 0, -45, 0}, {309, 7, 0, -50, 0}, {310, 5, 0, -52.5, 4}, {311, 6, 0, -57.5, 0}, {312, 0, 0, -60, 0}, {313, 1, 0, -65, 0}, {314, 7, 0, -70, 0}, {315, 5, 0, -72.5, 4}, {316, 6, 0, -77.5, 0}, {317, 0, 0, -80, 0}}, + {{1, 2, 0, -80, -20}, + {2, 8, 0, -77.5, -20}, + {3, 4, 0, -72.5, -20}, + {4, 9, 0, -70, -20}, + {5, 3, 0, -65, -20}, + {6, 2, 0, -60, -20}, + {7, 8, 0, -57.5, -20}, + {8, 4, 0, -52.5, -20}, + {9, 9, 0, -50, -20}, + {10, 3, 0, -45, -20}, + {104, 2, 1, 40, -20}, + {105, 8, 1, 45, -20}, + {106, 4, 1, 55, -20}, + {107, 9, 1, 60, -20}, + {108, 3, 1, 70, -20}, + {112, 2, 1, 0, -20}, + {113, 8, 1, 5, -20}, + {114, 4, 1, 15, -20}, + {115, 9, 1, 20, -20}, + {116, 3, 1, 30, -20}, + {120, 2, 1, -40, -20}, + {121, 8, 1, -35, -20}, + {122, 4, 1, -25, -20}, + {123, 9, 1, -20, -20}, + {124, 3, 1, -10, -20}, + {201, 1, 1, 70, 0}, + {202, 7, 1, 60, 0}, + {203, 5, 1, 55, 4}, + {204, 6, 1, 45, 0}, + {205, 0, 1, 40, 0}, + {210, 1, 1, 30, 0}, + {211, 7, 1, 20, 0}, + {212, 5, 1, 15, 4}, + {213, 6, 1, 5, 0}, + {214, 0, 1, 0, 0}, + {219, 1, 1, -10, 0}, + {220, 7, 1, -20, 0}, + {221, 5, 1, -25, 4}, + {222, 6, 1, -35, 0}, + {223, 0, 1, -40, 0}, + {308, 1, 0, -45, 0}, + {309, 7, 0, -50, 0}, + {310, 5, 0, -52.5, 4}, + {311, 6, 0, -57.5, 0}, + {312, 0, 0, -60, 0}, + {313, 1, 0, -65, 0}, + {314, 7, 0, -70, 0}, + {315, 5, 0, -72.5, 4}, + {316, 6, 0, -77.5, 0}, + {317, 0, 0, -80, 0}}, /* PGT */ {/* L5 */ {2, 40, {23, 20, 24, 21, 26, 16, 27, 19, 28, 12, 29, 14, 30, 11, 31, 13, 58, 7, 55, 8, 54, 5, 52, 2, 49, 6, 48, 1, 46, 3, 43, 0, 42, 4, 40, 9, 39, 10, 32, 15, 37, 17, 34, 18, 33, 22, 36, 25, 35, -1, 38, -1, 41, -1, 44, -1, 45, -1, 47, -1, 50, -1, 51, -1, 53, -1, 56, -1, 57, -1, 59, -1, 60, -1, 61, -1, 62, -1, 63, -1}}, /* L6 */ {2, 40, {42, 43, 40, 46, 39, 48, 32, 49, 37, 52, 34, 54, 33, 55, 36, 58, 35, 31, 38, 30, 41, 29, 44, 28, 45, 27, 47, 26, 50, 24, 51, 23, 53, 20, 56, 21, 57, 16, 59, 19, 60, 12, 61, 14, 62, 11, 63, 13, -1, 7, -1, 8, -1, 5, -1, 2, -1, 6, -1, 1, -1, 3, -1, 0, -1, 4, -1, 9, -1, 10, -1, 15, -1, 17, -1, 18, -1, 22, -1, 25}}, @@ -40,19 +89,10 @@ CathodeSegmentation* createSegType9(bool isBendingPlane) /* Z1 */ {3, 40, {-1, 0, 4, -1, 3, 9, -1, 1, 10, -1, 6, 15, -1, 2, 17, -1, 5, 18, -1, 8, 22, -1, 7, 25, -1, 13, -1, -1, 11, -1, -1, 14, -1, -1, 12, -1, -1, 19, -1, -1, 16, -1, -1, 21, -1, -1, 20, -1, -1, 23, -1, -1, 24, -1, -1, 26, -1, -1, 27, -1, -1, 28, -1, -1, 29, -1, -1, 30, -1, -1, 31, -1, 63, 58, -1, 62, 55, -1, 61, 54, -1, 60, 52, -1, 59, 49, -1, 57, 48, -1, 56, 46, -1, 53, 43, -1, 51, 42, -1, 50, 40, -1, 47, 39, -1, 45, 32, -1, 44, 37, -1, 41, 34, -1, 38, 33, -1, 35, 36, -1}}, /* Z2 */ {3, 40, {53, 51, -1, 56, 50, -1, 57, 47, -1, 59, 45, -1, 60, 44, -1, 61, 41, -1, 62, 38, -1, 63, 35, -1, -1, 36, -1, -1, 33, -1, -1, 34, -1, -1, 37, -1, -1, 32, -1, -1, 39, -1, -1, 40, -1, -1, 42, -1, -1, 43, -1, -1, 46, -1, -1, 48, -1, -1, 49, -1, -1, 52, -1, -1, 54, -1, -1, 55, -1, -1, 58, -1, -1, 31, 25, -1, 30, 22, -1, 29, 18, -1, 28, 17, -1, 27, 15, -1, 26, 10, -1, 24, 9, -1, 23, 4, -1, 20, 0, -1, 21, 3, -1, 16, 1, -1, 19, 6, -1, 12, 2, -1, 14, 5, -1, 11, 8, -1, 13, 7}}, /* Z3 */ {3, 40, {7, 13, -1, 8, 11, -1, 5, 14, -1, 2, 12, -1, 6, 19, -1, 1, 16, -1, 3, 21, -1, 0, 20, -1, 4, 23, -1, 9, 24, -1, 10, 26, -1, 15, 27, -1, 17, 28, -1, 18, 29, -1, 22, 30, -1, 25, 31, -1, -1, 58, -1, -1, 55, -1, -1, 54, -1, -1, 52, -1, -1, 49, -1, -1, 48, -1, -1, 46, -1, -1, 43, -1, -1, 42, -1, -1, 40, -1, -1, 39, -1, -1, 32, -1, -1, 37, -1, -1, 34, -1, -1, 33, -1, -1, 36, -1, -1, 35, 63, -1, 38, 62, -1, 41, 61, -1, 44, 60, -1, 45, 59, -1, 47, 57, -1, 50, 56, -1, 51, 53}}, - /* Z4 */ - {3, - 40, - {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, - -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, - -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, - -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, - -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, - -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, - -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, - 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, + /* Z4 */ {3, 40, {-1, 36, 35, -1, 33, 38, -1, 34, 41, -1, 37, 44, -1, 32, 45, -1, 39, 47, -1, 40, 50, -1, 42, 51, -1, 43, 53, -1, 46, 56, -1, 48, 57, -1, 49, 59, -1, 52, 60, -1, 54, 61, -1, 55, 62, -1, 58, 63, -1, 31, -1, -1, 30, -1, -1, 29, -1, -1, 28, -1, -1, 27, -1, -1, 26, -1, -1, 24, -1, -1, 23, -1, -1, 20, -1, -1, 21, -1, -1, 16, -1, -1, 19, -1, -1, 12, -1, -1, 14, -1, -1, 11, -1, -1, 13, -1, 25, 7, -1, 22, 8, -1, 18, 5, -1, 17, 2, -1, 15, 6, -1, 10, 1, -1, 9, 3, -1, 4, 0, -1}}}, /* PS */ - {{2.5, 0.5}, {5, 0.5}}}; + {{2.5, 0.5}, + {5, 0.5}}}; } else { return new CathodeSegmentation{ 9, @@ -104,7 +144,8 @@ CathodeSegmentation* createSegType9(bool isBendingPlane) /* Q1 */ {14, 5, {-1, -1, -1, -1, 19, 24, 30, 52, 42, 34, 41, 51, -1, -1, 17, 4, 6, 7, 12, 23, 29, 54, 43, 37, 38, 50, 59, 63, 18, 9, 1, 8, 14, 20, 28, 55, 46, 32, 35, 47, 57, 62, 22, 10, 3, 5, 11, 21, 27, 58, 48, 39, 36, 45, 56, 61, 25, 15, 0, 2, 13, 16, 26, 31, 49, 40, 33, 44, 53, 60}}, /* Q2 */ {14, 5, {-1, -1, 2, 11, 21, 27, 58, 48, 39, 36, -1, -1, -1, -1, 17, 4, 6, 13, 16, 26, 31, 49, 40, 33, 44, 51, 59, 63, 18, 9, 1, 7, 19, 24, 30, 52, 42, 34, 41, 50, 57, 62, 22, 10, 3, 8, 12, 23, 29, 54, 43, 37, 38, 47, 56, 61, 25, 15, 0, 5, 14, 20, 28, 55, 46, 32, 35, 45, 53, 60}}}, /* PS */ - {{0.714285714, 2.5}, {0.714285714, 5}}}; + {{0.714285714, 2.5}, + {0.714285714, 5}}}; } } class CathodeSegmentationCreatorRegisterCreateSegType9