New parametrization of the geometry and new geometry interface (Working week effort)
authormartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 15 Sep 2004 11:45:55 +0000 (11:45 +0000)
committermartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 15 Sep 2004 11:45:55 +0000 (11:45 +0000)
18 files changed:
MUON/AliMUONGeometryEnvelopeStore.cxx [new file with mode: 0644]
MUON/AliMUONGeometryEnvelopeStore.h [new file with mode: 0644]
MUON/AliMUONGeometrySVMap.cxx [new file with mode: 0644]
MUON/AliMUONGeometrySVMap.h [new file with mode: 0644]
MUON/AliMUONGeometryTransformStore.cxx [new file with mode: 0644]
MUON/AliMUONGeometryTransformStore.h [new file with mode: 0644]
MUON/data/reset_data.sh [new file with mode: 0755]
MUON/data/svmap_slat.dat [new file with mode: 0644]
MUON/data/svmap_st1.dat [new file with mode: 0644]
MUON/data/svmap_st1V2.dat [new file with mode: 0644]
MUON/data/svmap_st2.dat [new file with mode: 0644]
MUON/data/svmap_trigger.dat [new file with mode: 0644]
MUON/data/transform_slat.dat [new file with mode: 0644]
MUON/data/transform_st1.dat [new file with mode: 0644]
MUON/data/transform_st1V2.dat [new file with mode: 0644]
MUON/data/transform_st2.dat [new file with mode: 0644]
MUON/data/transform_trigger.dat [new file with mode: 0644]
MUON/libMUONmapping.pkg [new file with mode: 0644]

diff --git a/MUON/AliMUONGeometryEnvelopeStore.cxx b/MUON/AliMUONGeometryEnvelopeStore.cxx
new file mode 100644 (file)
index 0000000..c78e2a9
--- /dev/null
@@ -0,0 +1,605 @@
+// $Id$
+//
+// Class AliMUONGeometryEnvelopeStore
+// ----------------------------------
+// Class for definititon of the temporary volume envelopes
+// used in geometry construction
+//
+// Author: Ivana Hrivnacova, IPN Orsay
+
+#include <TVirtualMC.h>
+#include <TGeoMatrix.h>
+#include <TObjArray.h>
+#include <TArrayI.h>
+#include <Riostream.h>
+
+#include "AliMUONGeometryEnvelopeStore.h"
+#include "AliMUONGeometryTransformStore.h"
+#include "AliMUONGeometryEnvelope.h"
+#include "AliMUONConstants.h"
+
+ClassImp(AliMUONGeometryEnvelopeStore)
+
+//______________________________________________________________________________
+AliMUONGeometryEnvelopeStore::AliMUONGeometryEnvelopeStore(
+                                 AliMUONGeometryTransformStore* transforms)
+ : TObject(),
+   fDETransforms(transforms),
+   fEnvelopes(0),
+   fDebug(false),
+   fAlign(false)
+{
+// Standard constructor
+
+  fEnvelopes = new TObjArray(100);
+}
+
+
+//______________________________________________________________________________
+AliMUONGeometryEnvelopeStore::AliMUONGeometryEnvelopeStore()
+ : TObject(),
+   fDETransforms(0),
+   fEnvelopes(0),
+   fDebug(false),
+   fAlign(false)
+{
+// Default constructor
+}
+
+
+//______________________________________________________________________________
+AliMUONGeometryEnvelopeStore::AliMUONGeometryEnvelopeStore(const AliMUONGeometryEnvelopeStore& rhs)
+  : TObject(rhs)
+{
+  Fatal("Copy constructor", 
+        "Copy constructor is not implemented.");
+}
+
+//______________________________________________________________________________
+AliMUONGeometryEnvelopeStore::~AliMUONGeometryEnvelopeStore() 
+{
+//
+
+  // Add deleting rotation matrices 
+  
+  if (fEnvelopes) {
+    fEnvelopes->Delete();
+    delete fEnvelopes;
+  }  
+}
+
+//______________________________________________________________________________
+AliMUONGeometryEnvelopeStore& 
+AliMUONGeometryEnvelopeStore::operator = (const AliMUONGeometryEnvelopeStore& rhs) 
+{
+  // check assignement to self
+  if (this == &rhs) return *this;
+
+  Fatal("operator=", 
+        "Assignment operator is not implemented.");
+    
+  return *this;  
+}
+
+//
+// private methods
+//
+
+//______________________________________________________________________________
+AliMUONGeometryEnvelope* 
+AliMUONGeometryEnvelopeStore::FindEnvelope(const TString& name) const
+{
+// Finds the envelope specified by name.
+// ---
+
+  for (Int_t i=0; i<fEnvelopes->GetEntriesFast(); i++) {
+    AliMUONGeometryEnvelope* envelope 
+      = (AliMUONGeometryEnvelope*)fEnvelopes->At(i);
+    
+    if (envelope->GetName() == name) return envelope;
+  }
+  
+  return 0;    
+}  
+
+//______________________________________________________________________________
+Bool_t AliMUONGeometryEnvelopeStore::AlignEnvelope(
+                                          AliMUONGeometryEnvelope* envelope) const
+{
+// Find transformation by the detection element        Id (if not 0)
+// (= unique ID of enevelope) and set it to the envelope.
+// Return true if transformation is applied, false otherwise.
+// ---
+
+  Int_t detElemId = envelope->GetUniqueID();
+  if (detElemId == 0) return false;
+  
+  const TGeoCombiTrans* kTransform = fDETransforms->Get(detElemId);
+  if (!kTransform) {
+    Warning("AlignEnvelope", "Transformation not found.");
+    return false;
+  };
+
+  envelope->SetTransform(*kTransform);
+  return true;
+}  
+
+//
+// public methods
+//
+
+//______________________________________________________________________________
+void  AliMUONGeometryEnvelopeStore::AddEnvelope(const TString& name, 
+                                          Int_t id, 
+                                          Bool_t isVirtual,
+                                          const char* only) 
+{
+// Adds the volume with the specified name and transformation
+// to the list of envelopes.
+// ---                                            
+
+  if (fDebug) {
+    cout << "... Adding ";
+    if (!isVirtual) cout << " non-";
+    cout << "virtual envelope " << name 
+         << "  id " << id << endl;
+  }  
+
+  AliMUONGeometryEnvelope* envelope 
+    = new AliMUONGeometryEnvelope(name, id, isVirtual, only);
+    
+  if (fAlign) AlignEnvelope(envelope); 
+
+  fEnvelopes->Add(envelope);
+}
+
+//______________________________________________________________________________
+void  AliMUONGeometryEnvelopeStore::AddEnvelope(const TString& name, 
+                                          Int_t id, 
+                                          Bool_t isVirtual,
+                                          const TGeoTranslation& translation,
+                                         const char* only)
+{
+// Adds the volume with the specified name and transformation
+// to the list of envelopes.
+// ---                                            
+
+  if (fDebug) {
+    cout << "... Adding ";
+    if (!isVirtual) cout << " non-";
+    cout << "virtual envelope " << name 
+         << "  id " << id
+         << " with translation" << endl;
+  }  
+
+  AliMUONGeometryEnvelope* envelope 
+    = new AliMUONGeometryEnvelope(name, id, isVirtual, only);  
+    
+  Bool_t aligned = false;
+  if (fAlign) aligned = AlignEnvelope(envelope); 
+
+  if  (!aligned)
+    envelope->SetTranslation(translation);
+
+  fEnvelopes->Add(envelope);
+}
+
+//______________________________________________________________________________
+void  AliMUONGeometryEnvelopeStore::AddEnvelope(const TString& name, 
+                                          Int_t id, 
+                                          Bool_t isVirtual, 
+                                          const TGeoTranslation& translation,
+                                         const TGeoRotation& rotation,
+                                         const char* only)
+{
+// Adds the volume with the specified name and transformation
+// to the list of envelopes.
+// ---                                            
+
+  if (fDebug) {
+    cout << "... Adding ";
+    if (!isVirtual) cout << " non-";
+    cout << "virtual envelope " << name 
+         << "  id " << id
+         << " with translation and rotation" << endl;
+  }  
+
+/*
+  cout << "Adding env...  name: " << name;
+   
+   const Double_t* xyz = translation.GetTranslation();
+   cout << "  translation: " << xyz[0] << ", " << xyz[1] << ", " << xyz[2]
+        << "  rotation: ";
+          
+   Double_t a1, a2, a3, a4, a5, a6;
+   rotation.GetAngles(a1, a2, a3, a4, a5, a6);
+   cout << a1 << ", " << a2 << ", " << a3 << ", " << a4 << ", " << a5 << ", " << a6 << endl;            
+*/
+  // fEnvelopes->Add(new TGeoCombiTrans(name, translation, rotation));
+           // would be nice to be so simple 
+
+  AliMUONGeometryEnvelope* envelope 
+    = new AliMUONGeometryEnvelope(name, id, isVirtual, only);
+
+  Bool_t aligned = false;
+  if (fAlign) aligned = AlignEnvelope(envelope); 
+
+  if  (!aligned) {
+    envelope->SetRotation(rotation);
+    envelope->SetTranslation(translation);
+  }  
+
+  fEnvelopes->Add(envelope);
+}
+
+//______________________________________________________________________________
+void  AliMUONGeometryEnvelopeStore::AddEnvelope(const TString& name, 
+                                          Int_t id, 
+                                          Bool_t isVirtual, 
+                                          const TGeoCombiTrans& transform,
+                                         const char* only)
+{
+// Adds the volume with the specified name and transformation
+// to the list of envelopes.
+// ---                                            
+
+  if (fDebug) {
+    cout << "... Adding ";
+    if (!isVirtual) cout << " non-";
+    cout << "virtual envelope " << name 
+         << "  id " << id
+         << " with transformation" << endl;
+  }  
+
+  // fEnvelopes->Add(new TGeoCombiTrans(name, translation, rotation));
+           // would be nice to be so simple 
+
+  AliMUONGeometryEnvelope* envelope 
+    = new AliMUONGeometryEnvelope(name, id, isVirtual, only);
+
+  Bool_t aligned = false;
+  if (fAlign) aligned = AlignEnvelope(envelope); 
+
+  if  (!aligned) 
+    envelope->SetTransform(transform);
+
+  fEnvelopes->Add(envelope);
+}
+
+//______________________________________________________________________________
+void  AliMUONGeometryEnvelopeStore::AddEnvelope(const TString& name, 
+                                          Int_t id, 
+                                          Int_t copyNo,
+                                          const char* only) 
+{
+// Adds the volume with the specified name and transformation
+// to the list of envelopes.
+// ---                                            
+
+  if (fDebug) {
+    cout << "... Adding "
+         << " non-virtual envelope " << name 
+         << "  id " << id
+         << " with copyNo " << copyNo << endl;
+   }  
+
+  AliMUONGeometryEnvelope* envelope 
+    = new AliMUONGeometryEnvelope(name, id, copyNo, only);
+
+  if (fAlign) AlignEnvelope(envelope); 
+
+  fEnvelopes->Add(envelope);
+}
+
+//______________________________________________________________________________
+void  AliMUONGeometryEnvelopeStore::AddEnvelope(const TString& name, 
+                                          Int_t id, 
+                                          Int_t copyNo,
+                                          const TGeoTranslation& translation,
+                                         const char* only)
+{
+// Adds the volume with the specified name and transformation
+// to the list of envelopes.
+// ---                                            
+
+  if (fDebug) {
+    cout << "... Adding "
+         << " non-virtual envelope " << name 
+         << "  id " << id
+         << " with copyNo " << copyNo
+         << " with translation " << endl;
+  }  
+
+  AliMUONGeometryEnvelope* envelope 
+    = new AliMUONGeometryEnvelope(name, id, copyNo, only);
+
+  Bool_t aligned = false;
+  if (fAlign) aligned = AlignEnvelope(envelope); 
+
+  if  (!aligned) 
+    envelope->SetTranslation(translation);
+
+  fEnvelopes->Add(envelope);
+}
+
+//______________________________________________________________________________
+void  AliMUONGeometryEnvelopeStore::AddEnvelope(const TString& name, 
+                                          Int_t id, 
+                                          Int_t copyNo, 
+                                          const TGeoTranslation& translation,
+                                         const TGeoRotation& rotation,
+                                         const char* only)
+{
+// Adds the volume with the specified name and transformation
+// to the list of envelopes.
+// ---                                            
+
+  if (fDebug) {
+    cout << "... Adding "
+         << " non-virtual envelope " << name 
+         << "  id " << id
+         << " with copyNo " << copyNo
+         << " with translation and rotation" << endl;
+  }  
+
+  // fEnvelopes->Add(new TGeoCombiTrans(name, translation, rotation));
+           // would be nice to be so simple 
+
+  AliMUONGeometryEnvelope* envelope 
+    = new AliMUONGeometryEnvelope(name, id, copyNo, only);
+
+  Bool_t aligned = false;
+  if (fAlign) aligned = AlignEnvelope(envelope); 
+
+  if  (!aligned) {
+    envelope->SetRotation(rotation);
+    envelope->SetTranslation(translation);
+  }  
+
+  fEnvelopes->Add(envelope);
+}
+
+//______________________________________________________________________________
+void  AliMUONGeometryEnvelopeStore::AddEnvelope(const TString& name, 
+                                          Int_t id, 
+                                          Int_t copyNo, 
+                                          const TGeoCombiTrans& transform,
+                                         const char* only)
+{
+// Adds the volume with the specified name and transformation
+// to the list of envelopes.
+// ---                                            
+
+  if (fDebug) {
+    cout << "... Adding "
+         << " non-virtual envelope " << name 
+         << "  id " << id
+         << " with copyNo " << copyNo
+         << " with translation and rotation" << endl;
+  }  
+
+  // fEnvelopes->Add(new TGeoCombiTrans(name, translation, rotation));
+           // would be nice to be so simple 
+
+  AliMUONGeometryEnvelope* envelope 
+    = new AliMUONGeometryEnvelope(name, id, copyNo, only);
+
+  Bool_t aligned = false;
+  if (fAlign) aligned = AlignEnvelope(envelope); 
+
+  if  (!aligned)
+    envelope->SetTransform(transform);
+
+  fEnvelopes->Add(envelope);
+}
+
+//______________________________________________________________________________
+void  AliMUONGeometryEnvelopeStore::AddEnvelopeConstituent(const TString& name, 
+                                         const TString& envName, Int_t copyNo) 
+{
+// Adds the volume with the specified name and transformation
+// to the list of envelopes.
+// ---                                            
+
+  if (fDebug) {
+    cout << "... Adding constituent " << name
+         << " to envelope " << envName 
+         << " with copyNo " << copyNo << endl;
+  }  
+
+  AliMUONGeometryEnvelope* envelope = FindEnvelope(envName);
+  
+  if (!envelope) {
+    // add warning
+    return;
+  }  
+   
+  envelope->AddConstituent(name, copyNo);
+}
+
+//______________________________________________________________________________
+void  AliMUONGeometryEnvelopeStore::AddEnvelopeConstituent(const TString& name, 
+                                          const TString& envName, Int_t copyNo,
+                                          const TGeoTranslation& translation)
+{
+// Adds the volume with the specified name and transformation
+// to the list of envelopes.
+// ---                                            
+
+  if (fDebug) {
+    cout << "... Adding constituent " << name
+         << " to envelope " << envName 
+         << " with copyNo " << copyNo
+         << " with translation" << endl;
+  }  
+
+  AliMUONGeometryEnvelope* envelope = FindEnvelope(envName);
+  
+  if (!envelope) {
+    // add warning
+    return;
+  }  
+   
+  envelope->AddConstituent(name, copyNo, translation);
+}
+
+//______________________________________________________________________________
+void  AliMUONGeometryEnvelopeStore::AddEnvelopeConstituent(const TString& name, 
+                                          const TString& envName, Int_t copyNo, 
+                                          const TGeoTranslation& translation,
+                                         const TGeoRotation& rotation)
+{
+// Adds the volume with the specified name and transformation
+// to the list of envelopes.
+// ---                                            
+
+  if (fDebug) {
+    cout << "... Adding constituent " << name
+         << " to envelope " << envName 
+         << " with copyNo " << copyNo
+         << " with translation and rotation" << endl;
+  }  
+
+  AliMUONGeometryEnvelope* envelope = FindEnvelope(envName);
+  
+  if (!envelope) {
+    // add warning
+    return;
+  }  
+   
+  envelope->AddConstituent(name, copyNo, translation, rotation);
+}
+
+//______________________________________________________________________________
+void  AliMUONGeometryEnvelopeStore::AddEnvelopeConstituent(const TString& name, 
+                                          const TString& envName, Int_t copyNo, 
+                                          const TGeoCombiTrans& transform)
+{
+// Adds the volume with the specified name and transformation
+// to the list of envelopes.
+// ---                                            
+
+  if (fDebug) {
+    cout << "... Adding constituent " << name
+         << " to envelope " << envName 
+         << " with copyNo " << copyNo
+         << " with translation and rotation" << endl;
+  }  
+
+  AliMUONGeometryEnvelope* envelope = FindEnvelope(envName);
+  
+  if (!envelope) {
+    // add warning
+    return;
+  }  
+   
+  envelope->AddConstituent(name, copyNo, transform);
+}
+
+//______________________________________________________________________________
+void  AliMUONGeometryEnvelopeStore::AddEnvelopeConstituentParam(const TString& name, 
+                                         const TString& envName, Int_t copyNo,
+                                        Int_t npar, Double_t* param) 
+{
+// Adds the volume with the specified name and transformation
+// to the list of envelopes.
+// ---                                            
+
+  if (fDebug) {
+    cout << "... Adding parameterised constituent " << name
+         << " to envelope " << envName 
+         << " with copyNo " << copyNo << endl;
+  }  
+
+  AliMUONGeometryEnvelope* envelope = FindEnvelope(envName);
+  
+  if (!envelope) {
+    // add warning
+    return;
+  }  
+   
+  envelope->AddConstituentParam(name, copyNo, npar, param);
+}
+
+//______________________________________________________________________________
+void  AliMUONGeometryEnvelopeStore::AddEnvelopeConstituentParam(const TString& name, 
+                                          const TString& envName, Int_t copyNo,
+                                          const TGeoTranslation& translation,
+                                         Int_t npar, Double_t* param)
+{
+// Adds the volume with the specified name and transformation
+// to the list of envelopes.
+// ---                                            
+
+  if (fDebug) {
+    cout << "... Adding parameterised constituent " << name
+         << " to envelope " << envName 
+         << " with copyNo " << copyNo
+         << " with translation" << endl;
+  }  
+
+  AliMUONGeometryEnvelope* envelope = FindEnvelope(envName);
+  
+  if (!envelope) {
+    // add warning
+    return;
+  }  
+   
+  envelope->AddConstituentParam(name, copyNo, translation, npar, param);
+}
+
+//______________________________________________________________________________
+void  AliMUONGeometryEnvelopeStore::AddEnvelopeConstituentParam(const TString& name, 
+                                          const TString& envName, Int_t copyNo, 
+                                          const TGeoTranslation& translation,
+                                         const TGeoRotation& rotation,
+                                         Int_t npar, Double_t* param)
+{
+// Adds the volume with the specified name and transformation
+// to the list of envelopes.
+// ---                                            
+
+  if (fDebug) {
+    cout << "... Adding parameterised constituent " << name
+         << " to envelope " << envName 
+         << " with copyNo " << copyNo
+         << " with translation and rotation" << endl;
+  }  
+
+  AliMUONGeometryEnvelope* envelope = FindEnvelope(envName);
+  
+  if (!envelope) {
+    // add warning
+    return;
+  }  
+   
+  envelope->AddConstituentParam(name, copyNo, translation, rotation, npar, param);
+}
+
+//______________________________________________________________________________
+void  AliMUONGeometryEnvelopeStore::AddEnvelopeConstituentParam(const TString& name, 
+                                          const TString& envName, Int_t copyNo, 
+                                          const TGeoCombiTrans& transform,
+                                         Int_t npar, Double_t* param)
+{
+// Adds the volume with the specified name and transformation
+// to the list of envelopes.
+// ---                                            
+
+  if (fDebug) {
+    cout << "... Adding parameterised constituent " << name
+         << " to envelope " << envName 
+         << " with copyNo " << copyNo
+         << " with translation and rotation" << endl;
+  }  
+
+  AliMUONGeometryEnvelope* envelope = FindEnvelope(envName);
+  
+  if (!envelope) {
+    // add warning
+    return;
+  }  
+   
+  envelope->AddConstituentParam(name, copyNo, transform, npar, param);
+}
+
diff --git a/MUON/AliMUONGeometryEnvelopeStore.h b/MUON/AliMUONGeometryEnvelopeStore.h
new file mode 100644 (file)
index 0000000..431ee53
--- /dev/null
@@ -0,0 +1,147 @@
+// $Id$
+//
+// Class AliMUONGeometryEnvelopeStore
+// -----------------------------
+// Class for definititon of the temporary volume envelopes
+// used in geometry construction
+//
+// Author: Ivana Hrivnacova, IPN Orsay
+
+#ifndef ALI_MUON_GEOMETRY_ENVELOPE_STORE_H
+#define ALI_MUON_GEOMETRY_ENVELOPE_STORE_H
+
+#include <TObject.h>
+#include <TString.h>
+
+class TGeoTranslation;
+class TGeoRotation;
+class TGeoCombiTrans;
+class TObjArray;
+class TArrayI;
+
+class AliMUONChamber;
+class AliMUONGeometryEnvelope;
+class AliMUONGeometryTransformStore;
+
+class AliMUONGeometryEnvelopeStore : public TObject
+{
+  public:
+    AliMUONGeometryEnvelopeStore(AliMUONGeometryTransformStore* transforms);
+    AliMUONGeometryEnvelopeStore();
+    AliMUONGeometryEnvelopeStore(const AliMUONGeometryEnvelopeStore& rhs);
+    virtual ~AliMUONGeometryEnvelopeStore();
+
+    // operators  
+    AliMUONGeometryEnvelopeStore& operator = (const AliMUONGeometryEnvelopeStore& rhs);
+  
+    // methods
+        
+          // adding virtual envelopes  
+          // (not placed in MC geometry, only logical assembly of volumes,
+         //  cannot have more copies)  
+    void  AddEnvelope(const TString& name, Int_t id, 
+                      Bool_t isVirtual, const char* only="ONLY"); 
+    void  AddEnvelope(const TString& name, Int_t id,  
+                      Bool_t isVirtual,
+                      const TGeoTranslation& translation, 
+                     const char* only="ONLY"); 
+    void  AddEnvelope(const TString& name, Int_t id, 
+                      Bool_t isVirtual, 
+                      const TGeoTranslation& translation, 
+                     const TGeoRotation& rotation,
+                     const char* only="ONLY");
+    void  AddEnvelope(const TString& name, Int_t id,  
+                      Bool_t isVirtual,
+                      const TGeoCombiTrans& transform,
+                     const char* only="ONLY");
+                     
+          // adding non-virtual envelopes      
+          // (placed in MC geometry with transformation composed
+         //  of transformation of chamber and their transformation, 
+         //  can have more copies )    
+    void  AddEnvelope(const TString& name, Int_t id, 
+                      Int_t copyNo, const char* only="ONLY"); 
+    void  AddEnvelope(const TString& name, Int_t id, 
+                      Int_t copyNo, 
+                      const TGeoTranslation& translation,
+                     const char* only="ONLY"); 
+    void  AddEnvelope(const TString& name,  Int_t id, 
+                      Int_t copyNo,
+                      const TGeoTranslation& translation, 
+                     const TGeoRotation& rotation,
+                     const char* only="ONLY");
+    void  AddEnvelope(const TString& name,  Int_t id, 
+                      Int_t copyNo, 
+                      const TGeoCombiTrans& transform,
+                     const char* only="ONLY");
+
+          // adding constituents to virtual envelopes  
+          // (placed in MC geometry with transformation composed
+         //  of transformation of chamber, envelope and their own
+         //  transformation )  
+    void  AddEnvelopeConstituent(const TString& name, const TString& envName, 
+                      Int_t copyNo); 
+    void  AddEnvelopeConstituent(const TString& name, const TString& envName, 
+                      Int_t copyNo, const TGeoTranslation& translation); 
+    void  AddEnvelopeConstituent(const TString& name, const TString& envName, 
+                      Int_t copyNo, const TGeoTranslation& translation, 
+                     const TGeoRotation& rotation);
+    void  AddEnvelopeConstituent(const TString& name, const TString& envName, 
+                      Int_t copyNo, const TGeoCombiTrans& transform);
+                                     
+          // adding constituents to virtual envelopes with specified shape
+         // parameters
+          // (placed in MC geometry with transformation composed
+         //  of transformation of chamber, envelope and their own
+         //  transformation )  
+    void  AddEnvelopeConstituentParam(const TString& name, const TString& envName, 
+                      Int_t copyNo, Int_t npar, Double_t* param); 
+    void  AddEnvelopeConstituentParam(const TString& name, const TString& envName, 
+                      Int_t copyNo, const TGeoTranslation& translation,
+                     Int_t npar, Double_t* param); 
+    void  AddEnvelopeConstituentParam(const TString& name, const TString& envName, 
+                      Int_t copyNo, const TGeoTranslation& translation, 
+                     const TGeoRotation& rotation, Int_t npar, Double_t* param);
+    void  AddEnvelopeConstituentParam(const TString& name, const TString& envName, 
+                      Int_t copyNo, const TGeoCombiTrans& transform,
+                     Int_t npar, Double_t* param);
+                                     
+    void  SetDebug(Bool_t debug);
+
+    // Alignement
+    virtual Bool_t  GetAlign() const;
+    virtual void    SetAlign(Bool_t align);
+    // get methods
+    const TObjArray*  GetEnvelopes() const;
+
+  private:
+    // methods
+    AliMUONGeometryEnvelope* FindEnvelope(const TString& name) const;
+    Bool_t AlignEnvelope(AliMUONGeometryEnvelope* envelope) const;
+    // data members
+    AliMUONGeometryTransformStore* fDETransforms; // det elements transformations
+    TObjArray*  fEnvelopes; // the envelopes names and transformations
+                           // wrt to the chamber position in mother volume                                 
+    Bool_t      fDebug;     // Switch for debugging  
+    Bool_t      fAlign;     // option to read transformations from a file
+  ClassDef(AliMUONGeometryEnvelopeStore,1) // MUON envelope store
+};
+
+// inline functions
+
+inline void  AliMUONGeometryEnvelopeStore::SetDebug(Bool_t debug)
+{ fDebug = debug; }
+
+inline Bool_t  AliMUONGeometryEnvelopeStore::GetAlign() const
+{ return fAlign; }
+
+inline void AliMUONGeometryEnvelopeStore::SetAlign(Bool_t align)
+{ fAlign = align; }
+
+inline const TObjArray* AliMUONGeometryEnvelopeStore::GetEnvelopes() const
+{ return fEnvelopes; }
+
+#endif //ALI_MUON_CHAMBER_ENVELOPE_STORE_H
diff --git a/MUON/AliMUONGeometrySVMap.cxx b/MUON/AliMUONGeometrySVMap.cxx
new file mode 100644 (file)
index 0000000..d5fbafc
--- /dev/null
@@ -0,0 +1,353 @@
+// $Id$
+//
+// Class AliMUONGeometrySVMap
+// ------------------------------------ 
+// As the detection element frame is different from the
+// frame of the sensitive volume(s) defined in Geant,
+// the sensitive volumes have to be mapped to the detection 
+// elements. In the map, fSVMap, the sensitive voolumes are specified
+// by the full path in the volume hierarchy, defined as:
+//  /volname.copyNo/volName.copyNo1/...
+//
+// The array of global positions of sensitive volumes fSVPositions
+// is included to make easier the verification of the assignements 
+// in the fSVMap.
+//
+// Author: Ivana Hrivnacova, IPN Orsay
+
+#include <Riostream.h>
+#include <TGeoMatrix.h>
+#include <TObjString.h>
+
+#include "AliMUONGeometrySVMap.h"
+
+ClassImp(AliMUONGeometrySVMap)
+
+//
+// Class AliMUONStringIntMap
+//
+
+//______________________________________________________________________________
+AliMUONStringIntMap::AliMUONStringIntMap()
+ : TObject(),
+   fNofItems(0),
+   fFirstArray(100),
+   fSecondArray(100)
+{
+// Standard constructor
+
+  fFirstArray.SetOwner(true);
+}
+
+//______________________________________________________________________________
+AliMUONStringIntMap::AliMUONStringIntMap(const AliMUONStringIntMap& rhs)
+  : TObject(rhs)
+{
+  Fatal("Copy constructor", 
+        "Copy constructor is not implemented.");
+}
+
+//______________________________________________________________________________
+AliMUONStringIntMap& 
+AliMUONStringIntMap::operator = (const AliMUONStringIntMap& rhs) 
+{
+  // check assignement to self
+  if (this == &rhs) return *this;
+
+  Fatal("operator=", 
+        "Assignment operator is not implemented.");
+    
+  return *this;  
+}
+
+//______________________________________________________________________________
+AliMUONStringIntMap::~AliMUONStringIntMap()
+{
+// Destructor
+
+  fFirstArray.Delete();
+}
+
+
+//______________________________________________________________________________
+Bool_t  AliMUONStringIntMap::Add(const TString& first, Int_t second)
+{
+// Add map element if first not yet present
+// ---
+
+  Int_t second2 = Get(first);
+  if ( second2 > 0 ) {
+    Error("Add", "%s is already present in the map", first.Data());
+    return false;
+  }
+  
+  // Resize TArrayI if needed
+  if (fSecondArray.GetSize() == fNofItems) fSecondArray.Set(2*fNofItems);
+  
+  fFirstArray.Add(new TObjString(first)); 
+  fSecondArray.AddAt(second, fNofItems);
+  fNofItems++;
+   
+  return true;
+}  
+
+//______________________________________________________________________________
+Int_t  AliMUONStringIntMap::Get(const TString& first) const
+{
+// Find the element with specified key (first)
+// ---
+  
+  for (Int_t i=0; i<fNofItems; i++) {
+    if ( ((TObjString*)fFirstArray.At(i))->GetString() == first )
+      return fSecondArray.At(i);
+  }
+  
+  return 0;
+}      
+
+//______________________________________________________________________________
+Int_t  AliMUONStringIntMap::GetNofItems() const
+{
+// Returns the number of elements
+// ---
+
+  return fNofItems;
+}  
+
+//______________________________________________________________________________
+void  AliMUONStringIntMap::Clear()
+{
+// Deletes the elements
+// ---
+
+  cout << "######### clearing map " << endl;
+
+  fNofItems = 0;
+  fFirstArray.Delete();
+  fSecondArray.Reset();
+
+  cout << "######### clearing map done " << endl;
+}  
+    
+//______________________________________________________________________________
+void AliMUONStringIntMap::Print(const char* /*option*/) const
+{
+// Prints the map elements
+
+  for (Int_t i=0; i<fNofItems; i++) {
+    cout << setw(4)
+         << i << "  "
+         << ((TObjString*)fFirstArray.At(i))->GetString()
+        << "  "
+        << setw(5)
+        << fSecondArray.At(i)
+        << endl;
+  }
+}       
+
+//______________________________________________________________________________
+void AliMUONStringIntMap::Print(const TString& key, ofstream& out) const
+{
+// Prints the map elements
+
+  for (Int_t i=0; i<fNofItems; i++) {
+    out  << key << "  "
+         << ((TObjString*)fFirstArray.At(i))->GetString()
+        << "  "
+        << setw(5)
+        << fSecondArray.At(i)
+        << endl;
+  }
+}       
+
+
+//
+// Class AliMUONGeometrySVMap
+//
+
+//______________________________________________________________________________
+AliMUONGeometrySVMap::AliMUONGeometrySVMap(Int_t initSize)
+ : TObject(),
+   fSVMap(),
+   fSVPositions(initSize)
+{ 
+// Standard constructor
+  
+  fSVPositions.SetOwner(true);
+}
+
+//______________________________________________________________________________
+AliMUONGeometrySVMap::AliMUONGeometrySVMap()
+ : TObject(),
+   fSVMap(),
+   fSVPositions()
+{
+// Default constructor
+}
+
+//______________________________________________________________________________
+AliMUONGeometrySVMap::AliMUONGeometrySVMap(const AliMUONGeometrySVMap& rhs)
+  : TObject(rhs)
+{
+  Fatal("Copy constructor", 
+        "Copy constructor is not implemented.");
+}
+
+//______________________________________________________________________________
+AliMUONGeometrySVMap::~AliMUONGeometrySVMap() {
+//
+  fSVPositions.Delete();
+}
+
+//______________________________________________________________________________
+AliMUONGeometrySVMap& 
+AliMUONGeometrySVMap::operator = (const AliMUONGeometrySVMap& rhs) 
+{
+  // check assignement to self
+  if (this == &rhs) return *this;
+
+  Fatal("operator=", 
+        "Assignment operator is not implemented.");
+    
+  return *this;  
+}
+
+//
+// private methods
+//
+
+//______________________________________________________________________________
+const TGeoCombiTrans* 
+AliMUONGeometrySVMap::FindByName(const TString& name) const
+{
+// Finds TGeoCombiTrans in the array of positions by name 
+// ---
+
+  for (Int_t i=0; i<fSVPositions.GetEntriesFast(); i++) { 
+     TGeoCombiTrans* transform = (TGeoCombiTrans*) fSVPositions.At(i);
+     if ( transform && TString(transform->GetTitle()) == name )
+       return transform;
+  }     
+       
+  return 0;
+}  
+
+
+//
+// public methods
+//
+
+//______________________________________________________________________________
+void AliMUONGeometrySVMap::Add(const TString& volumePath, 
+                               Int_t detElemId)
+{
+// Add the specified sensitive volume path and the detElemId 
+// to the map
+// ---
+  fSVMap.Add(volumePath, detElemId);
+}                        
+    
+//______________________________________________________________________________
+void AliMUONGeometrySVMap::AddPosition(const TString& volumePath, 
+                              const TGeoTranslation& globalPosition)
+{
+// Add global position for the sensitive volume specified by volumePath  
+// in the array of transformations if this volumePath is not yet present. 
+// ---
+  TGeoTranslation* newTransform = new TGeoTranslation(globalPosition);
+  Int_t detElemId = fSVMap.Get(volumePath);
+
+  TString detElemIdString("");
+  detElemIdString += detElemId;
+
+  newTransform->SetName(detElemIdString);
+  newTransform->SetTitle(volumePath);
+  
+  // cout << ".. adding " << volumePath << "  " << detElemId << endl;
+
+  // Add to the map  
+  if ( !FindByName(volumePath )) {
+  
+    newTransform->SetUniqueID(detElemId);
+      // Set detector element id as unique id
+    fSVPositions.Add(newTransform);
+  } 
+}                    
+    
+//______________________________________________________________________________
+void AliMUONGeometrySVMap::Clear()
+{
+// Clears the sensitive volumes map
+
+  fSVMap.Clear();
+}  
+
+//______________________________________________________________________________
+void AliMUONGeometrySVMap::ClearPositions()
+{
+// Clears the array of transformations
+
+  fSVPositions.Delete();
+}  
+
+//______________________________________________________________________________
+void AliMUONGeometrySVMap::SortPositions()
+{
+// Sort the array of positions by names.
+// ---
+
+  fSVPositions.Sort(fSVPositions.GetEntriesFast());
+}
+  
+//______________________________________________________________________________
+void  AliMUONGeometrySVMap::Print(const char* option) const
+{    
+// Prints the map of sensitive volumes and detector elements 
+// ---
+
+  fSVMap.Print(option);
+}  
+
+//______________________________________________________________________________
+void  AliMUONGeometrySVMap::PrintPositions() const
+{
+// Prints the sensitive volumes global positions
+// ---
+
+  for (Int_t i=0; i<fSVPositions.GetEntriesFast(); i++) {
+    
+    TGeoTranslation* matrix = (TGeoTranslation*)fSVPositions.At(i);
+
+    cout << "DetElemId: " << matrix->GetUniqueID();
+    cout << "  name: " << matrix->GetTitle() << endl;
+
+    const double* translation = matrix->GetTranslation();
+    cout << "   translation: "
+         << std::fixed
+         << std::setw(7) << std::setprecision(4) << translation[0] << ", " 
+         << std::setw(7) << std::setprecision(4) << translation[1] << ", "
+         << std::setw(7) << std::setprecision(4) << translation[2] << endl;
+  }
+}     
+
+//______________________________________________________________________________
+void  AliMUONGeometrySVMap::WriteMap(ofstream& out) const
+{    
+// Prints the map of sensitive volumes and detector elements 
+// into specified stream
+// ---
+
+  fSVMap.Print("SV", out);
+}  
+
+//______________________________________________________________________________
+Int_t  AliMUONGeometrySVMap::GetDetElemId(const TString& volumePath) const
+{
+// Returns detection element Id for the sensitive volume specified by path
+// ---
+
+  return fSVMap.Get(volumePath);
+}  
diff --git a/MUON/AliMUONGeometrySVMap.h b/MUON/AliMUONGeometrySVMap.h
new file mode 100644 (file)
index 0000000..a4bef5f
--- /dev/null
@@ -0,0 +1,103 @@
+// $Id$
+//
+// Class AliMUONGeometrySVMap
+// -----------------------------------
+// As the detection element frame is different from the
+// frame of the sensitive volume(s) defined in Geant,
+// the sensitive volumes have to be mapped to the detection 
+// elements. In the map, fSVMap, the sensitive voolumes are specified
+// by the full path in the volume hierarchy, defined as:
+//  /volname.copyNo/volName.copyNo1/...
+//
+// The array of global positions of sensitive volumes fSVPositions
+// is included to make easier the verification of the assignements 
+// in the fSVMap.
+//
+// Author: Ivana Hrivnacova, IPN Orsay
+
+#ifndef ALI_MUON_GEOMETRY_SV_MAP_H
+#define ALI_MUON_GEOMETRY_SV_MAP_H
+
+#include <Riostream.h>
+#include <TObject.h>
+#include <TObjArray.h>
+#include <TArrayI.h>
+
+class TGeoCombiTrans;
+class TGeoTranslation;
+
+// Substitutes map <string, int>
+// which ALICE does not allow to use 
+
+class AliMUONStringIntMap : public TObject
+{
+  public:
+    AliMUONStringIntMap();
+    virtual ~AliMUONStringIntMap();
+    
+    // methods
+    Bool_t  Add(const TString& first, Int_t second);
+    Int_t   Get(const TString& first) const;
+    Int_t   GetNofItems() const;
+    void    Clear();
+    virtual void Print(const char* /*option*/ = "") const;
+    void Print(const TString& key, ofstream& out) const;
+    
+  protected:
+    AliMUONStringIntMap(const AliMUONStringIntMap& rhs);
+
+    // operators  
+    AliMUONStringIntMap& operator = (const AliMUONStringIntMap& rhs);
+  private:
+    // data members
+    Int_t      fNofItems;    // number of items
+    TObjArray  fFirstArray;  // first item array
+    TArrayI    fSecondArray; // second item array
+  ClassDef(AliMUONStringIntMap,1)  // motif map
+};    
+
+
+class AliMUONGeometrySVMap : public TObject
+{
+  public:
+    AliMUONGeometrySVMap(Int_t initSize);
+    AliMUONGeometrySVMap();
+    virtual ~AliMUONGeometrySVMap();
+
+    // methods
+    void Add(const TString& volumePath, 
+             Int_t detElemId);  
+    void AddPosition(const TString& volumePath, 
+             const TGeoTranslation& globalPosition);  
+
+    void Clear();
+    void ClearPositions();
+    void SortPositions();
+    virtual void Print(Option_t* option) const;
+    void PrintPositions() const;
+    void WriteMap(ofstream& out) const;
+    
+    // get methods
+    Int_t  GetDetElemId(const TString& volumePath) const;
+
+  protected:
+    AliMUONGeometrySVMap(const AliMUONGeometrySVMap& rhs);
+
+    // operators  
+    AliMUONGeometrySVMap& operator 
+      = (const AliMUONGeometrySVMap& rhs);
+  
+  private:
+    const TGeoCombiTrans* FindByName(const TString& name) const;
+
+    // data members
+    AliMUONStringIntMap  fSVMap;       // Map of sensitive volume paths
+                                       // and detector element id 
+    TObjArray            fSVPositions; // The array of transformations
+
+  ClassDef(AliMUONGeometrySVMap,1) // MUON sensitive volume map
+};
+
+#endif //ALI_MUON_GEOMETRY_TRANSFORM_STORE_H
diff --git a/MUON/AliMUONGeometryTransformStore.cxx b/MUON/AliMUONGeometryTransformStore.cxx
new file mode 100644 (file)
index 0000000..f2ebdce
--- /dev/null
@@ -0,0 +1,206 @@
+// $Id$
+//
+// Class AliMUONGeometryTransformStore
+// ------------------------------------ 
+// The class provides the array of transformations of the detection elements
+// from a defined reference frame to the detection element frame.
+// (See more in the header file.) 
+//
+// Author: Ivana Hrivnacova, IPN Orsay
+
+#include <Riostream.h>
+#include <TGeoMatrix.h>
+#include <TObjString.h>
+
+#include "AliMUONGeometryTransformStore.h"
+
+ClassImp(AliMUONGeometryTransformStore)
+
+const Int_t AliMUONGeometryTransformStore::fgkHemisphere = 50; 
+
+//______________________________________________________________________________
+AliMUONGeometryTransformStore::AliMUONGeometryTransformStore(
+                                  Int_t firstDetElemId, Int_t  nofDetElems,
+                                 AliMUONGeometrySVMap* svMap)
+ : TObject(),
+   fFirstDetElemId(firstDetElemId),
+   fNofDetElems(nofDetElems),
+   fDETransforms(100),
+   fSVMap(svMap)
+{ 
+// Standard constructor
+  
+  fDETransforms.SetOwner(true);
+  for (Int_t i=0; i<nofDetElems; i++) fDETransforms[i] = 0;
+}
+
+//______________________________________________________________________________
+AliMUONGeometryTransformStore::AliMUONGeometryTransformStore()
+ : TObject(),
+   fFirstDetElemId(0),
+   fNofDetElems(0),
+   fDETransforms(),
+   fSVMap(0)
+{
+// Default constructor
+}
+
+//______________________________________________________________________________
+AliMUONGeometryTransformStore::AliMUONGeometryTransformStore(
+                                   const AliMUONGeometryTransformStore& rhs)
+  : TObject(rhs)
+{
+  Fatal("Copy constructor", 
+        "Copy constructor is not implemented.");
+}
+
+//______________________________________________________________________________
+AliMUONGeometryTransformStore::~AliMUONGeometryTransformStore() {
+//
+  fDETransforms.Delete();
+}
+
+//______________________________________________________________________________
+AliMUONGeometryTransformStore& 
+AliMUONGeometryTransformStore::operator = (const AliMUONGeometryTransformStore& rhs) 
+{
+  // check assignement to self
+  if (this == &rhs) return *this;
+
+  Fatal("operator=", 
+        "Assignment operator is not implemented.");
+    
+  return *this;  
+}
+
+//
+// private methods
+//
+
+//______________________________________________________________________________
+Int_t AliMUONGeometryTransformStore::GetDetElementIndex(Int_t detElemId) const
+{
+// Returns the index of detector element specified by detElemId
+// ---
+
+  Int_t index = detElemId - fFirstDetElemId;
+  if (index >= fgkHemisphere) 
+    index -= fgkHemisphere - fNofDetElems/2;
+
+  return index;
+}  
+
+//______________________________________________________________________________
+Int_t AliMUONGeometryTransformStore::GetDetElementId(Int_t detElemIndex) const
+{
+// Returns the ID of detector element specified by index
+// ---
+
+  Int_t detElemId = detElemIndex;
+  
+  if (detElemIndex >=  fNofDetElems/2) 
+    detElemId += fgkHemisphere - fNofDetElems/2; 
+
+  detElemId += fFirstDetElemId;
+
+  return detElemId;
+}  
+
+
+//
+// public methods
+//
+
+//______________________________________________________________________________
+void AliMUONGeometryTransformStore::Add(Int_t detElemId,
+                                        const TString& alignedVolume, 
+                                       const TGeoCombiTrans& transform)
+{
+// Add transformation specified by alignedVolume in the array
+// if this alignedVolume is not yet present. 
+// ---
+  TGeoCombiTrans* newTransform = new TGeoCombiTrans(transform);
+  newTransform->SetName(alignedVolume);
+  
+  //cout << ".. adding " << detElemId 
+  //     << " index: " << GetDetElementIndex(detElemId) << endl;
+
+  // Add to the map  
+  if ( !Get(detElemId)) {
+  
+    newTransform->SetUniqueID(detElemId);
+      // Set detector element id as unique id
+    fDETransforms.AddAt(newTransform, GetDetElementIndex(detElemId));
+  } 
+  else 
+    Warning("Add", "The aligned volume %s is already present", 
+            alignedVolume.Data());  
+}                    
+    
+//______________________________________________________________________________
+void  AliMUONGeometryTransformStore::Print(Option_t* /*option*/) const
+{
+// Prints the detector elements transformations
+// ---
+
+  for (Int_t i=0; i<fDETransforms.GetEntriesFast(); i++) {
+    
+    cout << "DetElemId: " << GetDetElementId(i);
+
+    TGeoCombiTrans* matrix = (TGeoCombiTrans*)fDETransforms.At(i);
+    cout << "  name: " << matrix->GetName() << endl;
+
+    const double* translation = matrix->GetTranslation();
+    cout << "   translation: "
+         << std::fixed
+         << std::setw(7) << std::setprecision(4) << translation[0] << ", " 
+         << std::setw(7) << std::setprecision(4) << translation[1] << ", "
+         << std::setw(7) << std::setprecision(4) << translation[2] << endl;
+        
+    const double* rotation = matrix->GetRotationMatrix();
+    cout << "   rotation matrix:  "
+         << std::fixed
+         << std::setw(7) << std::setprecision(4) 
+         << rotation[0] << ", " << rotation[1] << ", " << rotation[2] << endl
+        << "                     "         
+         << rotation[3] << ", " << rotation[4] << ", " << rotation[5] << endl      
+        << "                     "         
+         << rotation[6] << ", " << rotation[7] << ", " << rotation[8] << endl;
+
+  }
+}     
+
+//______________________________________________________________________________
+const TGeoCombiTrans* 
+AliMUONGeometryTransformStore::Get(Int_t detElemId) const
+{
+// Returns transformation for the specified detector element Id
+// ---
+
+  Int_t index = GetDetElementIndex(detElemId);
+  
+  if ( index >= 0 && index < fNofDetElems )
+    return (const TGeoCombiTrans*)fDETransforms.At(index);
+  else {
+    Warning("Get","Index %d out of limits", index);
+    return 0;  
+  }  
+}  
+
+//______________________________________________________________________________
+const TGeoCombiTrans* 
+AliMUONGeometryTransformStore::FindBySensitiveVolume(const TString& sensVolume) const
+{
+// Finds TGeoCombiTrans for the detector element Id specified by aligned volume 
+// ---
+
+  Int_t detElemId = fSVMap->GetDetElemId(sensVolume);
+
+  if (!detElemId) return 0; 
+        // The specified sensitive volume is not in the map   
+  
+  return Get(detElemId);
+}  
+
diff --git a/MUON/AliMUONGeometryTransformStore.h b/MUON/AliMUONGeometryTransformStore.h
new file mode 100644 (file)
index 0000000..38aa2f4
--- /dev/null
@@ -0,0 +1,75 @@
+// $Id$
+//
+// Class AliMUONGeometryTransformStore
+// -----------------------------------
+// The class contains the array of transformations fDETransforms
+// of the detection elements from a defined reference frame (MUON chamber ) 
+// to the detection element frame.
+// The detection elements numbering:
+//    DetElemId = chamberId*100 + [50] + detElemNum
+//                where  chamberId  = 1, 2, ..., 14
+//                       detElemNum = 0, 1, ...
+// The number 50 is added to distinguish detector elements 
+// in the left and the right hemispheres.
+//
+// Author: Ivana Hrivnacova, IPN Orsay
+
+#ifndef ALI_MUON_GEOMETRY_TRANSFORM_STORE_H
+#define ALI_MUON_GEOMETRY_TRANSFORM_STORE_H
+
+#include <Riostream.h>
+#include <TObject.h>
+#include <TObjArray.h>
+#include <TArrayI.h>
+
+#include "AliMUONGeometrySVMap.h"
+
+class TGeoCombiTrans;
+class TGeoTranslation;
+
+class AliMUONGeometryTransformStore : public TObject
+{
+  public:
+    AliMUONGeometryTransformStore(
+           Int_t firstDetElemId, Int_t  nofDetElems,
+           AliMUONGeometrySVMap* svMap);
+    AliMUONGeometryTransformStore();
+    virtual ~AliMUONGeometryTransformStore();
+
+    // methods
+    void Add(Int_t detElemId,
+             const TString& alignedVolume, 
+             const TGeoCombiTrans& transformation);  
+
+    virtual void  Print(Option_t* /*option*/) const;
+    
+    // get methods
+    const TGeoCombiTrans* Get(Int_t detElemId) const;
+    const TGeoCombiTrans* FindBySensitiveVolume(const TString& volumePath) const;
+
+  protected:
+    AliMUONGeometryTransformStore(const AliMUONGeometryTransformStore& rhs);
+
+    // operators  
+    AliMUONGeometryTransformStore& operator 
+      = (const AliMUONGeometryTransformStore& rhs);
+  
+  private:
+    // methods
+    Int_t GetDetElementIndex(Int_t detElemId) const;
+    Int_t GetDetElementId(Int_t detElemIndex) const;
+
+    // data members
+    static const Int_t   fgkHemisphere;   // The constant to distinguish 
+                                          // the left/right hemispere            
+
+    Int_t      fFirstDetElemId; // The first detection element Id 
+    Int_t      fNofDetElems;    // Number of detection elements
+    TObjArray  fDETransforms;   // The array of transformations
+    AliMUONGeometrySVMap*  fSVMap; // The map of sensitive volumes 
+                                   // and detector element id 
+
+  ClassDef(AliMUONGeometryTransformStore,1) // MUON transformations store
+};
+
+#endif //ALI_MUON_GEOMETRY_TRANSFORM_STORE_H
diff --git a/MUON/data/reset_data.sh b/MUON/data/reset_data.sh
new file mode 100755 (executable)
index 0000000..e29003a
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/sh
+# $Id$
+#
+# by I. Hrivnacova, IPN Orsay
+
+# Script to replace transformation/svmap data files 
+# with generated ones.
+# The old files are kept with *.old extension
+#
+# Usage: reset_data which_data
+#                   which_data = transform, svmap 
+
+if [ $# != 1 ] ; then
+    echo " Usage: reset_data which_data"
+    echo "                   which_data = transform, svmap"
+    exit 1
+fi
+
+if [ "$1" != "transform" -a "$1" != "svmap" ] ; then
+    echo " Usage: reset_data which_data"
+    echo "                   which_data = transform, svmap"
+    exit 1
+fi
+
+DATATYPE=$1
+
+for builder in st1 st1V2 st2 slat trigger
+do
+  if [ -f $DATATYPE"_"$builder".dat.out" ] ; then
+    # backup old file
+    if [ -f $DATATYPE"_"$builder".dat" ] ; then
+      mv $DATATYPE"_"$builder".dat" $DATATYPE"_"$builder".dat.old"
+    fi  
+    # activate new file
+    mv $DATATYPE"_"$builder".dat.out" $DATATYPE"_"$builder".dat"
+  echo ".. reset "$DATATYPE"_"$builder".dat" 
+  fi
+done  
diff --git a/MUON/data/svmap_slat.dat b/MUON/data/svmap_slat.dat
new file mode 100644 (file)
index 0000000..362764c
--- /dev/null
@@ -0,0 +1,758 @@
+SV  /ALIC.1/DDIP.1/S05I.1/S05P.1/S05H.1/S05G.1    504
+SV  /ALIC.1/DDIP.1/S05I.2/S05P.1/S05H.1/S05G.1    504
+SV  /ALIC.1/DDIP.1/SB5I.3/SB5P.1/SB5H.1/S05G.1    504
+SV  /ALIC.1/DDIP.1/S05G.602    504
+SV  /ALIC.1/DDIP.1/S05G.606    504
+SV  /ALIC.1/DDIP.1/S05G.610    504
+SV  /ALIC.1/DDIP.1/S05G.614    504
+SV  /ALIC.1/DDIP.1/S05G.618    504
+SV  /ALIC.1/DDIP.1/S05G.622    504
+SV  /ALIC.1/DDIP.1/S05G.626    504
+SV  /ALIC.1/DDIP.1/S05G.630    504
+SV  /ALIC.1/DDIP.1/S05G.634    504
+SV  /ALIC.1/DDIP.1/S05I.4/S05P.1/S05H.1/S05G.1    554
+SV  /ALIC.1/DDIP.1/S05I.5/S05P.1/S05H.1/S05G.1    554
+SV  /ALIC.1/DDIP.1/SB5I.6/SB5P.1/SB5H.1/S05G.1    554
+SV  /ALIC.1/DDIP.1/S05G.702    554
+SV  /ALIC.1/DDIP.1/S05G.706    554
+SV  /ALIC.1/DDIP.1/S05G.710    554
+SV  /ALIC.1/DDIP.1/S05G.714    554
+SV  /ALIC.1/DDIP.1/S05G.718    554
+SV  /ALIC.1/DDIP.1/S05G.722    554
+SV  /ALIC.1/DDIP.1/S05G.726    554
+SV  /ALIC.1/DDIP.1/S05G.730    554
+SV  /ALIC.1/DDIP.1/S05G.734    554
+SV  /ALIC.1/DDIP.1/S05I.10/S05P.1/S05H.1/S05G.1    505
+SV  /ALIC.1/DDIP.1/S05I.11/S05P.1/S05H.1/S05G.1    505
+SV  /ALIC.1/DDIP.1/SB5I.12/SB5P.1/SB5H.1/S05G.1    505
+SV  /ALIC.1/DDIP.1/S05G.202    505
+SV  /ALIC.1/DDIP.1/S05G.206    505
+SV  /ALIC.1/DDIP.1/S05G.210    505
+SV  /ALIC.1/DDIP.1/S05G.214    505
+SV  /ALIC.1/DDIP.1/S05G.218    505
+SV  /ALIC.1/DDIP.1/S05G.222    505
+SV  /ALIC.1/DDIP.1/S05I.13/S05P.1/S05H.1/S05G.1    555
+SV  /ALIC.1/DDIP.1/S05I.14/S05P.1/S05H.1/S05G.1    555
+SV  /ALIC.1/DDIP.1/SB5I.15/SB5P.1/SB5H.1/S05G.1    555
+SV  /ALIC.1/DDIP.1/S05G.302    555
+SV  /ALIC.1/DDIP.1/S05G.306    555
+SV  /ALIC.1/DDIP.1/S05G.310    555
+SV  /ALIC.1/DDIP.1/S05G.314    555
+SV  /ALIC.1/DDIP.1/S05G.318    555
+SV  /ALIC.1/DDIP.1/S05G.322    555
+SV  /ALIC.1/DDIP.1/S05I.7/S05P.1/S05H.1/S05G.1    503
+SV  /ALIC.1/DDIP.1/S05I.8/S05P.1/S05H.1/S05G.1    503
+SV  /ALIC.1/DDIP.1/SB5I.9/SB5P.1/SB5H.1/S05G.1    503
+SV  /ALIC.1/DDIP.1/S05G.102    503
+SV  /ALIC.1/DDIP.1/S05G.106    503
+SV  /ALIC.1/DDIP.1/S05G.110    503
+SV  /ALIC.1/DDIP.1/S05G.114    503
+SV  /ALIC.1/DDIP.1/S05G.118    503
+SV  /ALIC.1/DDIP.1/S05G.122    503
+SV  /ALIC.1/DDIP.1/S05I.16/S05P.1/S05H.1/S05G.1    553
+SV  /ALIC.1/DDIP.1/S05I.17/S05P.1/S05H.1/S05G.1    553
+SV  /ALIC.1/DDIP.1/SB5I.18/SB5P.1/SB5H.1/S05G.1    553
+SV  /ALIC.1/DDIP.1/S05G.402    553
+SV  /ALIC.1/DDIP.1/S05G.406    553
+SV  /ALIC.1/DDIP.1/S05G.410    553
+SV  /ALIC.1/DDIP.1/S05G.414    553
+SV  /ALIC.1/DDIP.1/S05G.418    553
+SV  /ALIC.1/DDIP.1/S05G.422    553
+SV  /ALIC.1/DDIP.1/S05I.23/S05P.1/S05H.1/S05G.1    506
+SV  /ALIC.1/DDIP.1/S05I.24/S05P.1/S05H.1/S05G.1    506
+SV  /ALIC.1/DDIP.1/S05I.25/S05P.1/S05H.1/S05G.1    506
+SV  /ALIC.1/DDIP.1/SB5I.26/SB5P.1/SB5H.1/S05G.1    506
+SV  /ALIC.1/DDIP.1/S05I.27/S05P.1/S05H.1/S05G.1    556
+SV  /ALIC.1/DDIP.1/S05I.28/S05P.1/S05H.1/S05G.1    556
+SV  /ALIC.1/DDIP.1/S05I.29/S05P.1/S05H.1/S05G.1    556
+SV  /ALIC.1/DDIP.1/SB5I.30/SB5P.1/SB5H.1/S05G.1    556
+SV  /ALIC.1/DDIP.1/S05I.19/S05P.1/S05H.1/S05G.1    502
+SV  /ALIC.1/DDIP.1/S05I.20/S05P.1/S05H.1/S05G.1    502
+SV  /ALIC.1/DDIP.1/S05I.21/S05P.1/S05H.1/S05G.1    502
+SV  /ALIC.1/DDIP.1/SB5I.22/SB5P.1/SB5H.1/S05G.1    502
+SV  /ALIC.1/DDIP.1/S05I.31/S05P.1/S05H.1/S05G.1    552
+SV  /ALIC.1/DDIP.1/S05I.32/S05P.1/S05H.1/S05G.1    552
+SV  /ALIC.1/DDIP.1/S05I.33/S05P.1/S05H.1/S05G.1    552
+SV  /ALIC.1/DDIP.1/SB5I.34/SB5P.1/SB5H.1/S05G.1    552
+SV  /ALIC.1/DDIP.1/S05I.38/S05P.1/S05H.1/S05G.1    507
+SV  /ALIC.1/DDIP.1/S05I.39/S05P.1/S05H.1/S05G.1    507
+SV  /ALIC.1/DDIP.1/S05I.40/S05P.1/S05H.1/S05G.1    507
+SV  /ALIC.1/DDIP.1/S05I.41/S05P.1/S05H.1/S05G.1    557
+SV  /ALIC.1/DDIP.1/S05I.42/S05P.1/S05H.1/S05G.1    557
+SV  /ALIC.1/DDIP.1/S05I.43/S05P.1/S05H.1/S05G.1    557
+SV  /ALIC.1/DDIP.1/S05I.35/S05P.1/S05H.1/S05G.1    501
+SV  /ALIC.1/DDIP.1/S05I.36/S05P.1/S05H.1/S05G.1    501
+SV  /ALIC.1/DDIP.1/S05I.37/S05P.1/S05H.1/S05G.1    501
+SV  /ALIC.1/DDIP.1/S05I.44/S05P.1/S05H.1/S05G.1    551
+SV  /ALIC.1/DDIP.1/S05I.45/S05P.1/S05H.1/S05G.1    551
+SV  /ALIC.1/DDIP.1/S05I.46/S05P.1/S05H.1/S05G.1    551
+SV  /ALIC.1/DDIP.1/S05I.49/S05P.1/S05H.1/S05G.1    508
+SV  /ALIC.1/DDIP.1/S05I.50/S05P.1/S05H.1/S05G.1    508
+SV  /ALIC.1/DDIP.1/S05I.51/S05P.1/S05H.1/S05G.1    558
+SV  /ALIC.1/DDIP.1/S05I.52/S05P.1/S05H.1/S05G.1    558
+SV  /ALIC.1/DDIP.1/S05I.47/S05P.1/S05H.1/S05G.1    500
+SV  /ALIC.1/DDIP.1/S05I.48/S05P.1/S05H.1/S05G.1    500
+SV  /ALIC.1/DDIP.1/S05I.53/S05P.1/S05H.1/S05G.1    550
+SV  /ALIC.1/DDIP.1/S05I.54/S05P.1/S05H.1/S05G.1    550
+
+SV  /ALIC.1/DDIP.1/S06I.1/S06P.1/S06H.1/S06G.1    604
+SV  /ALIC.1/DDIP.1/S06I.2/S06P.1/S06H.1/S06G.1    604
+SV  /ALIC.1/DDIP.1/S06I.3/S06P.1/S06H.1/S06G.1    604
+SV  /ALIC.1/DDIP.1/S06G.602    604
+SV  /ALIC.1/DDIP.1/S06G.606    604
+SV  /ALIC.1/DDIP.1/S06G.610    604
+SV  /ALIC.1/DDIP.1/S06G.614    604
+SV  /ALIC.1/DDIP.1/S06G.618    604
+SV  /ALIC.1/DDIP.1/S06G.622    604
+SV  /ALIC.1/DDIP.1/S06G.626    604
+SV  /ALIC.1/DDIP.1/S06G.630    604
+SV  /ALIC.1/DDIP.1/S06G.634    604
+SV  /ALIC.1/DDIP.1/S06I.4/S06P.1/S06H.1/S06G.1    654
+SV  /ALIC.1/DDIP.1/S06I.5/S06P.1/S06H.1/S06G.1    654
+SV  /ALIC.1/DDIP.1/S06I.6/S06P.1/S06H.1/S06G.1    654
+SV  /ALIC.1/DDIP.1/S06G.702    654
+SV  /ALIC.1/DDIP.1/S06G.706    654
+SV  /ALIC.1/DDIP.1/S06G.710    654
+SV  /ALIC.1/DDIP.1/S06G.714    654
+SV  /ALIC.1/DDIP.1/S06G.718    654
+SV  /ALIC.1/DDIP.1/S06G.722    654
+SV  /ALIC.1/DDIP.1/S06G.726    654
+SV  /ALIC.1/DDIP.1/S06G.730    654
+SV  /ALIC.1/DDIP.1/S06G.734    654
+SV  /ALIC.1/DDIP.1/S06I.10/S06P.1/S06H.1/S06G.1    605
+SV  /ALIC.1/DDIP.1/S06I.11/S06P.1/S06H.1/S06G.1    605
+SV  /ALIC.1/DDIP.1/S06I.12/S06P.1/S06H.1/S06G.1    605
+SV  /ALIC.1/DDIP.1/S06G.202    605
+SV  /ALIC.1/DDIP.1/S06G.206    605
+SV  /ALIC.1/DDIP.1/S06G.210    605
+SV  /ALIC.1/DDIP.1/S06G.214    605
+SV  /ALIC.1/DDIP.1/S06G.218    605
+SV  /ALIC.1/DDIP.1/S06G.222    605
+SV  /ALIC.1/DDIP.1/S06I.13/S06P.1/S06H.1/S06G.1    655
+SV  /ALIC.1/DDIP.1/S06I.14/S06P.1/S06H.1/S06G.1    655
+SV  /ALIC.1/DDIP.1/S06I.15/S06P.1/S06H.1/S06G.1    655
+SV  /ALIC.1/DDIP.1/S06G.302    655
+SV  /ALIC.1/DDIP.1/S06G.306    655
+SV  /ALIC.1/DDIP.1/S06G.310    655
+SV  /ALIC.1/DDIP.1/S06G.314    655
+SV  /ALIC.1/DDIP.1/S06G.318    655
+SV  /ALIC.1/DDIP.1/S06G.322    655
+SV  /ALIC.1/DDIP.1/S06I.7/S06P.1/S06H.1/S06G.1    603
+SV  /ALIC.1/DDIP.1/S06I.8/S06P.1/S06H.1/S06G.1    603
+SV  /ALIC.1/DDIP.1/S06I.9/S06P.1/S06H.1/S06G.1    603
+SV  /ALIC.1/DDIP.1/S06G.102    603
+SV  /ALIC.1/DDIP.1/S06G.106    603
+SV  /ALIC.1/DDIP.1/S06G.110    603
+SV  /ALIC.1/DDIP.1/S06G.114    603
+SV  /ALIC.1/DDIP.1/S06G.118    603
+SV  /ALIC.1/DDIP.1/S06G.122    603
+SV  /ALIC.1/DDIP.1/S06I.16/S06P.1/S06H.1/S06G.1    653
+SV  /ALIC.1/DDIP.1/S06I.17/S06P.1/S06H.1/S06G.1    653
+SV  /ALIC.1/DDIP.1/S06I.18/S06P.1/S06H.1/S06G.1    653
+SV  /ALIC.1/DDIP.1/S06G.402    653
+SV  /ALIC.1/DDIP.1/S06G.406    653
+SV  /ALIC.1/DDIP.1/S06G.410    653
+SV  /ALIC.1/DDIP.1/S06G.414    653
+SV  /ALIC.1/DDIP.1/S06G.418    653
+SV  /ALIC.1/DDIP.1/S06G.422    653
+SV  /ALIC.1/DDIP.1/S06I.23/S06P.1/S06H.1/S06G.1    606
+SV  /ALIC.1/DDIP.1/S06I.24/S06P.1/S06H.1/S06G.1    606
+SV  /ALIC.1/DDIP.1/S06I.25/S06P.1/S06H.1/S06G.1    606
+SV  /ALIC.1/DDIP.1/S06I.26/S06P.1/S06H.1/S06G.1    606
+SV  /ALIC.1/DDIP.1/S06I.27/S06P.1/S06H.1/S06G.1    656
+SV  /ALIC.1/DDIP.1/S06I.28/S06P.1/S06H.1/S06G.1    656
+SV  /ALIC.1/DDIP.1/S06I.29/S06P.1/S06H.1/S06G.1    656
+SV  /ALIC.1/DDIP.1/S06I.30/S06P.1/S06H.1/S06G.1    656
+SV  /ALIC.1/DDIP.1/S06I.19/S06P.1/S06H.1/S06G.1    602
+SV  /ALIC.1/DDIP.1/S06I.20/S06P.1/S06H.1/S06G.1    602
+SV  /ALIC.1/DDIP.1/S06I.21/S06P.1/S06H.1/S06G.1    602
+SV  /ALIC.1/DDIP.1/S06I.22/S06P.1/S06H.1/S06G.1    602
+SV  /ALIC.1/DDIP.1/S06I.31/S06P.1/S06H.1/S06G.1    652
+SV  /ALIC.1/DDIP.1/S06I.32/S06P.1/S06H.1/S06G.1    652
+SV  /ALIC.1/DDIP.1/S06I.33/S06P.1/S06H.1/S06G.1    652
+SV  /ALIC.1/DDIP.1/S06I.34/S06P.1/S06H.1/S06G.1    652
+SV  /ALIC.1/DDIP.1/S06I.38/S06P.1/S06H.1/S06G.1    607
+SV  /ALIC.1/DDIP.1/S06I.39/S06P.1/S06H.1/S06G.1    607
+SV  /ALIC.1/DDIP.1/S06I.40/S06P.1/S06H.1/S06G.1    607
+SV  /ALIC.1/DDIP.1/S06I.41/S06P.1/S06H.1/S06G.1    657
+SV  /ALIC.1/DDIP.1/S06I.42/S06P.1/S06H.1/S06G.1    657
+SV  /ALIC.1/DDIP.1/S06I.43/S06P.1/S06H.1/S06G.1    657
+SV  /ALIC.1/DDIP.1/S06I.35/S06P.1/S06H.1/S06G.1    601
+SV  /ALIC.1/DDIP.1/S06I.36/S06P.1/S06H.1/S06G.1    601
+SV  /ALIC.1/DDIP.1/S06I.37/S06P.1/S06H.1/S06G.1    601
+SV  /ALIC.1/DDIP.1/S06I.44/S06P.1/S06H.1/S06G.1    651
+SV  /ALIC.1/DDIP.1/S06I.45/S06P.1/S06H.1/S06G.1    651
+SV  /ALIC.1/DDIP.1/S06I.46/S06P.1/S06H.1/S06G.1    651
+SV  /ALIC.1/DDIP.1/S06I.49/S06P.1/S06H.1/S06G.1    608
+SV  /ALIC.1/DDIP.1/S06I.50/S06P.1/S06H.1/S06G.1    608
+SV  /ALIC.1/DDIP.1/S06I.51/S06P.1/S06H.1/S06G.1    658
+SV  /ALIC.1/DDIP.1/S06I.52/S06P.1/S06H.1/S06G.1    658
+SV  /ALIC.1/DDIP.1/S06I.47/S06P.1/S06H.1/S06G.1    600
+SV  /ALIC.1/DDIP.1/S06I.48/S06P.1/S06H.1/S06G.1    600
+SV  /ALIC.1/DDIP.1/S06I.53/S06P.1/S06H.1/S06G.1    650
+SV  /ALIC.1/DDIP.1/S06I.54/S06P.1/S06H.1/S06G.1    650
+
+SV  /ALIC.1/S07I.1/S07P.1/S07H.1/S07G.1    706
+SV  /ALIC.1/S07I.2/S07P.1/S07H.1/S07G.1    706
+SV  /ALIC.1/S07I.3/S07P.1/S07H.1/S07G.1    706
+SV  /ALIC.1/S07I.4/S07P.1/S07H.1/S07G.1    706
+SV  /ALIC.1/S07I.5/S07P.1/S07H.1/S07G.1    706
+SV  /ALIC.1/S07I.6/S07P.1/S07H.1/S07G.1    756
+SV  /ALIC.1/S07I.7/S07P.1/S07H.1/S07G.1    756
+SV  /ALIC.1/S07I.8/S07P.1/S07H.1/S07G.1    756
+SV  /ALIC.1/S07I.9/S07P.1/S07H.1/S07G.1    756
+SV  /ALIC.1/S07I.10/S07P.1/S07H.1/S07G.1    756
+SV  /ALIC.1/S07I.16/S07P.1/S07H.1/S07G.1    707
+SV  /ALIC.1/S07I.17/S07P.1/S07H.1/S07G.1    707
+SV  /ALIC.1/S07I.18/S07P.1/S07H.1/S07G.1    707
+SV  /ALIC.1/S07I.19/S07P.1/S07H.1/S07G.1    707
+SV  /ALIC.1/S07I.20/S07P.1/S07H.1/S07G.1    707
+SV  /ALIC.1/S07G.202    707
+SV  /ALIC.1/S07G.206    707
+SV  /ALIC.1/S07G.210    707
+SV  /ALIC.1/S07G.214    707
+SV  /ALIC.1/S07G.218    707
+SV  /ALIC.1/S07G.222    707
+SV  /ALIC.1/S07I.21/S07P.1/S07H.1/S07G.1    757
+SV  /ALIC.1/S07I.22/S07P.1/S07H.1/S07G.1    757
+SV  /ALIC.1/S07I.23/S07P.1/S07H.1/S07G.1    757
+SV  /ALIC.1/S07I.24/S07P.1/S07H.1/S07G.1    757
+SV  /ALIC.1/S07I.25/S07P.1/S07H.1/S07G.1    757
+SV  /ALIC.1/S07G.302    757
+SV  /ALIC.1/S07G.306    757
+SV  /ALIC.1/S07G.310    757
+SV  /ALIC.1/S07G.314    757
+SV  /ALIC.1/S07G.318    757
+SV  /ALIC.1/S07G.322    757
+SV  /ALIC.1/S07I.11/S07P.1/S07H.1/S07G.1    705
+SV  /ALIC.1/S07I.12/S07P.1/S07H.1/S07G.1    705
+SV  /ALIC.1/S07I.13/S07P.1/S07H.1/S07G.1    705
+SV  /ALIC.1/S07I.14/S07P.1/S07H.1/S07G.1    705
+SV  /ALIC.1/S07I.15/S07P.1/S07H.1/S07G.1    705
+SV  /ALIC.1/S07G.102    705
+SV  /ALIC.1/S07G.106    705
+SV  /ALIC.1/S07G.110    705
+SV  /ALIC.1/S07G.114    705
+SV  /ALIC.1/S07G.118    705
+SV  /ALIC.1/S07G.122    705
+SV  /ALIC.1/S07I.26/S07P.1/S07H.1/S07G.1    755
+SV  /ALIC.1/S07I.27/S07P.1/S07H.1/S07G.1    755
+SV  /ALIC.1/S07I.28/S07P.1/S07H.1/S07G.1    755
+SV  /ALIC.1/S07I.29/S07P.1/S07H.1/S07G.1    755
+SV  /ALIC.1/S07I.30/S07P.1/S07H.1/S07G.1    755
+SV  /ALIC.1/S07G.402    755
+SV  /ALIC.1/S07G.406    755
+SV  /ALIC.1/S07G.410    755
+SV  /ALIC.1/S07G.414    755
+SV  /ALIC.1/S07G.418    755
+SV  /ALIC.1/S07G.422    755
+SV  /ALIC.1/S07I.36/S07P.1/S07H.1/S07G.1    708
+SV  /ALIC.1/S07I.37/S07P.1/S07H.1/S07G.1    708
+SV  /ALIC.1/S07I.38/S07P.1/S07H.1/S07G.1    708
+SV  /ALIC.1/S07I.39/S07P.1/S07H.1/S07G.1    708
+SV  /ALIC.1/S07I.40/S07P.1/S07H.1/S07G.1    708
+SV  /ALIC.1/S07I.41/S07P.1/S07H.1/S07G.1    758
+SV  /ALIC.1/S07I.42/S07P.1/S07H.1/S07G.1    758
+SV  /ALIC.1/S07I.43/S07P.1/S07H.1/S07G.1    758
+SV  /ALIC.1/S07I.44/S07P.1/S07H.1/S07G.1    758
+SV  /ALIC.1/S07I.45/S07P.1/S07H.1/S07G.1    758
+SV  /ALIC.1/S07I.31/S07P.1/S07H.1/S07G.1    704
+SV  /ALIC.1/S07I.32/S07P.1/S07H.1/S07G.1    704
+SV  /ALIC.1/S07I.33/S07P.1/S07H.1/S07G.1    704
+SV  /ALIC.1/S07I.34/S07P.1/S07H.1/S07G.1    704
+SV  /ALIC.1/S07I.35/S07P.1/S07H.1/S07G.1    704
+SV  /ALIC.1/S07I.46/S07P.1/S07H.1/S07G.1    754
+SV  /ALIC.1/S07I.47/S07P.1/S07H.1/S07G.1    754
+SV  /ALIC.1/S07I.48/S07P.1/S07H.1/S07G.1    754
+SV  /ALIC.1/S07I.49/S07P.1/S07H.1/S07G.1    754
+SV  /ALIC.1/S07I.50/S07P.1/S07H.1/S07G.1    754
+SV  /ALIC.1/S07I.56/S07P.1/S07H.1/S07G.1    709
+SV  /ALIC.1/S07I.57/S07P.1/S07H.1/S07G.1    709
+SV  /ALIC.1/S07I.58/S07P.1/S07H.1/S07G.1    709
+SV  /ALIC.1/S07I.59/S07P.1/S07H.1/S07G.1    709
+SV  /ALIC.1/S07I.60/S07P.1/S07H.1/S07G.1    709
+SV  /ALIC.1/S07I.61/S07P.1/S07H.1/S07G.1    759
+SV  /ALIC.1/S07I.62/S07P.1/S07H.1/S07G.1    759
+SV  /ALIC.1/S07I.63/S07P.1/S07H.1/S07G.1    759
+SV  /ALIC.1/S07I.64/S07P.1/S07H.1/S07G.1    759
+SV  /ALIC.1/S07I.65/S07P.1/S07H.1/S07G.1    759
+SV  /ALIC.1/S07I.51/S07P.1/S07H.1/S07G.1    703
+SV  /ALIC.1/S07I.52/S07P.1/S07H.1/S07G.1    703
+SV  /ALIC.1/S07I.53/S07P.1/S07H.1/S07G.1    703
+SV  /ALIC.1/S07I.54/S07P.1/S07H.1/S07G.1    703
+SV  /ALIC.1/S07I.55/S07P.1/S07H.1/S07G.1    703
+SV  /ALIC.1/S07I.66/S07P.1/S07H.1/S07G.1    753
+SV  /ALIC.1/S07I.67/S07P.1/S07H.1/S07G.1    753
+SV  /ALIC.1/S07I.68/S07P.1/S07H.1/S07G.1    753
+SV  /ALIC.1/S07I.69/S07P.1/S07H.1/S07G.1    753
+SV  /ALIC.1/S07I.70/S07P.1/S07H.1/S07G.1    753
+SV  /ALIC.1/S07I.75/S07P.1/S07H.1/S07G.1    710
+SV  /ALIC.1/S07I.76/S07P.1/S07H.1/S07G.1    710
+SV  /ALIC.1/S07I.77/S07P.1/S07H.1/S07G.1    710
+SV  /ALIC.1/S07I.78/S07P.1/S07H.1/S07G.1    710
+SV  /ALIC.1/S07I.79/S07P.1/S07H.1/S07G.1    760
+SV  /ALIC.1/S07I.80/S07P.1/S07H.1/S07G.1    760
+SV  /ALIC.1/S07I.81/S07P.1/S07H.1/S07G.1    760
+SV  /ALIC.1/S07I.82/S07P.1/S07H.1/S07G.1    760
+SV  /ALIC.1/S07I.71/S07P.1/S07H.1/S07G.1    702
+SV  /ALIC.1/S07I.72/S07P.1/S07H.1/S07G.1    702
+SV  /ALIC.1/S07I.73/S07P.1/S07H.1/S07G.1    702
+SV  /ALIC.1/S07I.74/S07P.1/S07H.1/S07G.1    702
+SV  /ALIC.1/S07I.83/S07P.1/S07H.1/S07G.1    752
+SV  /ALIC.1/S07I.84/S07P.1/S07H.1/S07G.1    752
+SV  /ALIC.1/S07I.85/S07P.1/S07H.1/S07G.1    752
+SV  /ALIC.1/S07I.86/S07P.1/S07H.1/S07G.1    752
+SV  /ALIC.1/S07I.90/S07P.1/S07H.1/S07G.1    711
+SV  /ALIC.1/S07I.91/S07P.1/S07H.1/S07G.1    711
+SV  /ALIC.1/S07I.92/S07P.1/S07H.1/S07G.1    711
+SV  /ALIC.1/S07I.93/S07P.1/S07H.1/S07G.1    761
+SV  /ALIC.1/S07I.94/S07P.1/S07H.1/S07G.1    761
+SV  /ALIC.1/S07I.95/S07P.1/S07H.1/S07G.1    761
+SV  /ALIC.1/S07I.87/S07P.1/S07H.1/S07G.1    701
+SV  /ALIC.1/S07I.88/S07P.1/S07H.1/S07G.1    701
+SV  /ALIC.1/S07I.89/S07P.1/S07H.1/S07G.1    701
+SV  /ALIC.1/S07I.96/S07P.1/S07H.1/S07G.1    751
+SV  /ALIC.1/S07I.97/S07P.1/S07H.1/S07G.1    751
+SV  /ALIC.1/S07I.98/S07P.1/S07H.1/S07G.1    751
+SV  /ALIC.1/S07I.101/S07P.1/S07H.1/S07G.1    712
+SV  /ALIC.1/S07I.102/S07P.1/S07H.1/S07G.1    712
+SV  /ALIC.1/S07I.103/S07P.1/S07H.1/S07G.1    762
+SV  /ALIC.1/S07I.104/S07P.1/S07H.1/S07G.1    762
+SV  /ALIC.1/S07I.99/S07P.1/S07H.1/S07G.1    700
+SV  /ALIC.1/S07I.100/S07P.1/S07H.1/S07G.1    700
+SV  /ALIC.1/S07I.105/S07P.1/S07H.1/S07G.1    750
+SV  /ALIC.1/S07I.106/S07P.1/S07H.1/S07G.1    750
+
+SV  /ALIC.1/S08I.1/S08P.1/S08H.1/S08G.1    806
+SV  /ALIC.1/S08I.2/S08P.1/S08H.1/S08G.1    806
+SV  /ALIC.1/S08I.3/S08P.1/S08H.1/S08G.1    806
+SV  /ALIC.1/S08I.4/S08P.1/S08H.1/S08G.1    806
+SV  /ALIC.1/S08I.5/S08P.1/S08H.1/S08G.1    806
+SV  /ALIC.1/S08I.6/S08P.1/S08H.1/S08G.1    856
+SV  /ALIC.1/S08I.7/S08P.1/S08H.1/S08G.1    856
+SV  /ALIC.1/S08I.8/S08P.1/S08H.1/S08G.1    856
+SV  /ALIC.1/S08I.9/S08P.1/S08H.1/S08G.1    856
+SV  /ALIC.1/S08I.10/S08P.1/S08H.1/S08G.1    856
+SV  /ALIC.1/S08I.16/S08P.1/S08H.1/S08G.1    807
+SV  /ALIC.1/S08I.17/S08P.1/S08H.1/S08G.1    807
+SV  /ALIC.1/S08I.18/S08P.1/S08H.1/S08G.1    807
+SV  /ALIC.1/S08I.19/S08P.1/S08H.1/S08G.1    807
+SV  /ALIC.1/S08I.20/S08P.1/S08H.1/S08G.1    807
+SV  /ALIC.1/S08G.202    807
+SV  /ALIC.1/S08G.206    807
+SV  /ALIC.1/S08G.210    807
+SV  /ALIC.1/S08G.214    807
+SV  /ALIC.1/S08G.218    807
+SV  /ALIC.1/S08G.222    807
+SV  /ALIC.1/S08I.21/S08P.1/S08H.1/S08G.1    857
+SV  /ALIC.1/S08I.22/S08P.1/S08H.1/S08G.1    857
+SV  /ALIC.1/S08I.23/S08P.1/S08H.1/S08G.1    857
+SV  /ALIC.1/S08I.24/S08P.1/S08H.1/S08G.1    857
+SV  /ALIC.1/S08I.25/S08P.1/S08H.1/S08G.1    857
+SV  /ALIC.1/S08G.302    857
+SV  /ALIC.1/S08G.306    857
+SV  /ALIC.1/S08G.310    857
+SV  /ALIC.1/S08G.314    857
+SV  /ALIC.1/S08G.318    857
+SV  /ALIC.1/S08G.322    857
+SV  /ALIC.1/S08I.11/S08P.1/S08H.1/S08G.1    805
+SV  /ALIC.1/S08I.12/S08P.1/S08H.1/S08G.1    805
+SV  /ALIC.1/S08I.13/S08P.1/S08H.1/S08G.1    805
+SV  /ALIC.1/S08I.14/S08P.1/S08H.1/S08G.1    805
+SV  /ALIC.1/S08I.15/S08P.1/S08H.1/S08G.1    805
+SV  /ALIC.1/S08G.102    805
+SV  /ALIC.1/S08G.106    805
+SV  /ALIC.1/S08G.110    805
+SV  /ALIC.1/S08G.114    805
+SV  /ALIC.1/S08G.118    805
+SV  /ALIC.1/S08G.122    805
+SV  /ALIC.1/S08I.26/S08P.1/S08H.1/S08G.1    855
+SV  /ALIC.1/S08I.27/S08P.1/S08H.1/S08G.1    855
+SV  /ALIC.1/S08I.28/S08P.1/S08H.1/S08G.1    855
+SV  /ALIC.1/S08I.29/S08P.1/S08H.1/S08G.1    855
+SV  /ALIC.1/S08I.30/S08P.1/S08H.1/S08G.1    855
+SV  /ALIC.1/S08G.402    855
+SV  /ALIC.1/S08G.406    855
+SV  /ALIC.1/S08G.410    855
+SV  /ALIC.1/S08G.414    855
+SV  /ALIC.1/S08G.418    855
+SV  /ALIC.1/S08G.422    855
+SV  /ALIC.1/S08I.36/S08P.1/S08H.1/S08G.1    808
+SV  /ALIC.1/S08I.37/S08P.1/S08H.1/S08G.1    808
+SV  /ALIC.1/S08I.38/S08P.1/S08H.1/S08G.1    808
+SV  /ALIC.1/S08I.39/S08P.1/S08H.1/S08G.1    808
+SV  /ALIC.1/S08I.40/S08P.1/S08H.1/S08G.1    808
+SV  /ALIC.1/S08I.41/S08P.1/S08H.1/S08G.1    858
+SV  /ALIC.1/S08I.42/S08P.1/S08H.1/S08G.1    858
+SV  /ALIC.1/S08I.43/S08P.1/S08H.1/S08G.1    858
+SV  /ALIC.1/S08I.44/S08P.1/S08H.1/S08G.1    858
+SV  /ALIC.1/S08I.45/S08P.1/S08H.1/S08G.1    858
+SV  /ALIC.1/S08I.31/S08P.1/S08H.1/S08G.1    804
+SV  /ALIC.1/S08I.32/S08P.1/S08H.1/S08G.1    804
+SV  /ALIC.1/S08I.33/S08P.1/S08H.1/S08G.1    804
+SV  /ALIC.1/S08I.34/S08P.1/S08H.1/S08G.1    804
+SV  /ALIC.1/S08I.35/S08P.1/S08H.1/S08G.1    804
+SV  /ALIC.1/S08I.46/S08P.1/S08H.1/S08G.1    854
+SV  /ALIC.1/S08I.47/S08P.1/S08H.1/S08G.1    854
+SV  /ALIC.1/S08I.48/S08P.1/S08H.1/S08G.1    854
+SV  /ALIC.1/S08I.49/S08P.1/S08H.1/S08G.1    854
+SV  /ALIC.1/S08I.50/S08P.1/S08H.1/S08G.1    854
+SV  /ALIC.1/S08I.56/S08P.1/S08H.1/S08G.1    809
+SV  /ALIC.1/S08I.57/S08P.1/S08H.1/S08G.1    809
+SV  /ALIC.1/S08I.58/S08P.1/S08H.1/S08G.1    809
+SV  /ALIC.1/S08I.59/S08P.1/S08H.1/S08G.1    809
+SV  /ALIC.1/S08I.60/S08P.1/S08H.1/S08G.1    809
+SV  /ALIC.1/S08I.61/S08P.1/S08H.1/S08G.1    859
+SV  /ALIC.1/S08I.62/S08P.1/S08H.1/S08G.1    859
+SV  /ALIC.1/S08I.63/S08P.1/S08H.1/S08G.1    859
+SV  /ALIC.1/S08I.64/S08P.1/S08H.1/S08G.1    859
+SV  /ALIC.1/S08I.65/S08P.1/S08H.1/S08G.1    859
+SV  /ALIC.1/S08I.51/S08P.1/S08H.1/S08G.1    803
+SV  /ALIC.1/S08I.52/S08P.1/S08H.1/S08G.1    803
+SV  /ALIC.1/S08I.53/S08P.1/S08H.1/S08G.1    803
+SV  /ALIC.1/S08I.54/S08P.1/S08H.1/S08G.1    803
+SV  /ALIC.1/S08I.55/S08P.1/S08H.1/S08G.1    803
+SV  /ALIC.1/S08I.66/S08P.1/S08H.1/S08G.1    853
+SV  /ALIC.1/S08I.67/S08P.1/S08H.1/S08G.1    853
+SV  /ALIC.1/S08I.68/S08P.1/S08H.1/S08G.1    853
+SV  /ALIC.1/S08I.69/S08P.1/S08H.1/S08G.1    853
+SV  /ALIC.1/S08I.70/S08P.1/S08H.1/S08G.1    853
+SV  /ALIC.1/S08I.75/S08P.1/S08H.1/S08G.1    810
+SV  /ALIC.1/S08I.76/S08P.1/S08H.1/S08G.1    810
+SV  /ALIC.1/S08I.77/S08P.1/S08H.1/S08G.1    810
+SV  /ALIC.1/S08I.78/S08P.1/S08H.1/S08G.1    810
+SV  /ALIC.1/S08I.79/S08P.1/S08H.1/S08G.1    860
+SV  /ALIC.1/S08I.80/S08P.1/S08H.1/S08G.1    860
+SV  /ALIC.1/S08I.81/S08P.1/S08H.1/S08G.1    860
+SV  /ALIC.1/S08I.82/S08P.1/S08H.1/S08G.1    860
+SV  /ALIC.1/S08I.71/S08P.1/S08H.1/S08G.1    802
+SV  /ALIC.1/S08I.72/S08P.1/S08H.1/S08G.1    802
+SV  /ALIC.1/S08I.73/S08P.1/S08H.1/S08G.1    802
+SV  /ALIC.1/S08I.74/S08P.1/S08H.1/S08G.1    802
+SV  /ALIC.1/S08I.83/S08P.1/S08H.1/S08G.1    852
+SV  /ALIC.1/S08I.84/S08P.1/S08H.1/S08G.1    852
+SV  /ALIC.1/S08I.85/S08P.1/S08H.1/S08G.1    852
+SV  /ALIC.1/S08I.86/S08P.1/S08H.1/S08G.1    852
+SV  /ALIC.1/S08I.90/S08P.1/S08H.1/S08G.1    811
+SV  /ALIC.1/S08I.91/S08P.1/S08H.1/S08G.1    811
+SV  /ALIC.1/S08I.92/S08P.1/S08H.1/S08G.1    811
+SV  /ALIC.1/S08I.93/S08P.1/S08H.1/S08G.1    861
+SV  /ALIC.1/S08I.94/S08P.1/S08H.1/S08G.1    861
+SV  /ALIC.1/S08I.95/S08P.1/S08H.1/S08G.1    861
+SV  /ALIC.1/S08I.87/S08P.1/S08H.1/S08G.1    801
+SV  /ALIC.1/S08I.88/S08P.1/S08H.1/S08G.1    801
+SV  /ALIC.1/S08I.89/S08P.1/S08H.1/S08G.1    801
+SV  /ALIC.1/S08I.96/S08P.1/S08H.1/S08G.1    851
+SV  /ALIC.1/S08I.97/S08P.1/S08H.1/S08G.1    851
+SV  /ALIC.1/S08I.98/S08P.1/S08H.1/S08G.1    851
+SV  /ALIC.1/S08I.101/S08P.1/S08H.1/S08G.1    812
+SV  /ALIC.1/S08I.102/S08P.1/S08H.1/S08G.1    812
+SV  /ALIC.1/S08I.103/S08P.1/S08H.1/S08G.1    862
+SV  /ALIC.1/S08I.104/S08P.1/S08H.1/S08G.1    862
+SV  /ALIC.1/S08I.99/S08P.1/S08H.1/S08G.1    800
+SV  /ALIC.1/S08I.100/S08P.1/S08H.1/S08G.1    800
+SV  /ALIC.1/S08I.105/S08P.1/S08H.1/S08G.1    850
+SV  /ALIC.1/S08I.106/S08P.1/S08H.1/S08G.1    850
+
+SV  /ALIC.1/S09I.1/S09P.1/S09H.1/S09G.1    906
+SV  /ALIC.1/S09I.2/S09P.1/S09H.1/S09G.1    906
+SV  /ALIC.1/S09I.3/S09P.1/S09H.1/S09G.1    906
+SV  /ALIC.1/S09I.4/S09P.1/S09H.1/S09G.1    906
+SV  /ALIC.1/S09I.5/S09P.1/S09H.1/S09G.1    906
+SV  /ALIC.1/S09I.6/S09P.1/S09H.1/S09G.1    956
+SV  /ALIC.1/S09I.7/S09P.1/S09H.1/S09G.1    956
+SV  /ALIC.1/S09I.8/S09P.1/S09H.1/S09G.1    956
+SV  /ALIC.1/S09I.9/S09P.1/S09H.1/S09G.1    956
+SV  /ALIC.1/S09I.10/S09P.1/S09H.1/S09G.1    956
+SV  /ALIC.1/S09I.16/S09P.1/S09H.1/S09G.1    907
+SV  /ALIC.1/S09I.17/S09P.1/S09H.1/S09G.1    907
+SV  /ALIC.1/S09I.18/S09P.1/S09H.1/S09G.1    907
+SV  /ALIC.1/S09I.19/S09P.1/S09H.1/S09G.1    907
+SV  /ALIC.1/S09I.20/S09P.1/S09H.1/S09G.1    907
+SV  /ALIC.1/S09G.202    907
+SV  /ALIC.1/S09G.206    907
+SV  /ALIC.1/S09G.210    907
+SV  /ALIC.1/S09G.214    907
+SV  /ALIC.1/S09G.218    907
+SV  /ALIC.1/S09G.222    907
+SV  /ALIC.1/S09I.21/S09P.1/S09H.1/S09G.1    957
+SV  /ALIC.1/S09I.22/S09P.1/S09H.1/S09G.1    957
+SV  /ALIC.1/S09I.23/S09P.1/S09H.1/S09G.1    957
+SV  /ALIC.1/S09I.24/S09P.1/S09H.1/S09G.1    957
+SV  /ALIC.1/S09I.25/S09P.1/S09H.1/S09G.1    957
+SV  /ALIC.1/S09G.302    957
+SV  /ALIC.1/S09G.306    957
+SV  /ALIC.1/S09G.310    957
+SV  /ALIC.1/S09G.314    957
+SV  /ALIC.1/S09G.318    957
+SV  /ALIC.1/S09G.322    957
+SV  /ALIC.1/S09I.11/S09P.1/S09H.1/S09G.1    905
+SV  /ALIC.1/S09I.12/S09P.1/S09H.1/S09G.1    905
+SV  /ALIC.1/S09I.13/S09P.1/S09H.1/S09G.1    905
+SV  /ALIC.1/S09I.14/S09P.1/S09H.1/S09G.1    905
+SV  /ALIC.1/S09I.15/S09P.1/S09H.1/S09G.1    905
+SV  /ALIC.1/S09G.102    905
+SV  /ALIC.1/S09G.106    905
+SV  /ALIC.1/S09G.110    905
+SV  /ALIC.1/S09G.114    905
+SV  /ALIC.1/S09G.118    905
+SV  /ALIC.1/S09G.122    905
+SV  /ALIC.1/S09I.26/S09P.1/S09H.1/S09G.1    955
+SV  /ALIC.1/S09I.27/S09P.1/S09H.1/S09G.1    955
+SV  /ALIC.1/S09I.28/S09P.1/S09H.1/S09G.1    955
+SV  /ALIC.1/S09I.29/S09P.1/S09H.1/S09G.1    955
+SV  /ALIC.1/S09I.30/S09P.1/S09H.1/S09G.1    955
+SV  /ALIC.1/S09G.402    955
+SV  /ALIC.1/S09G.406    955
+SV  /ALIC.1/S09G.410    955
+SV  /ALIC.1/S09G.414    955
+SV  /ALIC.1/S09G.418    955
+SV  /ALIC.1/S09G.422    955
+SV  /ALIC.1/S09I.37/S09P.1/S09H.1/S09G.1    908
+SV  /ALIC.1/S09I.38/S09P.1/S09H.1/S09G.1    908
+SV  /ALIC.1/S09I.39/S09P.1/S09H.1/S09G.1    908
+SV  /ALIC.1/S09I.40/S09P.1/S09H.1/S09G.1    908
+SV  /ALIC.1/S09I.41/S09P.1/S09H.1/S09G.1    908
+SV  /ALIC.1/S09I.42/S09P.1/S09H.1/S09G.1    908
+SV  /ALIC.1/S09I.43/S09P.1/S09H.1/S09G.1    958
+SV  /ALIC.1/S09I.44/S09P.1/S09H.1/S09G.1    958
+SV  /ALIC.1/S09I.45/S09P.1/S09H.1/S09G.1    958
+SV  /ALIC.1/S09I.46/S09P.1/S09H.1/S09G.1    958
+SV  /ALIC.1/S09I.47/S09P.1/S09H.1/S09G.1    958
+SV  /ALIC.1/S09I.48/S09P.1/S09H.1/S09G.1    958
+SV  /ALIC.1/S09I.31/S09P.1/S09H.1/S09G.1    904
+SV  /ALIC.1/S09I.32/S09P.1/S09H.1/S09G.1    904
+SV  /ALIC.1/S09I.33/S09P.1/S09H.1/S09G.1    904
+SV  /ALIC.1/S09I.34/S09P.1/S09H.1/S09G.1    904
+SV  /ALIC.1/S09I.35/S09P.1/S09H.1/S09G.1    904
+SV  /ALIC.1/S09I.36/S09P.1/S09H.1/S09G.1    904
+SV  /ALIC.1/S09I.49/S09P.1/S09H.1/S09G.1    954
+SV  /ALIC.1/S09I.50/S09P.1/S09H.1/S09G.1    954
+SV  /ALIC.1/S09I.51/S09P.1/S09H.1/S09G.1    954
+SV  /ALIC.1/S09I.52/S09P.1/S09H.1/S09G.1    954
+SV  /ALIC.1/S09I.53/S09P.1/S09H.1/S09G.1    954
+SV  /ALIC.1/S09I.54/S09P.1/S09H.1/S09G.1    954
+SV  /ALIC.1/S09I.61/S09P.1/S09H.1/S09G.1    909
+SV  /ALIC.1/S09I.62/S09P.1/S09H.1/S09G.1    909
+SV  /ALIC.1/S09I.63/S09P.1/S09H.1/S09G.1    909
+SV  /ALIC.1/S09I.64/S09P.1/S09H.1/S09G.1    909
+SV  /ALIC.1/S09I.65/S09P.1/S09H.1/S09G.1    909
+SV  /ALIC.1/S09I.66/S09P.1/S09H.1/S09G.1    909
+SV  /ALIC.1/S09I.67/S09P.1/S09H.1/S09G.1    959
+SV  /ALIC.1/S09I.68/S09P.1/S09H.1/S09G.1    959
+SV  /ALIC.1/S09I.69/S09P.1/S09H.1/S09G.1    959
+SV  /ALIC.1/S09I.70/S09P.1/S09H.1/S09G.1    959
+SV  /ALIC.1/S09I.71/S09P.1/S09H.1/S09G.1    959
+SV  /ALIC.1/S09I.72/S09P.1/S09H.1/S09G.1    959
+SV  /ALIC.1/S09I.55/S09P.1/S09H.1/S09G.1    903
+SV  /ALIC.1/S09I.56/S09P.1/S09H.1/S09G.1    903
+SV  /ALIC.1/S09I.57/S09P.1/S09H.1/S09G.1    903
+SV  /ALIC.1/S09I.58/S09P.1/S09H.1/S09G.1    903
+SV  /ALIC.1/S09I.59/S09P.1/S09H.1/S09G.1    903
+SV  /ALIC.1/S09I.60/S09P.1/S09H.1/S09G.1    903
+SV  /ALIC.1/S09I.73/S09P.1/S09H.1/S09G.1    953
+SV  /ALIC.1/S09I.74/S09P.1/S09H.1/S09G.1    953
+SV  /ALIC.1/S09I.75/S09P.1/S09H.1/S09G.1    953
+SV  /ALIC.1/S09I.76/S09P.1/S09H.1/S09G.1    953
+SV  /ALIC.1/S09I.77/S09P.1/S09H.1/S09G.1    953
+SV  /ALIC.1/S09I.78/S09P.1/S09H.1/S09G.1    953
+SV  /ALIC.1/S09I.84/S09P.1/S09H.1/S09G.1    910
+SV  /ALIC.1/S09I.85/S09P.1/S09H.1/S09G.1    910
+SV  /ALIC.1/S09I.86/S09P.1/S09H.1/S09G.1    910
+SV  /ALIC.1/S09I.87/S09P.1/S09H.1/S09G.1    910
+SV  /ALIC.1/S09I.88/S09P.1/S09H.1/S09G.1    910
+SV  /ALIC.1/S09I.89/S09P.1/S09H.1/S09G.1    960
+SV  /ALIC.1/S09I.90/S09P.1/S09H.1/S09G.1    960
+SV  /ALIC.1/S09I.91/S09P.1/S09H.1/S09G.1    960
+SV  /ALIC.1/S09I.92/S09P.1/S09H.1/S09G.1    960
+SV  /ALIC.1/S09I.93/S09P.1/S09H.1/S09G.1    960
+SV  /ALIC.1/S09I.79/S09P.1/S09H.1/S09G.1    902
+SV  /ALIC.1/S09I.80/S09P.1/S09H.1/S09G.1    902
+SV  /ALIC.1/S09I.81/S09P.1/S09H.1/S09G.1    902
+SV  /ALIC.1/S09I.82/S09P.1/S09H.1/S09G.1    902
+SV  /ALIC.1/S09I.83/S09P.1/S09H.1/S09G.1    902
+SV  /ALIC.1/S09I.94/S09P.1/S09H.1/S09G.1    952
+SV  /ALIC.1/S09I.95/S09P.1/S09H.1/S09G.1    952
+SV  /ALIC.1/S09I.96/S09P.1/S09H.1/S09G.1    952
+SV  /ALIC.1/S09I.97/S09P.1/S09H.1/S09G.1    952
+SV  /ALIC.1/S09I.98/S09P.1/S09H.1/S09G.1    952
+SV  /ALIC.1/S09I.103/S09P.1/S09H.1/S09G.1    911
+SV  /ALIC.1/S09I.104/S09P.1/S09H.1/S09G.1    911
+SV  /ALIC.1/S09I.105/S09P.1/S09H.1/S09G.1    911
+SV  /ALIC.1/S09I.106/S09P.1/S09H.1/S09G.1    911
+SV  /ALIC.1/S09I.107/S09P.1/S09H.1/S09G.1    961
+SV  /ALIC.1/S09I.108/S09P.1/S09H.1/S09G.1    961
+SV  /ALIC.1/S09I.109/S09P.1/S09H.1/S09G.1    961
+SV  /ALIC.1/S09I.110/S09P.1/S09H.1/S09G.1    961
+SV  /ALIC.1/S09I.99/S09P.1/S09H.1/S09G.1    901
+SV  /ALIC.1/S09I.100/S09P.1/S09H.1/S09G.1    901
+SV  /ALIC.1/S09I.101/S09P.1/S09H.1/S09G.1    901
+SV  /ALIC.1/S09I.102/S09P.1/S09H.1/S09G.1    901
+SV  /ALIC.1/S09I.111/S09P.1/S09H.1/S09G.1    951
+SV  /ALIC.1/S09I.112/S09P.1/S09H.1/S09G.1    951
+SV  /ALIC.1/S09I.113/S09P.1/S09H.1/S09G.1    951
+SV  /ALIC.1/S09I.114/S09P.1/S09H.1/S09G.1    951
+SV  /ALIC.1/S09I.118/S09P.1/S09H.1/S09G.1    912
+SV  /ALIC.1/S09I.119/S09P.1/S09H.1/S09G.1    912
+SV  /ALIC.1/S09I.120/S09P.1/S09H.1/S09G.1    912
+SV  /ALIC.1/S09I.121/S09P.1/S09H.1/S09G.1    962
+SV  /ALIC.1/S09I.122/S09P.1/S09H.1/S09G.1    962
+SV  /ALIC.1/S09I.123/S09P.1/S09H.1/S09G.1    962
+SV  /ALIC.1/S09I.115/S09P.1/S09H.1/S09G.1    900
+SV  /ALIC.1/S09I.116/S09P.1/S09H.1/S09G.1    900
+SV  /ALIC.1/S09I.117/S09P.1/S09H.1/S09G.1    900
+SV  /ALIC.1/S09I.124/S09P.1/S09H.1/S09G.1    950
+SV  /ALIC.1/S09I.125/S09P.1/S09H.1/S09G.1    950
+SV  /ALIC.1/S09I.126/S09P.1/S09H.1/S09G.1    950
+
+SV  /ALIC.1/S10I.1/S10P.1/S10H.1/S10G.1   1006
+SV  /ALIC.1/S10I.2/S10P.1/S10H.1/S10G.1   1006
+SV  /ALIC.1/S10I.3/S10P.1/S10H.1/S10G.1   1006
+SV  /ALIC.1/S10I.4/S10P.1/S10H.1/S10G.1   1006
+SV  /ALIC.1/S10I.5/S10P.1/S10H.1/S10G.1   1006
+SV  /ALIC.1/S10I.6/S10P.1/S10H.1/S10G.1   1056
+SV  /ALIC.1/S10I.7/S10P.1/S10H.1/S10G.1   1056
+SV  /ALIC.1/S10I.8/S10P.1/S10H.1/S10G.1   1056
+SV  /ALIC.1/S10I.9/S10P.1/S10H.1/S10G.1   1056
+SV  /ALIC.1/S10I.10/S10P.1/S10H.1/S10G.1   1056
+SV  /ALIC.1/S10I.16/S10P.1/S10H.1/S10G.1   1007
+SV  /ALIC.1/S10I.17/S10P.1/S10H.1/S10G.1   1007
+SV  /ALIC.1/S10I.18/S10P.1/S10H.1/S10G.1   1007
+SV  /ALIC.1/S10I.19/S10P.1/S10H.1/S10G.1   1007
+SV  /ALIC.1/S10I.20/S10P.1/S10H.1/S10G.1   1007
+SV  /ALIC.1/S10G.202   1007
+SV  /ALIC.1/S10G.206   1007
+SV  /ALIC.1/S10G.210   1007
+SV  /ALIC.1/S10G.214   1007
+SV  /ALIC.1/S10G.218   1007
+SV  /ALIC.1/S10G.222   1007
+SV  /ALIC.1/S10I.21/S10P.1/S10H.1/S10G.1   1057
+SV  /ALIC.1/S10I.22/S10P.1/S10H.1/S10G.1   1057
+SV  /ALIC.1/S10I.23/S10P.1/S10H.1/S10G.1   1057
+SV  /ALIC.1/S10I.24/S10P.1/S10H.1/S10G.1   1057
+SV  /ALIC.1/S10I.25/S10P.1/S10H.1/S10G.1   1057
+SV  /ALIC.1/S10G.302   1057
+SV  /ALIC.1/S10G.306   1057
+SV  /ALIC.1/S10G.310   1057
+SV  /ALIC.1/S10G.314   1057
+SV  /ALIC.1/S10G.318   1057
+SV  /ALIC.1/S10G.322   1057
+SV  /ALIC.1/S10I.11/S10P.1/S10H.1/S10G.1   1005
+SV  /ALIC.1/S10I.12/S10P.1/S10H.1/S10G.1   1005
+SV  /ALIC.1/S10I.13/S10P.1/S10H.1/S10G.1   1005
+SV  /ALIC.1/S10I.14/S10P.1/S10H.1/S10G.1   1005
+SV  /ALIC.1/S10I.15/S10P.1/S10H.1/S10G.1   1005
+SV  /ALIC.1/S10G.102   1005
+SV  /ALIC.1/S10G.106   1005
+SV  /ALIC.1/S10G.110   1005
+SV  /ALIC.1/S10G.114   1005
+SV  /ALIC.1/S10G.118   1005
+SV  /ALIC.1/S10G.122   1005
+SV  /ALIC.1/S10I.26/S10P.1/S10H.1/S10G.1   1055
+SV  /ALIC.1/S10I.27/S10P.1/S10H.1/S10G.1   1055
+SV  /ALIC.1/S10I.28/S10P.1/S10H.1/S10G.1   1055
+SV  /ALIC.1/S10I.29/S10P.1/S10H.1/S10G.1   1055
+SV  /ALIC.1/S10I.30/S10P.1/S10H.1/S10G.1   1055
+SV  /ALIC.1/S10G.402   1055
+SV  /ALIC.1/S10G.406   1055
+SV  /ALIC.1/S10G.410   1055
+SV  /ALIC.1/S10G.414   1055
+SV  /ALIC.1/S10G.418   1055
+SV  /ALIC.1/S10G.422   1055
+SV  /ALIC.1/S10I.37/S10P.1/S10H.1/S10G.1   1008
+SV  /ALIC.1/S10I.38/S10P.1/S10H.1/S10G.1   1008
+SV  /ALIC.1/S10I.39/S10P.1/S10H.1/S10G.1   1008
+SV  /ALIC.1/S10I.40/S10P.1/S10H.1/S10G.1   1008
+SV  /ALIC.1/S10I.41/S10P.1/S10H.1/S10G.1   1008
+SV  /ALIC.1/S10I.42/S10P.1/S10H.1/S10G.1   1008
+SV  /ALIC.1/S10I.43/S10P.1/S10H.1/S10G.1   1058
+SV  /ALIC.1/S10I.44/S10P.1/S10H.1/S10G.1   1058
+SV  /ALIC.1/S10I.45/S10P.1/S10H.1/S10G.1   1058
+SV  /ALIC.1/S10I.46/S10P.1/S10H.1/S10G.1   1058
+SV  /ALIC.1/S10I.47/S10P.1/S10H.1/S10G.1   1058
+SV  /ALIC.1/S10I.48/S10P.1/S10H.1/S10G.1   1058
+SV  /ALIC.1/S10I.31/S10P.1/S10H.1/S10G.1   1004
+SV  /ALIC.1/S10I.32/S10P.1/S10H.1/S10G.1   1004
+SV  /ALIC.1/S10I.33/S10P.1/S10H.1/S10G.1   1004
+SV  /ALIC.1/S10I.34/S10P.1/S10H.1/S10G.1   1004
+SV  /ALIC.1/S10I.35/S10P.1/S10H.1/S10G.1   1004
+SV  /ALIC.1/S10I.36/S10P.1/S10H.1/S10G.1   1004
+SV  /ALIC.1/S10I.49/S10P.1/S10H.1/S10G.1   1054
+SV  /ALIC.1/S10I.50/S10P.1/S10H.1/S10G.1   1054
+SV  /ALIC.1/S10I.51/S10P.1/S10H.1/S10G.1   1054
+SV  /ALIC.1/S10I.52/S10P.1/S10H.1/S10G.1   1054
+SV  /ALIC.1/S10I.53/S10P.1/S10H.1/S10G.1   1054
+SV  /ALIC.1/S10I.54/S10P.1/S10H.1/S10G.1   1054
+SV  /ALIC.1/S10I.61/S10P.1/S10H.1/S10G.1   1009
+SV  /ALIC.1/S10I.62/S10P.1/S10H.1/S10G.1   1009
+SV  /ALIC.1/S10I.63/S10P.1/S10H.1/S10G.1   1009
+SV  /ALIC.1/S10I.64/S10P.1/S10H.1/S10G.1   1009
+SV  /ALIC.1/S10I.65/S10P.1/S10H.1/S10G.1   1009
+SV  /ALIC.1/S10I.66/S10P.1/S10H.1/S10G.1   1009
+SV  /ALIC.1/S10I.67/S10P.1/S10H.1/S10G.1   1059
+SV  /ALIC.1/S10I.68/S10P.1/S10H.1/S10G.1   1059
+SV  /ALIC.1/S10I.69/S10P.1/S10H.1/S10G.1   1059
+SV  /ALIC.1/S10I.70/S10P.1/S10H.1/S10G.1   1059
+SV  /ALIC.1/S10I.71/S10P.1/S10H.1/S10G.1   1059
+SV  /ALIC.1/S10I.72/S10P.1/S10H.1/S10G.1   1059
+SV  /ALIC.1/S10I.55/S10P.1/S10H.1/S10G.1   1003
+SV  /ALIC.1/S10I.56/S10P.1/S10H.1/S10G.1   1003
+SV  /ALIC.1/S10I.57/S10P.1/S10H.1/S10G.1   1003
+SV  /ALIC.1/S10I.58/S10P.1/S10H.1/S10G.1   1003
+SV  /ALIC.1/S10I.59/S10P.1/S10H.1/S10G.1   1003
+SV  /ALIC.1/S10I.60/S10P.1/S10H.1/S10G.1   1003
+SV  /ALIC.1/S10I.73/S10P.1/S10H.1/S10G.1   1053
+SV  /ALIC.1/S10I.74/S10P.1/S10H.1/S10G.1   1053
+SV  /ALIC.1/S10I.75/S10P.1/S10H.1/S10G.1   1053
+SV  /ALIC.1/S10I.76/S10P.1/S10H.1/S10G.1   1053
+SV  /ALIC.1/S10I.77/S10P.1/S10H.1/S10G.1   1053
+SV  /ALIC.1/S10I.78/S10P.1/S10H.1/S10G.1   1053
+SV  /ALIC.1/S10I.84/S10P.1/S10H.1/S10G.1   1010
+SV  /ALIC.1/S10I.85/S10P.1/S10H.1/S10G.1   1010
+SV  /ALIC.1/S10I.86/S10P.1/S10H.1/S10G.1   1010
+SV  /ALIC.1/S10I.87/S10P.1/S10H.1/S10G.1   1010
+SV  /ALIC.1/S10I.88/S10P.1/S10H.1/S10G.1   1010
+SV  /ALIC.1/S10I.89/S10P.1/S10H.1/S10G.1   1060
+SV  /ALIC.1/S10I.90/S10P.1/S10H.1/S10G.1   1060
+SV  /ALIC.1/S10I.91/S10P.1/S10H.1/S10G.1   1060
+SV  /ALIC.1/S10I.92/S10P.1/S10H.1/S10G.1   1060
+SV  /ALIC.1/S10I.93/S10P.1/S10H.1/S10G.1   1060
+SV  /ALIC.1/S10I.79/S10P.1/S10H.1/S10G.1   1002
+SV  /ALIC.1/S10I.80/S10P.1/S10H.1/S10G.1   1002
+SV  /ALIC.1/S10I.81/S10P.1/S10H.1/S10G.1   1002
+SV  /ALIC.1/S10I.82/S10P.1/S10H.1/S10G.1   1002
+SV  /ALIC.1/S10I.83/S10P.1/S10H.1/S10G.1   1002
+SV  /ALIC.1/S10I.94/S10P.1/S10H.1/S10G.1   1052
+SV  /ALIC.1/S10I.95/S10P.1/S10H.1/S10G.1   1052
+SV  /ALIC.1/S10I.96/S10P.1/S10H.1/S10G.1   1052
+SV  /ALIC.1/S10I.97/S10P.1/S10H.1/S10G.1   1052
+SV  /ALIC.1/S10I.98/S10P.1/S10H.1/S10G.1   1052
+SV  /ALIC.1/S10I.103/S10P.1/S10H.1/S10G.1   1011
+SV  /ALIC.1/S10I.104/S10P.1/S10H.1/S10G.1   1011
+SV  /ALIC.1/S10I.105/S10P.1/S10H.1/S10G.1   1011
+SV  /ALIC.1/S10I.106/S10P.1/S10H.1/S10G.1   1011
+SV  /ALIC.1/S10I.107/S10P.1/S10H.1/S10G.1   1061
+SV  /ALIC.1/S10I.108/S10P.1/S10H.1/S10G.1   1061
+SV  /ALIC.1/S10I.109/S10P.1/S10H.1/S10G.1   1061
+SV  /ALIC.1/S10I.110/S10P.1/S10H.1/S10G.1   1061
+SV  /ALIC.1/S10I.99/S10P.1/S10H.1/S10G.1   1001
+SV  /ALIC.1/S10I.100/S10P.1/S10H.1/S10G.1   1001
+SV  /ALIC.1/S10I.101/S10P.1/S10H.1/S10G.1   1001
+SV  /ALIC.1/S10I.102/S10P.1/S10H.1/S10G.1   1001
+SV  /ALIC.1/S10I.111/S10P.1/S10H.1/S10G.1   1051
+SV  /ALIC.1/S10I.112/S10P.1/S10H.1/S10G.1   1051
+SV  /ALIC.1/S10I.113/S10P.1/S10H.1/S10G.1   1051
+SV  /ALIC.1/S10I.114/S10P.1/S10H.1/S10G.1   1051
+SV  /ALIC.1/S10I.118/S10P.1/S10H.1/S10G.1   1012
+SV  /ALIC.1/S10I.119/S10P.1/S10H.1/S10G.1   1012
+SV  /ALIC.1/S10I.120/S10P.1/S10H.1/S10G.1   1012
+SV  /ALIC.1/S10I.121/S10P.1/S10H.1/S10G.1   1062
+SV  /ALIC.1/S10I.122/S10P.1/S10H.1/S10G.1   1062
+SV  /ALIC.1/S10I.123/S10P.1/S10H.1/S10G.1   1062
+SV  /ALIC.1/S10I.115/S10P.1/S10H.1/S10G.1   1000
+SV  /ALIC.1/S10I.116/S10P.1/S10H.1/S10G.1   1000
+SV  /ALIC.1/S10I.117/S10P.1/S10H.1/S10G.1   1000
+SV  /ALIC.1/S10I.124/S10P.1/S10H.1/S10G.1   1050
+SV  /ALIC.1/S10I.125/S10P.1/S10H.1/S10G.1   1050
+SV  /ALIC.1/S10I.126/S10P.1/S10H.1/S10G.1   1050
+
diff --git a/MUON/data/svmap_st1.dat b/MUON/data/svmap_st1.dat
new file mode 100644 (file)
index 0000000..fe08bbf
--- /dev/null
@@ -0,0 +1,4 @@
+SV  /ALIC.1/S01M.1/S01A.1/S01G.1    100
+
+SV  /ALIC.1/S02M.1/S02A.1/S02G.1    200
+
diff --git a/MUON/data/svmap_st1V2.dat b/MUON/data/svmap_st1V2.dat
new file mode 100644 (file)
index 0000000..404a912
--- /dev/null
@@ -0,0 +1,90 @@
+SV  /ALIC.1/SQM1.1/SA1G.1    100
+SV  /ALIC.1/SQM1.1/SB1G.1    100
+SV  /ALIC.1/SQM1.1/SC1G.1    100
+SV  /ALIC.1/SQM1.1/SD1G.1    100
+SV  /ALIC.1/SQM1.1/SE1G.1    100
+SV  /ALIC.1/SQM1.1/SF1G.1    100
+SV  /ALIC.1/SQM1.1/SG1G.1    100
+SV  /ALIC.1/SQM1.1/SH1G.1    100
+SV  /ALIC.1/SQM1.1/SI1G.1    100
+SV  /ALIC.1/SQM1.1/SJ1G.1    100
+SV  /ALIC.1/SQM1.1/SK1G.1    100
+SV  /ALIC.1/SQM1.2/SA1G.1    151
+SV  /ALIC.1/SQM1.2/SB1G.1    151
+SV  /ALIC.1/SQM1.2/SC1G.1    151
+SV  /ALIC.1/SQM1.2/SD1G.1    151
+SV  /ALIC.1/SQM1.2/SE1G.1    151
+SV  /ALIC.1/SQM1.2/SF1G.1    151
+SV  /ALIC.1/SQM1.2/SG1G.1    151
+SV  /ALIC.1/SQM1.2/SH1G.1    151
+SV  /ALIC.1/SQM1.2/SI1G.1    151
+SV  /ALIC.1/SQM1.2/SJ1G.1    151
+SV  /ALIC.1/SQM1.2/SK1G.1    151
+SV  /ALIC.1/SQM1.3/SA1G.1    150
+SV  /ALIC.1/SQM1.3/SB1G.1    150
+SV  /ALIC.1/SQM1.3/SC1G.1    150
+SV  /ALIC.1/SQM1.3/SD1G.1    150
+SV  /ALIC.1/SQM1.3/SE1G.1    150
+SV  /ALIC.1/SQM1.3/SF1G.1    150
+SV  /ALIC.1/SQM1.3/SG1G.1    150
+SV  /ALIC.1/SQM1.3/SH1G.1    150
+SV  /ALIC.1/SQM1.3/SI1G.1    150
+SV  /ALIC.1/SQM1.3/SJ1G.1    150
+SV  /ALIC.1/SQM1.3/SK1G.1    150
+SV  /ALIC.1/SQM1.4/SA1G.1    101
+SV  /ALIC.1/SQM1.4/SB1G.1    101
+SV  /ALIC.1/SQM1.4/SC1G.1    101
+SV  /ALIC.1/SQM1.4/SD1G.1    101
+SV  /ALIC.1/SQM1.4/SE1G.1    101
+SV  /ALIC.1/SQM1.4/SF1G.1    101
+SV  /ALIC.1/SQM1.4/SG1G.1    101
+SV  /ALIC.1/SQM1.4/SH1G.1    101
+SV  /ALIC.1/SQM1.4/SI1G.1    101
+SV  /ALIC.1/SQM1.4/SJ1G.1    101
+SV  /ALIC.1/SQM1.4/SK1G.1    101
+
+SV  /ALIC.1/SQM2.1/SA2G.1    200
+SV  /ALIC.1/SQM2.1/SB2G.1    200
+SV  /ALIC.1/SQM2.1/SC2G.1    200
+SV  /ALIC.1/SQM2.1/SD2G.1    200
+SV  /ALIC.1/SQM2.1/SE2G.1    200
+SV  /ALIC.1/SQM2.1/SF2G.1    200
+SV  /ALIC.1/SQM2.1/SG2G.1    200
+SV  /ALIC.1/SQM2.1/SH2G.1    200
+SV  /ALIC.1/SQM2.1/SI2G.1    200
+SV  /ALIC.1/SQM2.1/SJ2G.1    200
+SV  /ALIC.1/SQM2.1/SK2G.1    200
+SV  /ALIC.1/SQM2.2/SA2G.1    251
+SV  /ALIC.1/SQM2.2/SB2G.1    251
+SV  /ALIC.1/SQM2.2/SC2G.1    251
+SV  /ALIC.1/SQM2.2/SD2G.1    251
+SV  /ALIC.1/SQM2.2/SE2G.1    251
+SV  /ALIC.1/SQM2.2/SF2G.1    251
+SV  /ALIC.1/SQM2.2/SG2G.1    251
+SV  /ALIC.1/SQM2.2/SH2G.1    251
+SV  /ALIC.1/SQM2.2/SI2G.1    251
+SV  /ALIC.1/SQM2.2/SJ2G.1    251
+SV  /ALIC.1/SQM2.2/SK2G.1    251
+SV  /ALIC.1/SQM2.3/SA2G.1    250
+SV  /ALIC.1/SQM2.3/SB2G.1    250
+SV  /ALIC.1/SQM2.3/SC2G.1    250
+SV  /ALIC.1/SQM2.3/SD2G.1    250
+SV  /ALIC.1/SQM2.3/SE2G.1    250
+SV  /ALIC.1/SQM2.3/SF2G.1    250
+SV  /ALIC.1/SQM2.3/SG2G.1    250
+SV  /ALIC.1/SQM2.3/SH2G.1    250
+SV  /ALIC.1/SQM2.3/SI2G.1    250
+SV  /ALIC.1/SQM2.3/SJ2G.1    250
+SV  /ALIC.1/SQM2.3/SK2G.1    250
+SV  /ALIC.1/SQM2.4/SA2G.1    201
+SV  /ALIC.1/SQM2.4/SB2G.1    201
+SV  /ALIC.1/SQM2.4/SC2G.1    201
+SV  /ALIC.1/SQM2.4/SD2G.1    201
+SV  /ALIC.1/SQM2.4/SE2G.1    201
+SV  /ALIC.1/SQM2.4/SF2G.1    201
+SV  /ALIC.1/SQM2.4/SG2G.1    201
+SV  /ALIC.1/SQM2.4/SH2G.1    201
+SV  /ALIC.1/SQM2.4/SI2G.1    201
+SV  /ALIC.1/SQM2.4/SJ2G.1    201
+SV  /ALIC.1/SQM2.4/SK2G.1    201
+
diff --git a/MUON/data/svmap_st2.dat b/MUON/data/svmap_st2.dat
new file mode 100644 (file)
index 0000000..1189764
--- /dev/null
@@ -0,0 +1,4 @@
+SV  /ALIC.1/S03M.1/S03A.1/S03G.1    300
+
+SV  /ALIC.1/S04M.1/S04A.1/S04G.1    400
+
diff --git a/MUON/data/svmap_trigger.dat b/MUON/data/svmap_trigger.dat
new file mode 100644 (file)
index 0000000..e8be9a5
--- /dev/null
@@ -0,0 +1,92 @@
+SV  /ALIC.1/SC1A.1/SB1A.1/SG1A.1   1104
+SV  /ALIC.1/SC1A.2/SB1A.1/SG1A.1   1154
+SV  /ALIC.1/SC1A.3/SB1A.1/SG1A.1   1103
+SV  /ALIC.1/SC1A.7/SB1A.1/SG1A.1   1103
+SV  /ALIC.1/SC1A.4/SB1A.1/SG1A.1   1105
+SV  /ALIC.1/SC1A.8/SB1A.1/SG1A.1   1105
+SV  /ALIC.1/SC1A.5/SB1A.1/SG1A.1   1153
+SV  /ALIC.1/SC1A.9/SB1A.1/SG1A.1   1153
+SV  /ALIC.1/SC1A.6/SB1A.1/SG1A.1   1155
+SV  /ALIC.1/SC1A.10/SB1A.1/SG1A.1   1155
+SV  /ALIC.1/SC1A.11/SB1A.1/SG1A.1   1102
+SV  /ALIC.1/SC1A.12/SB1A.1/SG1A.1   1106
+SV  /ALIC.1/SC1A.13/SB1A.1/SG1A.1   1152
+SV  /ALIC.1/SC1A.14/SB1A.1/SG1A.1   1156
+SV  /ALIC.1/SC1A.15/SB1A.1/SG1A.1   1101
+SV  /ALIC.1/SC1A.16/SB1A.1/SG1A.1   1107
+SV  /ALIC.1/SC1A.17/SB1A.1/SG1A.1   1151
+SV  /ALIC.1/SC1A.18/SB1A.1/SG1A.1   1157
+SV  /ALIC.1/SC1A.19/SB1A.1/SG1A.1   1100
+SV  /ALIC.1/SC1A.20/SB1A.1/SG1A.1   1108
+SV  /ALIC.1/SC1A.21/SB1A.1/SG1A.1   1150
+SV  /ALIC.1/SC1A.22/SB1A.1/SG1A.1   1158
+
+SV  /ALIC.1/SC2A.1/SB2A.1/SG2A.1   1204
+SV  /ALIC.1/SC2A.2/SB2A.1/SG2A.1   1254
+SV  /ALIC.1/SC2A.3/SB2A.1/SG2A.1   1203
+SV  /ALIC.1/SC2A.7/SB2A.1/SG2A.1   1203
+SV  /ALIC.1/SC2A.4/SB2A.1/SG2A.1   1205
+SV  /ALIC.1/SC2A.8/SB2A.1/SG2A.1   1205
+SV  /ALIC.1/SC2A.5/SB2A.1/SG2A.1   1253
+SV  /ALIC.1/SC2A.9/SB2A.1/SG2A.1   1253
+SV  /ALIC.1/SC2A.6/SB2A.1/SG2A.1   1255
+SV  /ALIC.1/SC2A.10/SB2A.1/SG2A.1   1255
+SV  /ALIC.1/SC2A.11/SB2A.1/SG2A.1   1202
+SV  /ALIC.1/SC2A.12/SB2A.1/SG2A.1   1206
+SV  /ALIC.1/SC2A.13/SB2A.1/SG2A.1   1252
+SV  /ALIC.1/SC2A.14/SB2A.1/SG2A.1   1256
+SV  /ALIC.1/SC2A.15/SB2A.1/SG2A.1   1201
+SV  /ALIC.1/SC2A.16/SB2A.1/SG2A.1   1207
+SV  /ALIC.1/SC2A.17/SB2A.1/SG2A.1   1251
+SV  /ALIC.1/SC2A.18/SB2A.1/SG2A.1   1257
+SV  /ALIC.1/SC2A.19/SB2A.1/SG2A.1   1200
+SV  /ALIC.1/SC2A.20/SB2A.1/SG2A.1   1208
+SV  /ALIC.1/SC2A.21/SB2A.1/SG2A.1   1250
+SV  /ALIC.1/SC2A.22/SB2A.1/SG2A.1   1258
+
+SV  /ALIC.1/SC3A.1/SB3A.1/SG3A.1   1304
+SV  /ALIC.1/SC3A.2/SB3A.1/SG3A.1   1354
+SV  /ALIC.1/SC3A.3/SB3A.1/SG3A.1   1303
+SV  /ALIC.1/SC3A.7/SB3A.1/SG3A.1   1303
+SV  /ALIC.1/SC3A.4/SB3A.1/SG3A.1   1305
+SV  /ALIC.1/SC3A.8/SB3A.1/SG3A.1   1305
+SV  /ALIC.1/SC3A.5/SB3A.1/SG3A.1   1353
+SV  /ALIC.1/SC3A.9/SB3A.1/SG3A.1   1353
+SV  /ALIC.1/SC3A.6/SB3A.1/SG3A.1   1355
+SV  /ALIC.1/SC3A.10/SB3A.1/SG3A.1   1355
+SV  /ALIC.1/SC3A.11/SB3A.1/SG3A.1   1302
+SV  /ALIC.1/SC3A.12/SB3A.1/SG3A.1   1306
+SV  /ALIC.1/SC3A.13/SB3A.1/SG3A.1   1352
+SV  /ALIC.1/SC3A.14/SB3A.1/SG3A.1   1356
+SV  /ALIC.1/SC3A.15/SB3A.1/SG3A.1   1301
+SV  /ALIC.1/SC3A.16/SB3A.1/SG3A.1   1307
+SV  /ALIC.1/SC3A.17/SB3A.1/SG3A.1   1351
+SV  /ALIC.1/SC3A.18/SB3A.1/SG3A.1   1357
+SV  /ALIC.1/SC3A.19/SB3A.1/SG3A.1   1300
+SV  /ALIC.1/SC3A.20/SB3A.1/SG3A.1   1308
+SV  /ALIC.1/SC3A.21/SB3A.1/SG3A.1   1350
+SV  /ALIC.1/SC3A.22/SB3A.1/SG3A.1   1358
+
+SV  /ALIC.1/SC4A.1/SB4A.1/SG4A.1   1404
+SV  /ALIC.1/SC4A.2/SB4A.1/SG4A.1   1454
+SV  /ALIC.1/SC4A.3/SB4A.1/SG4A.1   1403
+SV  /ALIC.1/SC4A.7/SB4A.1/SG4A.1   1403
+SV  /ALIC.1/SC4A.4/SB4A.1/SG4A.1   1405
+SV  /ALIC.1/SC4A.8/SB4A.1/SG4A.1   1405
+SV  /ALIC.1/SC4A.5/SB4A.1/SG4A.1   1453
+SV  /ALIC.1/SC4A.9/SB4A.1/SG4A.1   1453
+SV  /ALIC.1/SC4A.6/SB4A.1/SG4A.1   1455
+SV  /ALIC.1/SC4A.10/SB4A.1/SG4A.1   1455
+SV  /ALIC.1/SC4A.11/SB4A.1/SG4A.1   1402
+SV  /ALIC.1/SC4A.12/SB4A.1/SG4A.1   1406
+SV  /ALIC.1/SC4A.13/SB4A.1/SG4A.1   1452
+SV  /ALIC.1/SC4A.14/SB4A.1/SG4A.1   1456
+SV  /ALIC.1/SC4A.15/SB4A.1/SG4A.1   1401
+SV  /ALIC.1/SC4A.16/SB4A.1/SG4A.1   1407
+SV  /ALIC.1/SC4A.17/SB4A.1/SG4A.1   1451
+SV  /ALIC.1/SC4A.18/SB4A.1/SG4A.1   1457
+SV  /ALIC.1/SC4A.19/SB4A.1/SG4A.1   1400
+SV  /ALIC.1/SC4A.20/SB4A.1/SG4A.1   1408
+SV  /ALIC.1/SC4A.21/SB4A.1/SG4A.1   1450
+SV  /ALIC.1/SC4A.22/SB4A.1/SG4A.1   1458
+
diff --git a/MUON/data/transform_slat.dat b/MUON/data/transform_slat.dat
new file mode 100644 (file)
index 0000000..a13d611
--- /dev/null
@@ -0,0 +1,153 @@
+CH    5     pos:     0.0000      0.0000    964.0000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+CH    6     pos:     0.0000      0.0000    986.0000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+CH    7     pos:     0.0000      0.0000   1251.5000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+CH    8     pos:     0.0000      0.0000   1278.5000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+CH    9     pos:     0.0000      0.0000   1416.5000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+CH   10     pos:     0.0000      0.0000   1443.5000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+
+DE  504    LA4    1   pos:    79.5000      0.0000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  554    LA13    1   pos:   -79.5000      0.0000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  505    LA5    1   pos:    79.5000     38.5000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  555    LA14    1   pos:   -79.5000     38.5000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  503    LA3    1   pos:    79.5000    -38.5000      2.4798   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  553    LA12    1   pos:   -79.5000    -38.5000     -0.8376   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  506    LA6    1   pos:    79.5000     77.0000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  556    LA15    1   pos:   -79.5000     77.0000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  502    LA2    1   pos:    79.5000    -77.0000      0.8376   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  552    LA11    1   pos:   -79.5000    -77.0000     -2.4798   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  507    LA7    1   pos:    62.0000    115.5000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  557    LA16    1   pos:   -62.0000    115.5000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  501    LA1    1   pos:    62.0000   -115.5000      2.4798   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  551    LA10    1   pos:   -62.0000   -115.5000     -0.8376   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  508    LA8    1   pos:    42.0000    154.0000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  558    LA17    1   pos:   -42.0000    154.0000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  500    LA0    1   pos:    42.0000   -154.0000      0.8376   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  550    LA9    1   pos:   -42.0000   -154.0000     -2.4798   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+
+DE  604    LB4    1   pos:    82.0000      0.0000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  654    LB13    1   pos:   -82.0000      0.0000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  605    LB5    1   pos:    82.0000     38.5000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  655    LB14    1   pos:   -82.0000     38.5000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  603    LB3    1   pos:    82.0000    -38.5000      2.4798   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  653    LB12    1   pos:   -82.0000    -38.5000     -0.8376   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  606    LB6    1   pos:    82.0000     77.0000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  656    LB15    1   pos:   -82.0000     77.0000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  602    LB2    1   pos:    82.0000    -77.0000      0.8376   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  652    LB11    1   pos:   -82.0000    -77.0000     -2.4798   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  607    LB7    1   pos:    62.0000    115.5000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  657    LB16    1   pos:   -62.0000    115.5000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  601    LB1    1   pos:    62.0000   -115.5000      2.4798   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  651    LB10    1   pos:   -62.0000   -115.5000     -0.8376   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  608    LB8    1   pos:    42.0000    154.0000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  658    LB17    1   pos:   -42.0000    154.0000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  600    LB0    1   pos:    42.0000   -154.0000      0.8376   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  650    LB9    1   pos:   -42.0000   -154.0000     -2.4798   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+
+DE  706    LC6    1   pos:   140.5000      0.0000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  756    LC19    1   pos:  -140.5000      0.0000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  707    LC7    1   pos:   122.0000     38.5000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  757    LC20    1   pos:  -122.0000     38.5000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  705    LC5    1   pos:   122.0000    -38.5000      0.8376   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  755    LC18    1   pos:  -122.0000    -38.5000     -2.4798   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  708    LC8    1   pos:   102.0000     77.0000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  758    LC21    1   pos:  -102.0000     77.0000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  704    LC4    1   pos:   102.0000    -77.0000      2.4798   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  754    LC17    1   pos:  -102.0000    -77.0000     -0.8376   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  709    LC9    1   pos:   102.0000    115.5000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  759    LC22    1   pos:  -102.0000    115.5000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  703    LC3    1   pos:   102.0000   -115.5000      0.8376   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  753    LC16    1   pos:  -102.0000   -115.5000     -2.4798   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  710    LC10    1   pos:    82.0000    154.0000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  760    LC23    1   pos:   -82.0000    154.0000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  702    LC2    1   pos:    82.0000   -154.0000      2.4798   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  752    LC15    1   pos:   -82.0000   -154.0000     -0.8376   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  711    LC11    1   pos:    62.0000    192.5000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  761    LC24    1   pos:   -62.0000    192.5000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  701    LC1    1   pos:    62.0000   -192.5000      0.8376   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  751    LC14    1   pos:   -62.0000   -192.5000     -2.4798   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  712    LC12    1   pos:    42.0000    231.0000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  762    LC25    1   pos:   -42.0000    231.0000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  700    LC0    1   pos:    42.0000   -231.0000      2.4798   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  750    LC13    1   pos:   -42.0000   -231.0000     -0.8376   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+
+DE  806    LD6    1   pos:   140.5000      0.0000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  856    LD19    1   pos:  -140.5000      0.0000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  807    LD7    1   pos:   122.0000     38.5000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  857    LD20    1   pos:  -122.0000     38.5000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  805    LD5    1   pos:   122.0000    -38.5000      0.8376   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  855    LD18    1   pos:  -122.0000    -38.5000     -2.4798   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  808    LD8    1   pos:   102.0000     77.0000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  858    LD21    1   pos:  -102.0000     77.0000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  804    LD4    1   pos:   102.0000    -77.0000      2.4798   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  854    LD17    1   pos:  -102.0000    -77.0000     -0.8376   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  809    LD9    1   pos:   102.0000    115.5000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  859    LD22    1   pos:  -102.0000    115.5000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  803    LD3    1   pos:   102.0000   -115.5000      0.8376   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  853    LD16    1   pos:  -102.0000   -115.5000     -2.4798   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  810    LD10    1   pos:    82.0000    154.0000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  860    LD23    1   pos:   -82.0000    154.0000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  802    LD2    1   pos:    82.0000   -154.0000      2.4798   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  852    LD15    1   pos:   -82.0000   -154.0000     -0.8376   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  811    LD11    1   pos:    62.0000    192.5000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  861    LD24    1   pos:   -62.0000    192.5000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  801    LD1    1   pos:    62.0000   -192.5000      0.8376   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  851    LD14    1   pos:   -62.0000   -192.5000     -2.4798   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  812    LD12    1   pos:    42.0000    231.0000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  862    LD25    1   pos:   -42.0000    231.0000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  800    LD0    1   pos:    42.0000   -231.0000      2.4798   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  850    LD13    1   pos:   -42.0000   -231.0000     -0.8376   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+
+DE  906    LE6    1   pos:   140.5000      0.0000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  956    LE19    1   pos:  -140.5000      0.0000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  907    LE7    1   pos:   122.0000     38.5000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  957    LE20    1   pos:  -122.0000     38.5000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  905    LE5    1   pos:   122.0000    -38.5000      2.4798   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  955    LE18    1   pos:  -122.0000    -38.5000     -0.8376   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  908    LE8    1   pos:   122.0000     77.0000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  958    LE21    1   pos:  -122.0000     77.0000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  904    LE4    1   pos:   122.0000    -77.0000      0.8376   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  954    LE17    1   pos:  -122.0000    -77.0000     -2.4798   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  909    LE9    1   pos:   122.0000    115.5000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  959    LE22    1   pos:  -122.0000    115.5000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  903    LE3    1   pos:   122.0000   -115.5000      2.4798   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  953    LE16    1   pos:  -122.0000   -115.5000     -0.8376   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  910    LE10    1   pos:   102.0000    154.0000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  960    LE23    1   pos:  -102.0000    154.0000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  902    LE2    1   pos:   102.0000   -154.0000      0.8376   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  952    LE15    1   pos:  -102.0000   -154.0000     -2.4798   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  911    LE11    1   pos:    82.0000    192.5000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  961    LE24    1   pos:   -82.0000    192.5000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  901    LE1    1   pos:    82.0000   -192.5000      2.4798   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  951    LE14    1   pos:   -82.0000   -192.5000     -0.8376   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  912    LE12    1   pos:    62.0000    231.0000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  962    LE25    1   pos:   -62.0000    231.0000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  900    LE0    1   pos:    62.0000   -231.0000      0.8376   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE  950    LE13    1   pos:   -62.0000   -231.0000     -2.4798   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+
+DE 1006    LF6    1   pos:   140.5000      0.0000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1056    LF19    1   pos:  -140.5000      0.0000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE 1007    LF7    1   pos:   122.0000     38.5000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1057    LF20    1   pos:  -122.0000     38.5000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE 1005    LF5    1   pos:   122.0000    -38.5000      2.4798   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE 1055    LF18    1   pos:  -122.0000    -38.5000     -0.8376   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE 1008    LF8    1   pos:   122.0000     77.0000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1058    LF21    1   pos:  -122.0000     77.0000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE 1004    LF4    1   pos:   122.0000    -77.0000      0.8376   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE 1054    LF17    1   pos:  -122.0000    -77.0000     -2.4798   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE 1009    LF9    1   pos:   122.0000    115.5000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1059    LF22    1   pos:  -122.0000    115.5000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE 1003    LF3    1   pos:   122.0000   -115.5000      2.4798   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE 1053    LF16    1   pos:  -122.0000   -115.5000     -0.8376   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE 1010    LF10    1   pos:   102.0000    154.0000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1060    LF23    1   pos:  -102.0000    154.0000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE 1002    LF2    1   pos:   102.0000   -154.0000      0.8376   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE 1052    LF15    1   pos:  -102.0000   -154.0000     -2.4798   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE 1011    LF11    1   pos:    82.0000    192.5000      2.4798   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1061    LF24    1   pos:   -82.0000    192.5000     -0.8376   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE 1001    LF1    1   pos:    82.0000   -192.5000      2.4798   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE 1051    LF14    1   pos:   -82.0000   -192.5000     -0.8376   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE 1012    LF12    1   pos:    62.0000    231.0000      0.8376   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1062    LF25    1   pos:   -62.0000    231.0000     -2.4798   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE 1000    LF0    1   pos:    62.0000   -231.0000      0.8376   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+DE 1050    LF13    1   pos:   -62.0000   -231.0000     -2.4798   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+
diff --git a/MUON/data/transform_st1.dat b/MUON/data/transform_st1.dat
new file mode 100644 (file)
index 0000000..3d170f7
--- /dev/null
@@ -0,0 +1,7 @@
+CH    1     pos:     0.0000      0.0000    533.5000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+CH    2     pos:     0.0000      0.0000    546.5000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+
+DE  100    S01M    1   pos:     0.0000      0.0000      0.0000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+
+DE  200    S02M    1   pos:     0.0000      0.0000      0.0000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+
diff --git a/MUON/data/transform_st1V2.dat b/MUON/data/transform_st1V2.dat
new file mode 100644 (file)
index 0000000..ad9b50b
--- /dev/null
@@ -0,0 +1,13 @@
+CH    1     pos:     0.0000      0.0000    533.5000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+CH    2     pos:     0.0000      0.0000    546.5000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+
+DE  100    SQM1    1   pos:    -2.6000     -2.6000      3.2500   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  151    SQM1    2   pos:     2.6000     -2.6000     -3.2500   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  150    SQM1    3   pos:     2.6000      2.6000      3.2500   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  101    SQM1    4   pos:    -2.6000      2.6000     -3.2500   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+
+DE  200    SQM2    1   pos:    -2.6000     -2.6000      3.2500   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE  251    SQM2    2   pos:     2.6000     -2.6000     -3.2500   rot:  90.0000  180.0000   90.0000   90.0000  180.0000    0.0000  
+DE  250    SQM2    3   pos:     2.6000      2.6000      3.2500   rot:  90.0000  180.0000   90.0000  270.0000    0.0000    0.0000  
+DE  201    SQM2    4   pos:    -2.6000      2.6000     -3.2500   rot:  90.0000    0.0000   90.0000  270.0000  180.0000    0.0000  
+
diff --git a/MUON/data/transform_st2.dat b/MUON/data/transform_st2.dat
new file mode 100644 (file)
index 0000000..22661a6
--- /dev/null
@@ -0,0 +1,7 @@
+CH    3     pos:     0.0000      0.0000    678.5000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+CH    4     pos:     0.0000      0.0000    693.5000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+
+DE  300    S03M    1   pos:     0.0000      0.0000      0.0000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+
+DE  400    S04M    1   pos:     0.0000      0.0000      0.0000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+
diff --git a/MUON/data/transform_trigger.dat b/MUON/data/transform_trigger.dat
new file mode 100644 (file)
index 0000000..8131644
--- /dev/null
@@ -0,0 +1,81 @@
+CH   11     pos:     0.0000      0.0000   1603.5000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+CH   12     pos:     0.0000      0.0000   1620.5000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+CH   13     pos:     0.0000      0.0000   1703.5000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+CH   14     pos:     0.0000      0.0000   1720.5000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+
+DE 1104    S0R5    1   pos:   155.0000      0.0000     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1154    S0L5    1   pos:  -155.0000      0.0000      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1103    S0R4    1   pos:   129.5000    -68.1530      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1105    S0R6    1   pos:   129.5000     68.1530      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1153    S0L4    1   pos:  -129.5000    -67.8477     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1155    S0L6    1   pos:  -129.5000     67.8477     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1102    S0R3    1   pos:   129.5000   -135.6953     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1106    S0R7    1   pos:   129.5000    135.6953     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1152    S0L3    1   pos:  -129.5000   -136.3060      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1156    S0L7    1   pos:  -129.5000    136.3060      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1101    S0R2    1   pos:   129.5000   -204.4590      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1107    S0R8    1   pos:   129.5000    204.4590      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1151    S0L2    1   pos:  -129.5000   -203.5430     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1157    S0L8    1   pos:  -129.5000    203.5430     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1100    S0R1    1   pos:   129.5000   -271.3907     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1108    S0R9    1   pos:   129.5000    271.3907     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1150    S0L1    1   pos:  -129.5000   -272.6120      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1158    S0L9    1   pos:  -129.5000    272.6120      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+
+DE 1204    S1R5    1   pos:   156.6433      0.0000     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1254    S1L5    1   pos:  -156.6433      0.0000      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1203    S1R4    1   pos:   130.8729    -68.8756      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1205    S1R6    1   pos:   130.8729     68.8755      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1253    S1L4    1   pos:  -130.8729    -68.5670     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1255    S1L6    1   pos:  -130.8729     68.5670     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1202    S1R3    1   pos:   130.8729   -137.1340     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1206    S1R7    1   pos:   130.8729    137.1340     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1252    S1L3    1   pos:  -130.8729   -137.7511      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1256    S1L7    1   pos:  -130.8729    137.7511      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1201    S1R2    1   pos:   130.8729   -206.6266      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1207    S1R8    1   pos:   130.8729    206.6266      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1251    S1L2    1   pos:  -130.8729   -205.7009     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1257    S1L8    1   pos:  -130.8729    205.7009     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1200    S1R1    1   pos:   130.8729   -274.2679     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1208    S1R9    1   pos:   130.8729    274.2679     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1250    S1L1    1   pos:  -130.8729   -275.5022      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1258    S1L9    1   pos:  -130.8729    275.5022      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+
+DE 1304    S2R5    1   pos:   164.6664      0.0000     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1354    S2L5    1   pos:  -164.6664      0.0000      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1303    S2R4    1   pos:   137.5761    -72.4033      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1305    S2R6    1   pos:   137.5761     72.4033      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1353    S2L4    1   pos:  -137.5761    -72.0789     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1355    S2L6    1   pos:  -137.5761     72.0789     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1302    S2R3    1   pos:   137.5761   -144.1578     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1306    S2R7    1   pos:   137.5761    144.1578     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1352    S2L3    1   pos:  -137.5761   -144.8065      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1356    S2L7    1   pos:  -137.5761    144.8065      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1301    S2R2    1   pos:   137.5761   -217.2098      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1307    S2R8    1   pos:   137.5761    217.2098      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1351    S2L2    1   pos:  -137.5761   -216.2367     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1357    S2L8    1   pos:  -137.5761    216.2367     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1300    S2R1    1   pos:   137.5761   -288.3156     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1308    S2R9    1   pos:   137.5761    288.3156     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1350    S2L1    1   pos:  -137.5761   -289.6131      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1358    S2L9    1   pos:  -137.5761    289.6131      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+
+DE 1404    S3R5    1   pos:   166.3096      0.0000     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1454    S3L5    1   pos:  -166.3096      0.0000      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1403    S3R4    1   pos:   138.9490    -73.1258      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1405    S3R6    1   pos:   138.9490     73.1258      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1453    S3L4    1   pos:  -138.9490    -72.7982     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1455    S3L6    1   pos:  -138.9490     72.7982     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1402    S3R3    1   pos:   138.9490   -145.5964     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1406    S3R7    1   pos:   138.9490    145.5964     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1452    S3L3    1   pos:  -138.9490   -146.2516      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1456    S3L7    1   pos:  -138.9490    146.2516      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1401    S3R2    1   pos:   138.9490   -219.3774      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1407    S3R8    1   pos:   138.9490    219.3774      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1451    S3L2    1   pos:  -138.9490   -218.3946     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1457    S3L8    1   pos:  -138.9490    218.3946     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1400    S3R1    1   pos:   138.9490   -291.1928     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1408    S3R9    1   pos:   138.9490    291.1928     -3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1450    S3L1    1   pos:  -138.9490   -292.5033      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+DE 1458    S3L9    1   pos:  -138.9490    292.5033      3.6000   rot:  90.0000    0.0000   90.0000   90.0000    0.0000    0.0000  
+
diff --git a/MUON/libMUONmapping.pkg b/MUON/libMUONmapping.pkg
new file mode 100644 (file)
index 0000000..931d325
--- /dev/null
@@ -0,0 +1,83 @@
+#
+# mapping 
+#
+
+# Category basic
+#
+SRCS +=  \
+        mapping/AliMpArea.cxx  \
+        mapping/AliMpConstants.cxx  \
+        mapping/AliMpIntPair.cxx  \
+        mapping/AliMpPad.cxx  \
+        mapping/AliMpPadIteratorPtr.cxx  \
+        mapping/AliMpPadPair.cxx  \
+        mapping/AliMpTransformer.cxx  \
+        mapping/AliMpTransformPadIterator.cxx  \
+        mapping/AliMpVIndexed.cxx  \
+        mapping/AliMpVPadIterator.cxx  \
+        mapping/AliMpVSegmentation.cxx  \
+
+# Category motif
+#
+SRCS +=  \
+        mapping/AliMpConnection.cxx  \
+        mapping/AliMpMotif.cxx  \
+        mapping/AliMpMotifMap.cxx  \
+        mapping/AliMpMotifPosition.cxx  \
+        mapping/AliMpMotifPositionPadIterator.cxx  \
+        mapping/AliMpMotifSpecial.cxx  \
+        mapping/AliMpMotifType.cxx  \
+        mapping/AliMpMotifTypePadIterator.cxx  \
+        mapping/AliMpVMotif.cxx  \
+
+# Category sector
+#
+SRCS +=  \
+        mapping/AliMpFiles.cxx  \
+        mapping/AliMpNeighboursPadIterator.cxx  \
+        mapping/AliMpPadRow.cxx  \
+        mapping/AliMpPadRowLSegment.cxx  \
+        mapping/AliMpPadRowRSegment.cxx  \
+        mapping/AliMpReader.cxx  \
+        mapping/AliMpRow.cxx  \
+        mapping/AliMpRowSegment.cxx  \
+        mapping/AliMpRowSegmentLSpecial.cxx  \
+        mapping/AliMpRowSegmentRSpecial.cxx  \
+        mapping/AliMpSectorAreaHPadIterator.cxx  \
+        mapping/AliMpSectorAreaVPadIterator.cxx  \
+        mapping/AliMpSector.cxx  \
+        mapping/AliMpSectorPadIterator.cxx  \
+        mapping/AliMpSectorSegmentation.cxx  \
+        mapping/AliMpSubZone.cxx  \
+        mapping/AliMpVPadRowSegment.cxx  \
+        mapping/AliMpVRowSegment.cxx  \
+        mapping/AliMpVRowSegmentSpecial.cxx  \
+        mapping/AliMpZone.cxx  \
+
+# Category plane
+#
+SRCS +=  \
+        mapping/AliMpPlaneAreaPadIterator.cxx  \
+        mapping/AliMpPlane.cxx  \
+        mapping/AliMpPlaneSegmentation.cxx  \
+        mapping/AliMpSectorPosition.cxx  \
+
+# Category graphics
+#
+SRCS +=  \
+        mapping/AliMpGraphContext.cxx  \
+        mapping/AliMpMotifPainter.cxx  \
+        mapping/AliMpRowPainter.cxx  \
+        mapping/AliMpRowSegmentPainter.cxx  \
+        mapping/AliMpSectorPainter.cxx  \
+        mapping/AliMpSubZonePainter.cxx  \
+        mapping/AliMpVPainter.cxx  \
+        mapping/AliMpZonePainter.cxx  \
+
+HDRS         =  $(SRCS:.cxx=.h) 
+
+DHDR:= MUONLinkDefMapping.h
+
+EINCLUDE:= RAW MUON/mapping
+
+SUBDIR := mapping