FEDRA emulsion software from the OPERA Collaboration
|
#include <EdbScanSet.h>
Public Member Functions | |
Bool_t | AddID (EdbID *id, Int_t step) |
Int_t | AssembleBrickFromPC () |
EdbBrickP & | Brick () |
const EdbBrickP & | Brick () const |
void | Copy (EdbScanSet &sc) |
EdbScanSet (EdbID id) | |
EdbScanSet (int brickid=0) | |
EdbID * | FindNextPlateID (Int_t p, Bool_t direction) |
EdbID * | FindPlateID (Int_t p) |
Bool_t | GetAffP2P (Int_t p1, Int_t p2, EdbAffine2D &aff) |
Float_t | GetDZP2P (Int_t p1, Int_t p2) |
EdbID * | GetID (Int_t i) |
EdbLayer * | GetLayer (Int_t p, Int_t side) |
EdbPlateP * | GetPlate (Int_t p) |
void | MakeNominalSet (EdbID id, int from_plate=57, int to_plate=1, float z0=0, float dz=-1300, float shr=1, float dzbase=210., float dzem=45.) |
Int_t | MakeParFiles (Int_t piece=0, const char *dir=".") |
void | MakePIDList () |
void | Print () |
void | ReadGeom (const char *fname) |
Int_t | ReadIDS (const char *file) |
void | RemovePlate (int pid) |
Bool_t | SetAsReferencePlate (Int_t pid) |
void | SetID (EdbID id) |
Int_t | ShiftBrickZ (Float_t z) |
Int_t | TransformBrick (EdbAffine2D aff) |
void | TransformBrick (EdbScanSet &ss) |
Int_t | TransformSidesIntoBrickRS () |
void | UpdateBrickWithP2P (EdbLayer &la, int plate1, int plate2) |
void | UpdateGap (float dz, int pid1, int pid2) |
void | UpdateIDS (int brick, int ma, int mi) |
bool | ValidSide (int side) const |
void | WriteGeom (const char *fname) |
Int_t | WriteIDS (const char *file=0) |
float | Zlayer (int plate, int side) |
virtual | ~EdbScanSet () |
Public Attributes | |
EdbBrickP | eB |
all layers of the brick defined here More... | |
EdbID | eID |
id of the scanset itself More... | |
TList | eIDS |
list of the identifiers to be processed More... | |
TObjArray | ePC |
Plate Couples. Each couple represented as EdbPlateP where 2 sides in reality corresponds to 2 plates. More... | |
TIndexCell | ePID |
correspondance between index in eB and the plate id More... | |
Int_t | eReferencePlate |
EdbScanSet::EdbScanSet | ( | EdbID | id | ) |
EdbScanSet::EdbScanSet | ( | int | brickid = 0 | ) |
|
inlinevirtual |
Bool_t EdbScanSet::AddID | ( | EdbID * | id, |
Int_t | step | ||
) |
Int_t EdbScanSet::AssembleBrickFromPC | ( | ) |
input: ePC - couples of layers represented as "plates" output: brick with a first plate as a reference one
void EdbScanSet::Copy | ( | EdbScanSet & | sc | ) |
copy from ss to this
EdbID * EdbScanSet::FindNextPlateID | ( | Int_t | p, |
Bool_t | direction | ||
) |
< find next valid identifier in respect to plate in positive or negative direction (+-1)
EdbID * EdbScanSet::FindPlateID | ( | Int_t | p | ) |
Bool_t EdbScanSet::GetAffP2P | ( | Int_t | p1, |
Int_t | p2, | ||
EdbAffine2D & | aff | ||
) |
Float_t EdbScanSet::GetDZP2P | ( | Int_t | p1, |
Int_t | p2 | ||
) |
input: p1 - id of the "from-plate" p2 - id of the "to-plate" return: dz - segment of from-plate propagated to dz become in to-plate
|
inline |
|
inline |
void EdbScanSet::MakeNominalSet | ( | EdbID | id, |
int | from_plate = 57 , |
||
int | to_plate = 1 , |
||
float | z0 = 0 , |
||
float | dz = -1300 , |
||
float | shr = 1 , |
||
float | dzbase = 210. , |
||
float | dzem = 45. |
||
) |
Int_t EdbScanSet::MakeParFiles | ( | Int_t | piece = 0 , |
const char * | dir = "." |
||
) |
prepare par files for the dataset for "recset-like" processing
void EdbScanSet::MakePIDList | ( | ) |
void EdbScanSet::Print | ( | ) |
void EdbScanSet::ReadGeom | ( | const char * | fname | ) |
Int_t EdbScanSet::ReadIDS | ( | const char * | file | ) |
void EdbScanSet::RemovePlate | ( | int | pid | ) |
Remove both from eB and from eIDS all data corresponding to plate id note that gaps and affine transformations may become inconsistent and had to be updated after this operation
Bool_t EdbScanSet::SetAsReferencePlate | ( | Int_t | pid | ) |
Int_t EdbScanSet::ShiftBrickZ | ( | Float_t | z | ) |
Int_t EdbScanSet::TransformBrick | ( | EdbAffine2D | aff | ) |
void EdbScanSet::TransformBrick | ( | EdbScanSet & | ss | ) |
Int_t EdbScanSet::TransformSidesIntoBrickRS | ( | ) |
to put layers 1&2 of each plate into brick reference system - to have absolute transformations for microtracks
update the brick geometry with aff & dz defined in layer (plate1->plate2) in this version assumed that plate1 and plate2 are consequtive in the brick Note eReferencePlate should be correctly defined
void EdbScanSet::UpdateGap | ( | float | dz, |
int | pid1, | ||
int | pid2 | ||
) |
update gap between plates pid1 and pid2. All updates will be done in a way to have the reference plate unchanged
void EdbScanSet::UpdateIDS | ( | int | brick, |
int | ma, | ||
int | mi | ||
) |
update all identifiers in dataset with (brik,ma,mi) keeping plateids unchanged
|
inline |
void EdbScanSet::WriteGeom | ( | const char * | fname | ) |
Int_t EdbScanSet::WriteIDS | ( | const char * | file = 0 | ) |
|
inline |
EdbBrickP EdbScanSet::eB |
all layers of the brick defined here
EdbID EdbScanSet::eID |
id of the scanset itself
TList EdbScanSet::eIDS |
list of the identifiers to be processed
TObjArray EdbScanSet::ePC |
Plate Couples. Each couple represented as EdbPlateP where 2 sides in reality corresponds to 2 plates.
TIndexCell EdbScanSet::ePID |
correspondance between index in eB and the plate id
Int_t EdbScanSet::eReferencePlate |